diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html index 6cb9282490..7dc080fd81 100644 --- a/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html +++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.proposals.html @@ -973,6 +973,9 @@

Method Details

The object takes the form of: { # Request message for indicating that the proposal's setup step is complete. + "externalDealIds": [ # The external deal ids of the deals to mark as setup completed. If empty, all the deals in the proposal will be marked as setup completed. + "A String", + ], } x__xgafv: string, V1 error format. diff --git a/docs/dyn/admin_directory_v1.users.html b/docs/dyn/admin_directory_v1.users.html index a6bb41d121..e1a945d243 100644 --- a/docs/dyn/admin_directory_v1.users.html +++ b/docs/dyn/admin_directory_v1.users.html @@ -89,7 +89,7 @@

Instance Methods

Close httplib2 connections.

createGuest(body=None, x__xgafv=None)

-

Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Alpha. Please reach out to support if you are interested in trying this feature.

+

Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.

delete(userKey, x__xgafv=None)

Deletes a user.

@@ -131,15 +131,15 @@

Method Details

createGuest(body=None, x__xgafv=None) -
Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Alpha. Please reach out to support if you are interested in trying this feature.
+  
Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.
 
 Args:
   body: object, The request body.
     The object takes the form of:
 
 { # Directory users guest creation request message.
-  "customer": "A String", # Optional. Immutable ID of the Google Workspace account.
-  "primaryGuestEmail": "A String", # Immutable. External email of the guest user being created.
+  "customer": "A String", # Optional. Immutable ID of the Google Workspace account. Only required when request is created by a service account. Defaults to the authenticated user's customer ID otherwise.
+  "primaryGuestEmail": "A String", # Required. External email of the guest user being created.
 }
 
   x__xgafv: string, V1 error format.
@@ -156,6 +156,7 @@ 

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -211,6 +212,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -260,6 +262,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -315,6 +318,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -335,6 +339,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -390,6 +395,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -410,6 +416,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -465,6 +472,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -528,6 +536,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -583,6 +592,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -640,6 +650,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -695,6 +706,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -714,6 +726,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -769,6 +782,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -823,6 +837,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -878,6 +893,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. @@ -897,6 +913,7 @@

Method Details

"aliases": [ # Output only. The list of the user's alias email addresses. "A String", ], + "archivalTime": "A String", # Output only. User's account archival time. (Read-only) "archived": True or False, # Indicates if user is archived. "changePasswordAtNextLogin": True or False, # Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity provider](https://support.google.com/a/answer/60224). "creationTime": "A String", # User's G Suite account creation time. (Read-only) @@ -952,6 +969,7 @@

Method Details

"sshPublicKeys": "", # A list of SSH public keys. "suspended": True or False, # Indicates if user is suspended. "suspensionReason": "A String", # Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property is `true`. + "suspensionTime": "A String", # Output only. User's account suspension time. (Read-only) "thumbnailPhotoEtag": "A String", # Output only. ETag of the user's photo (Read-only) "thumbnailPhotoUrl": "A String", # Output only. The URL of the user's profile photo. The URL might be temporary or private. "websites": "", # The user's websites. The maximum allowed data size for this field is 2KB. diff --git a/docs/dyn/aiplatform_v1.batchPredictionJobs.html b/docs/dyn/aiplatform_v1.batchPredictionJobs.html index 0d415f94bf..509080446a 100644 --- a/docs/dyn/aiplatform_v1.batchPredictionJobs.html +++ b/docs/dyn/aiplatform_v1.batchPredictionJobs.html @@ -113,10 +113,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -127,7 +127,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -483,10 +483,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -497,7 +497,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -859,10 +859,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -873,7 +873,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1241,10 +1241,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1255,7 +1255,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. diff --git a/docs/dyn/aiplatform_v1.endpoints.html b/docs/dyn/aiplatform_v1.endpoints.html index fcb1a00741..022cd06c50 100644 --- a/docs/dyn/aiplatform_v1.endpoints.html +++ b/docs/dyn/aiplatform_v1.endpoints.html @@ -522,6 +522,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1107,6 +1113,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2006,6 +2018,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1.projects.locations.batchPredictionJobs.html b/docs/dyn/aiplatform_v1.projects.locations.batchPredictionJobs.html index d002edfb23..57678daf42 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.batchPredictionJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.batchPredictionJobs.html @@ -144,10 +144,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -158,7 +158,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -513,10 +513,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -527,7 +527,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -924,10 +924,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -938,7 +938,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1306,10 +1306,10 @@

Method Details

"createTime": "A String", # Output only. Time when the BatchPredictionJob was created. "dedicatedResources": { # A description of resources that are used for performing batch operations, are dedicated to a Model, and need manual configuration. # The config of resources used by the Model during the batch prediction. If the Model supports DEDICATED_RESOURCES this config may be provided (and the job will use these resources), if the Model doesn't support AUTOMATIC_RESOURCES, this config must be provided. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1320,7 +1320,7 @@

Method Details

"tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. diff --git a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html index c1ea0d93a6..e8f060904b 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html +++ b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html @@ -301,6 +301,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -712,6 +718,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1148,6 +1160,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1570,6 +1588,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2000,6 +2024,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2412,6 +2442,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1.projects.locations.customJobs.html b/docs/dyn/aiplatform_v1.projects.locations.customJobs.html index 4b03e934dc..b5a158472f 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.customJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.customJobs.html @@ -221,10 +221,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -365,10 +365,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -551,10 +551,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -708,10 +708,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.deploymentResourcePools.html b/docs/dyn/aiplatform_v1.projects.locations.deploymentResourcePools.html index 4995592373..4017f26cb5 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.deploymentResourcePools.html +++ b/docs/dyn/aiplatform_v1.projects.locations.deploymentResourcePools.html @@ -132,10 +132,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -145,7 +145,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -250,10 +250,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -263,7 +263,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -307,10 +307,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -320,7 +320,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -372,10 +372,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -385,7 +385,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -456,8 +456,8 @@

Method Details

], "deployedModels": [ # DEPRECATED Use deployed_model_refs instead. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -470,10 +470,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -483,7 +483,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). diff --git a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html index 5af24c86cf..126af775d0 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html +++ b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html @@ -590,6 +590,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -831,8 +837,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -845,10 +851,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -858,7 +864,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -1138,8 +1144,8 @@

Method Details

{ # Request message for EndpointService.DeployModel. "deployedModel": { # A deployment of a Model. Endpoints contain one or more DeployedModels. # Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -1152,10 +1158,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1165,7 +1171,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -2071,6 +2077,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2586,8 +2598,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -2600,10 +2612,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -2613,7 +2625,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -2849,8 +2861,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -2863,10 +2875,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -2876,7 +2888,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -3109,8 +3121,8 @@

Method Details

{ # Request message for EndpointService.MutateDeployedModel. "deployedModel": { # A deployment of a Model. Endpoints contain one or more DeployedModels. # Required. The DeployedModel to be mutated within the Endpoint. Only the following fields can be mutated: * `min_replica_count` in either DedicatedResources or AutomaticResources * `max_replica_count` in either DedicatedResources or AutomaticResources * `required_replica_count` in DedicatedResources * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only) * `scale_to_zero_spec` in DedicatedResources (v1beta1 only) * `initial_replica_count` in DedicatedResources (v1beta1 only) - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3123,10 +3135,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -3136,7 +3148,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -3336,8 +3348,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3350,10 +3362,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -3363,7 +3375,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -3585,8 +3597,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3599,10 +3611,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -3612,7 +3624,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -4452,6 +4464,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5048,8 +5066,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -5062,10 +5080,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -5075,7 +5093,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). diff --git a/docs/dyn/aiplatform_v1.projects.locations.featureOnlineStores.featureViews.html b/docs/dyn/aiplatform_v1.projects.locations.featureOnlineStores.featureViews.html index 6bb7374062..05a75fab11 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.featureOnlineStores.featureViews.html +++ b/docs/dyn/aiplatform_v1.projects.locations.featureOnlineStores.featureViews.html @@ -186,8 +186,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -544,8 +544,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -662,8 +662,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -751,8 +751,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, diff --git a/docs/dyn/aiplatform_v1.projects.locations.html b/docs/dyn/aiplatform_v1.projects.locations.html index 1f15326b01..f187b030ba 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.html +++ b/docs/dyn/aiplatform_v1.projects.locations.html @@ -358,6 +358,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -636,6 +642,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1246,10 +1258,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1259,7 +1271,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -1968,7 +1980,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. @@ -2260,6 +2272,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2570,6 +2588,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2951,6 +2975,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3174,6 +3204,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5332,6 +5368,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1.projects.locations.hyperparameterTuningJobs.html b/docs/dyn/aiplatform_v1.projects.locations.hyperparameterTuningJobs.html index 98989672fe..3a6e1a43a8 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.hyperparameterTuningJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.hyperparameterTuningJobs.html @@ -324,10 +324,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -603,10 +603,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -924,10 +924,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1216,10 +1216,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.indexEndpoints.html b/docs/dyn/aiplatform_v1.projects.locations.indexEndpoints.html index 70c9682302..e2b908bab3 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.indexEndpoints.html +++ b/docs/dyn/aiplatform_v1.projects.locations.indexEndpoints.html @@ -134,8 +134,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -147,10 +147,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -160,7 +160,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -320,8 +320,8 @@

Method Details

{ # Request message for IndexEndpointService.DeployIndex. "deployedIndex": { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. # Required. The DeployedIndex to be created within the IndexEndpoint. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -333,10 +333,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -346,7 +346,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -571,8 +571,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -584,10 +584,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -597,7 +597,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -707,8 +707,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -720,10 +720,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -733,7 +733,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -846,8 +846,8 @@

Method Details

The object takes the form of: { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -859,10 +859,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -872,7 +872,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -963,8 +963,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -976,10 +976,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -989,7 +989,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -1087,8 +1087,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -1100,10 +1100,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1113,7 +1113,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). diff --git a/docs/dyn/aiplatform_v1.projects.locations.nasJobs.html b/docs/dyn/aiplatform_v1.projects.locations.nasJobs.html index f2d0904810..789bb575ef 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.nasJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.nasJobs.html @@ -277,10 +277,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -387,10 +387,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -585,10 +585,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -695,10 +695,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -935,10 +935,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1045,10 +1045,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1256,10 +1256,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1366,10 +1366,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.notebookExecutionJobs.html b/docs/dyn/aiplatform_v1.projects.locations.notebookExecutionJobs.html index 2a018030ce..3feb5a650f 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.notebookExecutionJobs.html +++ b/docs/dyn/aiplatform_v1.projects.locations.notebookExecutionJobs.html @@ -116,10 +116,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -134,9 +134,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -268,10 +268,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -286,9 +286,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -363,10 +363,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -381,9 +381,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. diff --git a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html index 3c75c241ee..d59a88d119 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html +++ b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimeTemplates.html @@ -126,9 +126,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -149,10 +149,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -284,9 +284,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -307,10 +307,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -421,9 +421,9 @@

Method Details

"notebookRuntimeTemplates": [ # List of NotebookRuntimeTemplates in the requested page. { # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -444,10 +444,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -526,9 +526,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -549,10 +549,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -614,9 +614,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -637,10 +637,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimes.html b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimes.html index 5bd64dc5fd..53bf9bdc3d 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimes.html +++ b/docs/dyn/aiplatform_v1.projects.locations.notebookRuntimes.html @@ -119,9 +119,9 @@

Method Details

{ # Request message for NotebookService.AssignNotebookRuntime. "notebookRuntime": { # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. # Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -143,10 +143,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -294,9 +294,9 @@

Method Details

{ # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -318,10 +318,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -406,9 +406,9 @@

Method Details

"notebookRuntimes": [ # List of NotebookRuntimes in the requested page. { # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -430,10 +430,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.persistentResources.html b/docs/dyn/aiplatform_v1.projects.locations.persistentResources.html index 4cffce0c67..991866d4f9 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.persistentResources.html +++ b/docs/dyn/aiplatform_v1.projects.locations.persistentResources.html @@ -163,10 +163,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -335,10 +335,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -448,10 +448,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -567,10 +567,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. diff --git a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html index b5e97ef962..f4676f6faf 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html +++ b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html @@ -529,6 +529,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1263,6 +1269,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2390,6 +2402,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html index 940999c606..200d5512e4 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html +++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html @@ -559,7 +559,7 @@

Method Details

"updateTime": "A String", # Output only. Represents the timestamp when this Memory was most recently updated. } - updateMask: string, Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact` + updateMask: string, Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type` x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html index 29b0d1e5f9..09c27cb5bf 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html @@ -135,6 +135,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -246,6 +254,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -300,6 +316,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. diff --git a/docs/dyn/aiplatform_v1.projects.locations.schedules.html b/docs/dyn/aiplatform_v1.projects.locations.schedules.html index 1e757c9b50..d3bcc30f61 100644 --- a/docs/dyn/aiplatform_v1.projects.locations.schedules.html +++ b/docs/dyn/aiplatform_v1.projects.locations.schedules.html @@ -129,10 +129,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -147,9 +147,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -462,10 +462,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -480,9 +480,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -837,10 +837,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -855,9 +855,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -1184,10 +1184,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1202,9 +1202,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -1535,10 +1535,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1553,9 +1553,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -1869,10 +1869,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1887,9 +1887,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. diff --git a/docs/dyn/aiplatform_v1.publishers.models.html b/docs/dyn/aiplatform_v1.publishers.models.html index 9a358c7eb9..567068a491 100644 --- a/docs/dyn/aiplatform_v1.publishers.models.html +++ b/docs/dyn/aiplatform_v1.publishers.models.html @@ -515,6 +515,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1100,6 +1106,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1647,8 +1659,8 @@

Method Details

}, "deploy": { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. # Optional. Deploy the PublisherModel to Vertex Endpoint. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -1785,10 +1797,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1798,7 +1810,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -1827,8 +1839,8 @@

Method Details

"multiDeployVertex": [ # Optional. One click deployment configurations. { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -1965,10 +1977,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. "key": "A String", # Optional. Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name` as the key and specify the name of your reservation as its value. "reservationAffinityType": "A String", # Required. Specifies the reservation affinity type. @@ -1978,7 +1990,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). @@ -2574,6 +2586,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironmentTemplates.html index 645d06e1bc..9d0a06baac 100644 --- a/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1.reasoningEngines.sandboxEnvironmentTemplates.html @@ -135,6 +135,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -246,6 +254,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -300,6 +316,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. diff --git a/docs/dyn/aiplatform_v1.v1.html b/docs/dyn/aiplatform_v1.v1.html index c49956c1b0..fc245f4d6a 100644 --- a/docs/dyn/aiplatform_v1.v1.html +++ b/docs/dyn/aiplatform_v1.v1.html @@ -597,7 +597,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. @@ -889,6 +889,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1199,6 +1205,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1580,6 +1592,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1803,6 +1821,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3960,6 +3984,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.batchPredictionJobs.html b/docs/dyn/aiplatform_v1beta1.batchPredictionJobs.html index b3343a149c..93d2e5d6c1 100644 --- a/docs/dyn/aiplatform_v1beta1.batchPredictionJobs.html +++ b/docs/dyn/aiplatform_v1beta1.batchPredictionJobs.html @@ -116,10 +116,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -133,7 +133,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -622,10 +622,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -639,7 +639,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1134,10 +1134,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1151,7 +1151,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1652,10 +1652,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1669,7 +1669,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. diff --git a/docs/dyn/aiplatform_v1beta1.endpoints.html b/docs/dyn/aiplatform_v1beta1.endpoints.html index 1142b2ef46..47cf2a83fb 100644 --- a/docs/dyn/aiplatform_v1beta1.endpoints.html +++ b/docs/dyn/aiplatform_v1beta1.endpoints.html @@ -531,6 +531,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1130,6 +1136,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2050,6 +2062,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.html b/docs/dyn/aiplatform_v1beta1.html index 8b9d912064..85a75c6fa9 100644 --- a/docs/dyn/aiplatform_v1beta1.html +++ b/docs/dyn/aiplatform_v1beta1.html @@ -294,11 +294,6 @@

Instance Methods

Returns the semanticGovernancePolicies Resource.

-

- semanticGovernancePolicyEngine() -

-

Returns the semanticGovernancePolicyEngine Resource.

-

servingProfiles()

diff --git a/docs/dyn/aiplatform_v1beta1.interactions.html b/docs/dyn/aiplatform_v1beta1.interactions.html index d35744131e..8e85b5fd25 100644 --- a/docs/dyn/aiplatform_v1beta1.interactions.html +++ b/docs/dyn/aiplatform_v1beta1.interactions.html @@ -80,9 +80,6 @@

Instance Methods

close()

Close httplib2 connections.

-

- delete(name, x__xgafv=None)

-

Deletes an interaction.

getPoll(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)

Fully typed proto, unary version of GetInteraction that returns Interaction proto.

@@ -109,6 +106,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -1031,6 +1029,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -1515,6 +1515,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -1571,8 +1593,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -1630,8 +1650,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -2470,487 +2488,301 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], - }, - }, - ], - }, - "steps": [ # Output only. The steps that make up the interaction. - { # A step in the interaction. - "modelOutput": { # Output generated by the model. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -2969,45 +2801,234 @@

Method Details

}, ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, + }, + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. + }, + }, + ], + }, + "contentString": "A String", # The content of the step. A single string. + }, + }, + ], + }, + "steps": [ # Required. Output only. The steps that make up the interaction. + { # A step in the interaction. + "modelOutput": { # Output generated by the model. + "content": [ + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. { # Citation information for model-generated content. "end_index": 42, # End of the attributed segment, exclusive. "file_citation": { # A file citation annotation. # A file citation annotation. @@ -3740,454 +3761,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -4771,31 +4795,6 @@

Method Details

Close httplib2 connections.
-
- delete(name, x__xgafv=None) -
Deletes an interaction.
-
-Args:
-  name: string, Required. The name of the interaction to delete. Format: interactions/{interaction} (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
-  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
-  "data": "A String", # The HTTP request/response body as raw binary.
-  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
-    {
-      "a_key": "", # Properties of the object. Contains field @type with type URL.
-    },
-  ],
-}
-
-
getPoll(name, include_input=None, last_event_id=None, stream=None, x__xgafv=None)
Fully typed proto, unary version of GetInteraction that returns Interaction proto.
@@ -4818,6 +4817,7 @@ 

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -5740,6 +5740,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -6224,6 +6226,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -6280,8 +6304,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -6339,8 +6361,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -7179,487 +7199,301 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. + ], + "text": "A String", # Required. The text content. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], - }, - }, - ], - }, - "steps": [ # Output only. The steps that make up the interaction. - { # A step in the interaction. - "modelOutput": { # Output generated by the model. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", @@ -7678,50 +7512,239 @@

Method Details

}, ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, + }, + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. + }, + }, + ], + }, + "contentString": "A String", # The content of the step. A single string. + }, + }, + ], + }, + "steps": [ # Required. Output only. The steps that make up the interaction. + { # A step in the interaction. + "modelOutput": { # Output generated by the model. + "content": [ + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. { # Represents a single field in a struct. "name": "A String", "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. @@ -8449,454 +8472,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -10409,6 +10435,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -11331,6 +11358,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -11815,6 +11844,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -11871,8 +11922,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -11930,8 +11979,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -12770,459 +12817,462 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -14040,454 +14090,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, - ], - "url": "A String", # URI reference of the place. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, + "name": "A String", # Required. The name of the tool to call. }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], + ], + }, }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, ], + "url": "A String", # URI reference of the place. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -15071,6 +15124,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -15993,6 +16047,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -16477,6 +16533,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -16533,8 +16611,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -16592,8 +16668,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -17432,118 +17506,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, + }, + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -17555,201 +17836,246 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. }, }, ], - "text": "A String", # Required. The text content. }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, - "name": "A String", # Required. The name of the tool to call. }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + }, + ], + }, + "contentString": "A String", # The content of the step. A single string. + }, + }, + ], + }, + "steps": [ # Required. Output only. The steps that make up the interaction. + { # A step in the interaction. + "modelOutput": { # Output generated by the model. + "content": [ + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { + "place_citation": { # A place citation annotation. # A place citation annotation. "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -17761,264 +18087,15 @@

Method Details

], "url": "A String", # URI reference of the place. }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], - }, - }, - ], - }, - "steps": [ # Output only. The steps that make up the interaction. - { # A step in the interaction. - "modelOutput": { # Output generated by the model. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, }, ], }, @@ -18702,454 +18779,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, + "name": "A String", # Required. The name of the tool to call. }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -19733,6 +19813,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -20655,6 +20736,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -21139,6 +21222,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -21195,8 +21300,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -21254,8 +21357,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -22094,459 +22195,462 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, ], }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], + ], + }, }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, ], + "url": "A String", # URI reference of the place. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -23364,454 +23468,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, + "name": "A String", # Required. The name of the tool to call. }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], + ], + }, }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, ], + "url": "A String", # URI reference of the place. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -24395,6 +24502,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -25317,6 +25425,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -25801,6 +25911,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -25857,8 +25989,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -25916,8 +26046,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -26756,118 +26884,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, + }, + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -26879,450 +27214,246 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. }, }, ], - "text": "A String", # Required. The text content. }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, - "name": "A String", # Required. The name of the tool to call. }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + }, + ], + }, + "contentString": "A String", # The content of the step. A single string. + }, + }, + ], + }, + "steps": [ # Required. Output only. The steps that make up the interaction. + { # A step in the interaction. + "modelOutput": { # Output generated by the model. + "content": [ + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], - }, - }, - ], - }, - "steps": [ # Output only. The steps that make up the interaction. - { # A step in the interaction. - "modelOutput": { # Output generated by the model. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. + "place_citation": { # A place citation annotation. # A place citation annotation. "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -28026,454 +28157,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, + "name": "A String", # Required. The name of the tool to call. }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -28976,108 +29110,428 @@

Method Details

# Object with schema name: GenaiValue ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, + }, + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. + }, + }, + ], + }, + "contentString": "A String", # The content of the turn. A single string. + "role": "A String", # The originator of this turn. Must be user for input or model for model output. + }, + ], + }, + "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage. + "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "grounding_tool_count": [ # Grounding tool count. + { # The number of grounding tool counts. + "count": 42, # The number of grounding tool counts. + "type": "A String", # The grounding tool type associated with the count. + }, + ], + "input_tokens_by_modality": [ # A breakdown of input token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "output_tokens_by_modality": [ # A breakdown of output token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content). + "total_input_tokens": 42, # Number of tokens in the prompt (context). + "total_output_tokens": 42, # Total number of tokens across all the generated responses. + "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models. + "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens). + "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s). + }, + }, + }, + "interactionStatusUpdate": { # The interaction status data, used for interaction.status_update events. + "interaction_id": "A String", + "status": "A String", + }, + "metadata": { # Optional metadata accompanying ANY streamed event. + "usage": { # Statistics on the interaction request's token usage. + "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "grounding_tool_count": [ # Grounding tool count. + { # The number of grounding tool counts. + "count": 42, # The number of grounding tool counts. + "type": "A String", # The grounding tool type associated with the count. + }, + ], + "input_tokens_by_modality": [ # A breakdown of input token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "output_tokens_by_modality": [ # A breakdown of output token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content). + "total_input_tokens": 42, # Number of tokens in the prompt (context). + "total_output_tokens": 42, # Total number of tokens across all the generated responses. + "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models. + "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens). + "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s). + }, + }, + "stepDelta": { # The step delta data, used for step.delta events. + "delta": { + "argumentsDelta": { + "arguments": "A String", + }, + "audio": { + "channels": 42, # The number of audio channels. + "data": "A String", + "mime_type": "A String", + "rate": 42, # Deprecated. Use sample_rate instead. The value is ignored. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", + }, + "document": { + "data": "A String", + "mime_type": "A String", + "uri": "A String", + }, + "functionResult": { + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, + "name": "A String", + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "image": { + "data": "A String", + "mime_type": "A String", + "resolution": "A String", # The resolution of the media. + "uri": "A String", + }, + "serverToolCall": { + "codeExecutionCall": { + "arguments": { # The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { + }, + "googleMapsCall": { + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, + }, + "googleSearchCall": { + "arguments": { # The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + }, + "mcpServerToolCall": { + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", + "server_name": "A String", + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { + "arguments": { # The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "serverToolResult": { + "codeExecutionResult": { + "is_error": True or False, + "result": "A String", + }, + "fileSearchResult": { + "result": [ + { # The result of the File Search. + }, + ], + }, + "googleMapsResult": { + "result": [ # The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { + "is_error": True or False, + "result": [ + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], - }, - }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, + ], + "text": "A String", # Required. The text content. }, - ], - }, - "contentString": "A String", # The content of the turn. A single string. - "role": "A String", # The originator of this turn. Must be user for input or model for model output. - }, - ], - }, - "updated": "A String", # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). - "usage": { # Statistics on the interaction request's token usage. # Output only. Statistics on the interaction request's token usage. - "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality. - { # The token count for a single response modality. - "modality": "A String", # The modality associated with the token count. - "tokens": 42, # Number of tokens for the modality. - }, - ], - "grounding_tool_count": [ # Grounding tool count. - { # The number of grounding tool counts. - "count": 42, # The number of grounding tool counts. - "type": "A String", # The grounding tool type associated with the count. - }, - ], - "input_tokens_by_modality": [ # A breakdown of input token usage by modality. - { # The token count for a single response modality. - "modality": "A String", # The modality associated with the token count. - "tokens": 42, # Number of tokens for the modality. - }, - ], - "output_tokens_by_modality": [ # A breakdown of output token usage by modality. - { # The token count for a single response modality. - "modality": "A String", # The modality associated with the token count. - "tokens": 42, # Number of tokens for the modality. + }, + ], }, - ], - "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality. - { # The token count for a single response modality. - "modality": "A String", # The modality associated with the token count. - "tokens": 42, # Number of tokens for the modality. + "name": "A String", + "server_name": "A String", + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, - ], - "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content). - "total_input_tokens": 42, # Number of tokens in the prompt (context). - "total_output_tokens": 42, # Total number of tokens across all the generated responses. - "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models. - "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens). - "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s). - }, - }, - }, - "interactionStatusUpdate": { # The interaction status data, used for interaction.status_update events. - "interaction_id": "A String", - "status": "A String", - }, - "stepDelta": { # The step delta data, used for step.delta events. - "delta": { - "argumentsDelta": { - "partial_arguments": "A String", - }, - "audio": { - "channels": 42, # The number of audio channels. - "data": "A String", - "mime_type": "A String", - "rate": 42, # Deprecated. Use sample_rate instead. The value is ignored. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", - }, - "document": { - "data": "A String", - "mime_type": "A String", - "uri": "A String", - }, - "image": { - "data": "A String", - "mime_type": "A String", - "resolution": "A String", # The resolution of the media. - "uri": "A String", + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { + "is_error": True or False, + "result": [ + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, "text": { "text": "A String", @@ -29983,495 +30437,498 @@

Method Details

"url": "A String", # The URL. }, }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result step. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, + }, + "userInput": { # Input provided by the user. + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "text": "A String", # Required. The text content. }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result step. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], - }, - }, - "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. + }, + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, }, }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, - }, - ], + ], + }, }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, ], + "url": "A String", # URI reference of the place. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, }, diff --git a/docs/dyn/aiplatform_v1beta1.projects.html b/docs/dyn/aiplatform_v1beta1.projects.html index 3256588629..14644521fc 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.html +++ b/docs/dyn/aiplatform_v1beta1.projects.html @@ -125,7 +125,8 @@

Method Details

An object of the form: { # This message contains configs of a publisher model. - "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # The prediction request/response logging config. + "dataSharingEnabledProvider": "A String", # Optional. The model provider (publisher) for which the customer has enabled data sharing. For publisher models that are configured to require data sharing, a prediction request is only allowed when the model's publisher matches this provider. Otherwise, the request is rejected. + "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # Optional. The prediction request/response logging config. "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging` "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. }, @@ -169,7 +170,8 @@

Method Details

{ # Request message for EndpointService.SetPublisherModelConfig. "publisherModelConfig": { # This message contains configs of a publisher model. # Required. The publisher model config. - "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # The prediction request/response logging config. + "dataSharingEnabledProvider": "A String", # Optional. The model provider (publisher) for which the customer has enabled data sharing. For publisher models that are configured to require data sharing, a prediction request is only allowed when the model's publisher matches this provider. Otherwise, the request is rejected. + "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # Optional. The prediction request/response logging config. "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging` "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. }, diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html index 84acb4cdd9..e273abf416 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agents.html @@ -84,22 +84,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a new Agent in a given location.

+

Creates an agent.

delete(name, x__xgafv=None)

-

Deletes the specific Agent.

+

Deletes an agent.

get(name, x__xgafv=None)

-

Gets details of the specific Agent.

+

Retrieves an agent.

list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists Agents in a given location.

+

Lists agents in a location.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the specific Agent.

+

Updates an agent.

Method Details

close() @@ -108,7 +108,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a new Agent in a given location.
+  
Creates an agent.
 
 Args:
   parent: string, Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`. (required)
@@ -116,28 +116,28 @@ 

Method Details

The object takes the form of: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. - "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026" - "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig. - "created": "A String", # Output only. Timestamp when the agent was created. + "base_agent": "A String", # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` + "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. + "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. - "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number. - "metadata": { # Optional. The metadata of the agent. + "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, - "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. - "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case. - "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction. - "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task. - { # A tool provides a list of actions that are available for the Agent during the process of executing the task. - "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp". + "name": "A String", # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. + "object": "A String", # Output only. The object type of the resource. For agents, the value is `agent`. + "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. + "tools": [ # Optional. The tools available to the agent. + { # A tool provides a list of actions available to the Agent during the process of executing a task. + "headers": { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`. "a_key": "A String", }, - "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp". - "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context" - "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp". + "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`. + "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "url": "A String", # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`. }, ], - "updated": "A String", # Output only. Timestamp when the agent was last updated. + "updated": "A String", # Output only. The time the agent was last updated. } x__xgafv: string, V1 error format. @@ -171,10 +171,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes the specific Agent.
+  
Deletes an agent.
 
 Args:
-  name: string, Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}` (required)
+  name: string, Required. The resource name of the agent to delete. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -206,10 +206,10 @@ 

Method Details

get(name, x__xgafv=None) -
Gets details of the specific Agent.
+  
Retrieves an agent.
 
 Args:
-  name: string, Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+  name: string, Required. The resource name of the agent to retrieve. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -219,40 +219,40 @@ 

Method Details

An object of the form: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. - "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026" - "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig. - "created": "A String", # Output only. Timestamp when the agent was created. + "base_agent": "A String", # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` + "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. + "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. - "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number. - "metadata": { # Optional. The metadata of the agent. + "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, - "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. - "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case. - "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction. - "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task. - { # A tool provides a list of actions that are available for the Agent during the process of executing the task. - "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp". + "name": "A String", # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. + "object": "A String", # Output only. The object type of the resource. For agents, the value is `agent`. + "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. + "tools": [ # Optional. The tools available to the agent. + { # A tool provides a list of actions available to the Agent during the process of executing a task. + "headers": { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`. "a_key": "A String", }, - "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp". - "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context" - "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp". + "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`. + "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "url": "A String", # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`. }, ], - "updated": "A String", # Output only. Timestamp when the agent was last updated. + "updated": "A String", # Output only. The time the agent was last updated. }
list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists Agents in a given location.
+  
Lists agents in a location.
 
 Args:
-  parent: string, Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location} (required)
-  orderBy: string, Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.
-  pageSize: integer, Optional. The maximum number of agents to return. The service may return fewer than this value. If unspecified, at most 100 agents will be returned.
-  pageToken: string, Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.
+  parent: string, Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}`. (required)
+  orderBy: string, Optional. A comma-separated list of fields to order by. Supported fields: * `create_time` * `update_time` Use `desc` after a field name for descending order. Example: `create_time desc`.
+  pageSize: integer, Optional. The maximum number of agents to return. The service may return fewer than this value. The maximum page size is 100; values above 100 will be coerced to 100. If unspecified, the default page size is 10.
+  pageToken: string, Optional. A page token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -262,33 +262,33 @@ 

Method Details

An object of the form: { # Response message for AgentService.ListAgents. - "agents": [ # A list of agents matching the request. + "agents": [ # The agents matching the request. { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. - "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026" - "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig. - "created": "A String", # Output only. Timestamp when the agent was created. + "base_agent": "A String", # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` + "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. + "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. - "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number. - "metadata": { # Optional. The metadata of the agent. + "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, - "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. - "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case. - "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction. - "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task. - { # A tool provides a list of actions that are available for the Agent during the process of executing the task. - "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp". + "name": "A String", # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. + "object": "A String", # Output only. The object type of the resource. For agents, the value is `agent`. + "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. + "tools": [ # Optional. The tools available to the agent. + { # A tool provides a list of actions available to the Agent during the process of executing a task. + "headers": { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`. "a_key": "A String", }, - "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp". - "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context" - "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp". + "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`. + "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "url": "A String", # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`. }, ], - "updated": "A String", # Output only. Timestamp when the agent was last updated. + "updated": "A String", # Output only. The time the agent was last updated. }, ], - "nextPageToken": "A String", # A token, which can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages. + "nextPageToken": "A String", # A token to retrieve the next page of results. Pass this value as ListAgentsRequest.page_token in a subsequent call. }
@@ -308,39 +308,39 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the specific Agent.
+  
Updates an agent.
 
 Args:
-  name: string, Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+  name: string, Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
-  "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026"
-  "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.
-  "created": "A String", # Output only. Timestamp when the agent was created.
+  "base_agent": "A String", # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+  "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+  "created": "A String", # Output only. The time the agent was created.
   "description": "A String", # Optional. The description of the agent.
-  "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.
-  "metadata": { # Optional. The metadata of the agent.
+  "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+  "metadata": { # Optional. The metadata for the agent.
     "a_key": "A String",
   },
-  "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
-  "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case.
-  "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.
-  "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task.
-    { # A tool provides a list of actions that are available for the Agent during the process of executing the task.
-      "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp".
+  "name": "A String", # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  "object": "A String", # Output only. The object type of the resource. For agents, the value is `agent`.
+  "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+  "tools": [ # Optional. The tools available to the agent.
+    { # A tool provides a list of actions available to the Agent during the process of executing a task.
+      "headers": { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
         "a_key": "A String",
       },
-      "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp".
-      "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context"
-      "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp".
+      "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+      "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+      "url": "A String", # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
     },
   ],
-  "updated": "A String", # Output only. Timestamp when the agent was last updated.
+  "updated": "A String", # Output only. The time the agent was last updated.
 }
 
-  updateMask: string, Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.
+  updateMask: string, Optional. The list of fields to update. If not present, all fields are updated.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -350,28 +350,28 @@ 

Method Details

An object of the form: { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task. - "base_agent": "A String", # Required. The base agent of the agent. Supported values: - "antigravity-preview-05-2026" - "base_environment": "", # Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig. - "created": "A String", # Output only. Timestamp when the agent was created. + "base_agent": "A String", # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026` + "base_environment": "", # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`. + "created": "A String", # Output only. The time the agent was created. "description": "A String", # Optional. The description of the agent. - "id": "A String", # Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number. - "metadata": { # Optional. The metadata of the agent. + "id": "A String", # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`. + "metadata": { # Optional. The metadata for the agent. "a_key": "A String", }, - "name": "A String", # Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. - "object": "A String", # Output only. The object type of this resource. Always set to "agent" in this case. - "system_instruction": "A String", # Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction. - "tools": [ # Optional. A list of tools that are available for the agent during the process of execucting the task. - { # A tool provides a list of actions that are available for the Agent during the process of executing the task. - "headers": { # Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is "mcp". + "name": "A String", # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. + "object": "A String", # Output only. The object type of the resource. For agents, the value is `agent`. + "system_instruction": "A String", # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction. + "tools": [ # Optional. The tools available to the agent. + { # A tool provides a list of actions available to the Agent during the process of executing a task. + "headers": { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`. "a_key": "A String", }, - "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is "mcp". - "type": "A String", # Required. Type of the tool. Supported types: - "code_execution" - "filesystem" - "google_search" - "mcp" - "url_context" - "url": "A String", # Optional. The full URL for the MCP server endpoint. Only applicable when `type` is "mcp". + "name": "A String", # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`. + "type": "A String", # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context` + "url": "A String", # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`. }, ], - "updated": "A String", # Output only. Timestamp when the agent was last updated. + "updated": "A String", # Output only. The time the agent was last updated. }
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.batchPredictionJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.batchPredictionJobs.html index abb8ec40a4..eb564ab078 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.batchPredictionJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.batchPredictionJobs.html @@ -147,10 +147,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -164,7 +164,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -652,10 +652,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -669,7 +669,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1199,10 +1199,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1216,7 +1216,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. @@ -1717,10 +1717,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1734,7 +1734,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "disableContainerLogging": True or False, # For custom-trained Models and AutoML Tabular Models, the container of the DeployedModel instances will send `stderr` and `stdout` streams to Cloud Logging by default. Please note that the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging/pricing). User can disable container logging by setting this flag to true. "displayName": "A String", # Required. The user-defined name of this BatchPredictionJob. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html index 7c49d837c6..5222efde2e 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html @@ -305,6 +305,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -727,6 +733,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1174,6 +1186,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1607,6 +1625,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2048,6 +2072,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2471,6 +2501,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.customJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.customJobs.html index ad12ff9dc9..3fcc7b8fb2 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.customJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.customJobs.html @@ -221,10 +221,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -367,10 +367,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -555,10 +555,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -714,10 +714,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html index 1e2efb0af9..9a94bab942 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html @@ -483,6 +483,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1066,6 +1072,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.deploymentResourcePools.html b/docs/dyn/aiplatform_v1beta1.projects.locations.deploymentResourcePools.html index e46379f4e2..041f7ed066 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.deploymentResourcePools.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.deploymentResourcePools.html @@ -139,10 +139,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -154,7 +154,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -270,10 +270,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -285,7 +285,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -340,10 +340,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -355,7 +355,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -418,10 +418,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -433,7 +433,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -508,8 +508,8 @@

Method Details

], "deployedModels": [ # DEPRECATED Use deployed_model_refs instead. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -529,10 +529,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -544,7 +544,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html index 7bd79425a3..a7765bb4fe 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html @@ -613,6 +613,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -861,8 +867,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -882,10 +888,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -897,7 +903,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -1203,8 +1209,8 @@

Method Details

{ # Request message for EndpointService.DeployModel. "deployedModel": { # A deployment of a Model. Endpoints contain one or more DeployedModels. # Required. The DeployedModel to be created within the Endpoint. Note that Endpoint.traffic_split must be updated for the DeployedModel to start receiving traffic, either as part of this call, or via EndpointService.UpdateEndpoint. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -1224,10 +1230,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1239,7 +1245,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -2302,6 +2308,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2831,8 +2843,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -2852,10 +2864,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2867,7 +2879,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -3163,8 +3175,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3184,10 +3196,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3199,7 +3211,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -3458,8 +3470,8 @@

Method Details

{ # Request message for EndpointService.MutateDeployedModel. "deployedModel": { # A deployment of a Model. Endpoints contain one or more DeployedModels. # Required. The DeployedModel to be mutated within the Endpoint. Only the following fields can be mutated: * `min_replica_count` in either DedicatedResources or AutomaticResources * `max_replica_count` in either DedicatedResources or AutomaticResources * `required_replica_count` in DedicatedResources * autoscaling_metric_specs * `disable_container_logging` (v1 only) * `enable_container_logging` (v1beta1 only) * `scale_to_zero_spec` in DedicatedResources (v1beta1 only) * `initial_replica_count` in DedicatedResources (v1beta1 only) - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3479,10 +3491,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3494,7 +3506,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -3716,8 +3728,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -3737,10 +3749,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3752,7 +3764,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -4000,8 +4012,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -4021,10 +4033,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -4036,7 +4048,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -4967,6 +4979,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5599,8 +5617,8 @@

Method Details

"dedicatedEndpointEnabled": True or False, # If true, the endpoint will be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS will be isolated from other users' traffic and will have better performance and reliability. Note: Once you enabled dedicated endpoint, you won't be able to send request to the shared DNS {region}-aiplatform.googleapis.com. The limitation will be removed soon. "deployedModels": [ # Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. { # A deployment of a Model. Endpoints contain one or more DeployedModels. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "checkpointId": "A String", # The checkpoint id of the model. @@ -5620,10 +5638,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -5635,7 +5653,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html index 029be95727..3cfdae478a 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html @@ -154,6 +154,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -384,6 +390,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -799,6 +811,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1029,6 +1047,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1443,6 +1467,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1673,6 +1703,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2134,6 +2170,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2364,6 +2406,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2779,6 +2827,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3009,6 +3063,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3423,6 +3483,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3653,6 +3719,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4114,6 +4186,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4344,6 +4422,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4759,6 +4843,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4989,6 +5079,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5403,6 +5499,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5633,6 +5735,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6094,6 +6202,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6324,6 +6438,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6739,6 +6859,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6969,6 +7095,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7383,6 +7515,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7613,6 +7751,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8116,6 +8260,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8346,6 +8496,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8761,6 +8917,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8991,6 +9153,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -9405,6 +9573,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -9635,6 +9809,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10096,6 +10276,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10326,6 +10512,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10741,6 +10933,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10971,6 +11169,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -11385,6 +11589,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -11615,6 +11825,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -12089,6 +12305,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -12319,6 +12541,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -12734,6 +12962,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -12964,6 +13198,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -13378,6 +13618,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -13608,6 +13854,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14069,6 +14321,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14299,6 +14557,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14714,6 +14978,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14944,6 +15214,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -15358,6 +15634,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -15588,6 +15870,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html index a9c4764dbf..745357588c 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html @@ -1395,6 +1395,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1625,6 +1631,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2040,6 +2052,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2270,6 +2288,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2684,6 +2708,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2914,6 +2944,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3443,6 +3479,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3809,6 +3851,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5411,6 +5459,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -5641,6 +5695,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6056,6 +6116,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6286,6 +6352,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6700,6 +6772,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6930,6 +7008,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7459,6 +7543,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7825,6 +7915,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -9469,6 +9565,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -9699,6 +9801,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10114,6 +10222,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10344,6 +10458,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10758,6 +10878,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -10988,6 +11114,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -11517,6 +11649,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -11883,6 +12021,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -13498,6 +13642,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -13728,6 +13878,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14143,6 +14299,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14373,6 +14535,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -14787,6 +14955,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -15017,6 +15191,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -15546,6 +15726,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -15912,6 +16098,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html index 6ef0cdef36..c6a627010c 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html @@ -141,6 +141,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -395,6 +401,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -691,6 +703,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -958,6 +976,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1231,6 +1255,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1486,6 +1516,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.featureOnlineStores.featureViews.html b/docs/dyn/aiplatform_v1beta1.projects.locations.featureOnlineStores.featureViews.html index 3ff9b94001..868b8dae6b 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.featureOnlineStores.featureViews.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.featureOnlineStores.featureViews.html @@ -189,8 +189,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -604,8 +604,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -736,8 +736,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, @@ -839,8 +839,8 @@

Method Details

}, "name": "A String", # Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}` "optimizedConfig": { # Configuration for FeatureViews created in Optimized FeatureOnlineStore. # Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, }, diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.html b/docs/dyn/aiplatform_v1beta1.projects.locations.html index d22572260c..0441795c9c 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.html @@ -384,6 +384,9 @@

Instance Methods

getRagEngineConfig(name, x__xgafv=None)

Gets a RagEngineConfig.

+

+ getSemanticGovernancePolicyEngine(name, x__xgafv=None)

+

Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

@@ -399,6 +402,9 @@

Instance Methods

updateRagEngineConfig(name, body=None, x__xgafv=None)

Updates a RagEngineConfig.

+

+ updateSemanticGovernancePolicyEngine(name, body=None, updateMask=None, x__xgafv=None)

+

Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.

Method Details

askContexts(parent, body=None, x__xgafv=None) @@ -452,6 +458,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -748,6 +760,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1393,10 +1411,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1408,7 +1426,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -1641,10 +1659,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1656,7 +1674,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -2216,7 +2234,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. @@ -2513,6 +2531,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2832,6 +2856,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3224,6 +3254,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3454,6 +3490,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -3776,6 +3818,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4006,6 +4054,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6199,6 +6253,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6728,6 +6788,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -6958,6 +7024,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7373,6 +7445,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -7603,6 +7681,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8017,6 +8101,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8247,6 +8337,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -8923,6 +9019,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -9228,6 +9330,43 @@

Method Details

}
+
+ getSemanticGovernancePolicyEngine(name, x__xgafv=None) +
Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.
+
+Args:
+  name: string, Required. The resource name of the SemanticGovernancePolicyEngine to retrieve. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Define a singleton SemanticGovernancePolicyEngine resource under a project and location.
+  "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicyEngine was created.
+  "gatewayConfigs": { # Optional. Configurations for gateways. The keys are user-defined names for each gateway.
+    "a_key": { # Configuration for a single gateway.
+      "dnsRecord": "A String", # Output only. The fully qualified record name of the created A-record in Cloud DNS.
+      "dnsZoneName": "A String", # Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.
+      "ipAddress": "A String", # Output only. The private IP address of the PSC endpoint.
+      "network": "A String", # Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}
+      "pscEndpoint": "A String", # Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.
+      "state": "A String", # Output only. The state of the Gateway configuration.
+      "subnetwork": "A String", # Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}
+    },
+  },
+  "ipAddress": "A String", # Output only. The private IPv4 address of the PSC endpoint.
+  "name": "A String", # Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine
+  "pscForwardingRule": "A String", # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
+  "pscServiceAttachment": "A String", # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
+  "state": "A String", # Output only. The state of the SemanticGovernancePolicyEngine.
+  "targetProject": "A String", # Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.
+  "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
+}
+
+
list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
@@ -9434,10 +9573,10 @@ 

Method Details

}, }, "machineSpec": { # Specification of a single machine. # Output only. The machine spec. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -9582,10 +9721,10 @@

Method Details

}, }, "machineSpec": { # Specification of a single machine. # Output only. The machine spec. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -9749,4 +9888,65 @@

Method Details

}
+
+ updateSemanticGovernancePolicyEngine(name, body=None, updateMask=None, x__xgafv=None) +
Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.
+
+Args:
+  name: string, Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Define a singleton SemanticGovernancePolicyEngine resource under a project and location.
+  "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicyEngine was created.
+  "gatewayConfigs": { # Optional. Configurations for gateways. The keys are user-defined names for each gateway.
+    "a_key": { # Configuration for a single gateway.
+      "dnsRecord": "A String", # Output only. The fully qualified record name of the created A-record in Cloud DNS.
+      "dnsZoneName": "A String", # Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.
+      "ipAddress": "A String", # Output only. The private IP address of the PSC endpoint.
+      "network": "A String", # Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}
+      "pscEndpoint": "A String", # Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.
+      "state": "A String", # Output only. The state of the Gateway configuration.
+      "subnetwork": "A String", # Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}
+    },
+  },
+  "ipAddress": "A String", # Output only. The private IPv4 address of the PSC endpoint.
+  "name": "A String", # Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine
+  "pscForwardingRule": "A String", # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
+  "pscServiceAttachment": "A String", # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
+  "state": "A String", # Output only. The state of the SemanticGovernancePolicyEngine.
+  "targetProject": "A String", # Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.
+  "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
+}
+
+  updateMask: string, Optional. Specifies the fields to be overwritten in the SemanticGovernancePolicyEngine resource by the update. The fields specified in the update_mask are relative to the resource itself. If no update_mask is provided, all fields are overwritten.
+  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.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.hyperparameterTuningJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.hyperparameterTuningJobs.html index d625e29b16..53565aee41 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.hyperparameterTuningJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.hyperparameterTuningJobs.html @@ -337,10 +337,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -631,10 +631,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -967,10 +967,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1274,10 +1274,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.indexEndpoints.html b/docs/dyn/aiplatform_v1beta1.projects.locations.indexEndpoints.html index ac535366af..adeef6c985 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.indexEndpoints.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.indexEndpoints.html @@ -134,8 +134,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -154,10 +154,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -169,7 +169,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -334,8 +334,8 @@

Method Details

{ # Request message for IndexEndpointService.DeployIndex. "deployedIndex": { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. # Required. The DeployedIndex to be created within the IndexEndpoint. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -354,10 +354,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -369,7 +369,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -598,8 +598,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -618,10 +618,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -633,7 +633,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -748,8 +748,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -768,10 +768,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -783,7 +783,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -901,8 +901,8 @@

Method Details

The object takes the form of: { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -921,10 +921,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -936,7 +936,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -1031,8 +1031,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -1051,10 +1051,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1066,7 +1066,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -1169,8 +1169,8 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this IndexEndpoint was created. "deployedIndexes": [ # Output only. The indexes deployed in this endpoint. { # A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # Optional. A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2 (we don't provide SLA when min_replica_count=1). If max_replica_count is not set, the default value is min_replica_count. The max allowed replica count is 1000. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "createTime": "A String", # Output only. Timestamp when the DeployedIndex was created. @@ -1189,10 +1189,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1204,7 +1204,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html index 00b2660a08..d0de91b0b9 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html @@ -83,6 +83,9 @@

Instance Methods

createStream(projectsId, locationsId, body=None, x__xgafv=None)

Creates an interaction and streams the response.

+

+ delete(name, x__xgafv=None)

+

Deletes an interaction.

Method Details

close() @@ -106,6 +109,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -1028,6 +1032,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -1512,6 +1518,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -1568,8 +1596,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -1627,8 +1653,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -2467,118 +2491,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -2590,336 +2821,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -3737,118 +3764,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -3860,331 +4094,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], }, }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -4778,6 +4808,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -5700,6 +5731,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -6184,6 +6217,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -6240,8 +6295,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -6299,8 +6352,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -7139,118 +7190,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -7262,336 +7520,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -8409,118 +8463,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -8532,331 +8793,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], }, }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -9452,6 +9509,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -10374,6 +10432,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -10858,6 +10918,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -10914,8 +10996,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -10973,8 +11053,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -11813,118 +11891,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -11936,336 +12221,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -13083,118 +13164,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -13206,331 +13494,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, }, ], - "text": "A String", # Required. The text content. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], }, }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -15036,6 +15120,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -15958,6 +16043,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -16442,6 +16529,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -16498,8 +16607,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -16557,8 +16664,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -17397,118 +17502,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -17520,336 +17832,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -18667,118 +18775,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -18790,331 +19105,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -19698,6 +19809,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -20620,6 +20732,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -21104,6 +21218,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -21160,8 +21296,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -21219,8 +21353,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -22059,118 +22191,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -22182,336 +22521,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -23329,118 +23464,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -23452,331 +23794,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -24360,6 +24498,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -25282,6 +25421,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -25766,6 +25907,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -25822,8 +25985,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -25881,8 +26042,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -26721,118 +26880,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -26844,336 +27210,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -27991,118 +28153,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -28114,331 +28483,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -29022,6 +29187,7 @@

Method Details

"agent": "A String", # The name of the `Agent` used for generating the completion. "deep_research_config": { # Configuration for the Deep Research agent. "collaborative_planning": True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn. + "enable_bigquery_tool": True or False, # Enables bigquery tool for the Deep Research agent. "thinking_summaries": "A String", # Whether to include thought summaries in the response. "visualization": "A String", # Whether to include visualizations in the response. }, @@ -29944,6 +30110,8 @@

Method Details

], }, "created": "A String", # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). + "env_id": "A String", # The environment ID for the interaction. Can be 'remote' for default environment. + "environment_id": "A String", # Output only. The environment ID for the interaction. Only populated if environment config is set in the request. "id": "A String", # Required. Output only. A unique identifier for the interaction completion. "modelInteraction": { # Interaction for generating the completion using models. # Interaction for generating the completion using models. "generation_config": { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction. @@ -30428,6 +30596,28 @@

Method Details

}, ], "previous_interaction_id": "A String", # The ID of the previous interaction, if any. + "remoteEnvironment": { # Configuration for a custom environment. + "networkAllowlist": { # Network egress configuration for the environment. # Allow only specific domains. + "allowlist": [ # List of allowed domains and their configurations. + { # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request. + "domain": "A String", # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains. + "transform": { # Headers to inject into requests matching this rule. Key: header name (e.g., "Authorization"). Value: header value (e.g., "Bearer your-token"). + "a_key": "A String", + }, + }, + ], + }, + "networkMode": "A String", # Network egress mode. + "sources": [ + { # A source to be mounted into the environment. + "content": "A String", # The inline content if `type` is `INLINE`. + "encoding": "A String", # Optional encoding for inline content (e.g. `base64`). + "source": "A String", # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path. + "target": "A String", # Where the source should appear in the environment. + "type": "A String", + }, + ], + }, "responseFormatList": { "response_formats": [ { @@ -30484,8 +30674,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, ], }, @@ -30543,8 +30731,6 @@

Method Details

], }, }, - "video": { # Configuration for video output format. - }, }, "response_format": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. # Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field. "boolValue": True or False, # Represents a boolean value. @@ -31383,118 +31569,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, }, ], + "text": "A String", # Required. The text content. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], }, }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -31506,336 +31899,132 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "url": "A String", # URI reference of the place. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, - ], + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], }, - "steps": [ # Output only. The steps that make up the interaction. + "steps": [ # Required. Output only. The steps that make up the interaction. { # A step in the interaction. "modelOutput": { # Output generated by the model. "content": [ @@ -32653,454 +32842,457 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. }, }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. + "fileSearchCall": { # File Search content. }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], + ], + }, + "name": "A String", # Required. The name of the tool to call. }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], }, - ], + }, }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. }, ], }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. - }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. + ], }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, ], @@ -33682,10 +33874,50 @@

Method Details

"interaction_id": "A String", "status": "A String", }, + "metadata": { # Optional metadata accompanying ANY streamed event. + "usage": { # Statistics on the interaction request's token usage. + "cached_tokens_by_modality": [ # A breakdown of cached token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "grounding_tool_count": [ # Grounding tool count. + { # The number of grounding tool counts. + "count": 42, # The number of grounding tool counts. + "type": "A String", # The grounding tool type associated with the count. + }, + ], + "input_tokens_by_modality": [ # A breakdown of input token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "output_tokens_by_modality": [ # A breakdown of output token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "tool_use_tokens_by_modality": [ # A breakdown of tool-use token usage by modality. + { # The token count for a single response modality. + "modality": "A String", # The modality associated with the token count. + "tokens": 42, # Number of tokens for the modality. + }, + ], + "total_cached_tokens": 42, # Number of tokens in the cached part of the prompt (the cached content). + "total_input_tokens": 42, # Number of tokens in the prompt (context). + "total_output_tokens": 42, # Total number of tokens across all the generated responses. + "total_thought_tokens": 42, # Number of tokens of thoughts for thinking models. + "total_tokens": 42, # Total token count for the interaction request (prompt + responses + other internal tokens). + "total_tool_use_tokens": 42, # Number of tokens present in tool-use prompt(s). + }, + }, "stepDelta": { # The step delta data, used for step.delta events. "delta": { "argumentsDelta": { - "partial_arguments": "A String", + "arguments": "A String", }, "audio": { "channels": 42, # The number of audio channels. @@ -33700,12 +33932,292 @@

Method Details

"mime_type": "A String", "uri": "A String", }, + "functionResult": { + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "is_error": True or False, + "name": "A String", + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, "image": { "data": "A String", "mime_type": "A String", "resolution": "A String", # The resolution of the media. "uri": "A String", }, + "serverToolCall": { + "codeExecutionCall": { + "arguments": { # The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { + }, + "googleMapsCall": { + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, + }, + "googleSearchCall": { + "arguments": { # The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + }, + "mcpServerToolCall": { + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", + "server_name": "A String", + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { + "arguments": { # The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "serverToolResult": { + "codeExecutionResult": { + "is_error": True or False, + "result": "A String", + }, + "fileSearchResult": { + "result": [ + { # The result of the File Search. + }, + ], + }, + "googleMapsResult": { + "result": [ # The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. + }, + ], + }, + "googleSearchResult": { + "is_error": True or False, + "result": [ + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. + }, + ], + }, + "mcpServerToolResult": { + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "name": "A String", + "server_name": "A String", + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { + "is_error": True or False, + "result": [ + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. + }, + ], + }, + }, "text": { "text": "A String", }, @@ -34651,118 +35163,325 @@

Method Details

}, }, "userInput": { # Input provided by the user. - "content": [ - { # The content of the response. - "audio": { # An audio content block. - "channels": 42, # The number of audio channels. - "data": "A String", # The audio content. - "mime_type": "A String", # The mime type of the audio. - "sample_rate": 42, # The sample rate of the audio. - "uri": "A String", # The URI of the audio. - }, - "document": { # A document content block. - "data": "A String", # The document content. - "mime_type": "A String", # The mime type of the document. - "uri": "A String", # The URI of the document. - }, - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue + "contentList": { # A list of Content. # The content of the step. An array of Content objects. + "contents": [ # The contents of the list. + { # The content of the response. + "audio": { # An audio content block. + "channels": 42, # The number of audio channels. + "data": "A String", # The audio content. + "mime_type": "A String", # The mime type of the audio. + "sample_rate": 42, # The sample rate of the audio. + "uri": "A String", # The URI of the audio. + }, + "document": { # A document content block. + "data": "A String", # The document content. + "mime_type": "A String", # The mime type of the document. + "uri": "A String", # The URI of the document. + }, + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + "thought": { # A thought content block. + "signature": "A String", # Signature to match the backend source to be part of the generation. + "summary": [ # A summary of the thought. + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, ], }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. + }, + }, + ], + }, + "toolCall": { # Tool call content. + "codeExecutionCall": { # Code execution content. + "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. + "code": "A String", # The code to be executed. + "language": "A String", # Programming language of the `code`. + }, + }, + "fileSearchCall": { # File Search content. + }, + "functionCall": { # A function tool call content block. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool to call. + }, + "googleMapsCall": { # Google Maps content. + "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. + "queries": [ # The queries to be executed. + "A String", + ], + }, + }, + "googleSearchCall": { # Google Search content. + "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. + "queries": [ # Web search queries for the following-up web search. + "A String", + ], + }, + "search_type": "A String", # The type of search grounding enabled. + }, + "id": "A String", # Required. A unique ID for this specific tool call. + "mcpServerToolCall": { # MCPServer tool call content. + "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "name": "A String", # Required. The name of the tool which was called. + "server_name": "A String", # Required. The name of the used MCP server. + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextCall": { # URL context content. + "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. + "urls": [ # The URLs to fetch. + "A String", + ], + }, + }, + }, + "toolResult": { # Tool result content. + "call_id": "A String", # Required. ID to match the ID from the function call block. + "codeExecutionResult": { # Code execution result content. + "is_error": True or False, # Whether the code execution resulted in an error. + "result": "A String", # Required. The output of the code execution. + }, + "fileSearchResult": { # File Search result content. + "result": [ # Optional. The results of the File Search. + { # The result of the File Search. + }, + ], + }, + "functionResult": { # A function tool result content block. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. + }, + }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. + }, + ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. + }, + }, + ], + "text": "A String", # Required. The text content. }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - "thought": { # A thought content block. - "signature": "A String", # Signature to match the backend source to be part of the generation. - "summary": [ # A summary of the thought. - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, + "is_error": True or False, # Whether the tool call resulted in an error. + "name": "A String", # The name of the tool that was called. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue ], }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "place_citation": { # A place citation annotation. # A place citation annotation. + }, + ], + }, + }, + "googleMapsResult": { # Google Maps result content. + "result": [ # Required. The results of the Google Maps. + { # The result of the Google Maps. + "places": [ # The places that were found. + { "name": "A String", # Title of the place. "place_id": "A String", # The ID of the place, in `places/{place_id}` format. "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. @@ -34774,331 +35493,127 @@

Method Details

], "url": "A String", # URI reference of the place. }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "toolCall": { # Tool call content. - "codeExecutionCall": { # Code execution content. - "arguments": { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution. - "code": "A String", # The code to be executed. - "language": "A String", # Programming language of the `code`. - }, - }, - "fileSearchCall": { # File Search content. - }, - "functionCall": { # A function tool call content block. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + ], + "widget_context_token": "A String", # Resource name of the Google Maps widget context token. }, ], }, - "name": "A String", # Required. The name of the tool to call. - }, - "googleMapsCall": { # Google Maps content. - "arguments": { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool. - "queries": [ # The queries to be executed. - "A String", - ], - }, - }, - "googleSearchCall": { # Google Search content. - "arguments": { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search. - "queries": [ # Web search queries for the following-up web search. - "A String", - ], - }, - "search_type": "A String", # The type of search grounding enabled. - }, - "id": "A String", # Required. A unique ID for this specific tool call. - "mcpServerToolCall": { # MCPServer tool call content. - "arguments": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, + "googleSearchResult": { # Google Search result content. + "is_error": True or False, # Whether the Google Search resulted in an error. + "result": [ # Required. The results of the Google Search. + { # The result of the Google Search. + "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, ], }, - "name": "A String", # Required. The name of the tool which was called. - "server_name": "A String", # Required. The name of the used MCP server. - }, - "signature": "A String", # A signature hash for backend validation. - "urlContextCall": { # URL context content. - "arguments": { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context. - "urls": [ # The URLs to fetch. - "A String", - ], - }, - }, - }, - "toolResult": { # Tool result content. - "call_id": "A String", # Required. ID to match the ID from the function call block. - "codeExecutionResult": { # Code execution result content. - "is_error": True or False, # Whether the code execution resulted in an error. - "result": "A String", # Required. The output of the code execution. - }, - "fileSearchResult": { # File Search result content. - "result": [ # Optional. The results of the File Search. - { # The result of the File Search. - }, - ], - }, - "functionResult": { # A function tool result content block. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "mcpServerToolResult": { # MCPServer tool result content. + "contentList": { + "contents": [ + { + "image": { # An image content block. + "data": "A String", # The image content. + "mime_type": "A String", # The mime type of the image. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the image. + }, + "text": { # A text content block. + "annotations": [ # Citation information for model-generated content. + { # Citation information for model-generated content. + "end_index": 42, # End of the attributed segment, exclusive. + "file_citation": { # A file citation annotation. # A file citation annotation. + "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], + }, + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + "document_uri": "A String", # The URI of the file. + "file_name": "A String", # The name of the file. + "media_id": "A String", # Media ID in-case of image citations, if applicable. + "page_number": 42, # Page number of the cited document, if applicable. + "source": "A String", # Source attributed for a portion of the text. + }, + "place_citation": { # A place citation annotation. # A place citation annotation. + "name": "A String", # Title of the place. + "place_id": "A String", # The ID of the place, in `places/{place_id}` format. + "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. + { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. + "review_id": "A String", # The ID of the review snippet. + "title": "A String", # Title of the review. + "url": "A String", # A link that corresponds to the user review on Google Maps. }, ], + "url": "A String", # URI reference of the place. + }, + "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. + "url_citation": { # A URL citation annotation. # A URL citation annotation. + "title": "A String", # The title of the URL. + "url": "A String", # The URL. }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. }, - }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "is_error": True or False, # Whether the tool call resulted in an error. - "name": "A String", # The name of the tool that was called. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue ], + "text": "A String", # Required. The text content. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - }, - "googleMapsResult": { # Google Maps result content. - "result": [ # Required. The results of the Google Maps. - { # The result of the Google Maps. - "places": [ # The places that were found. - { - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. }, ], - "widget_context_token": "A String", # Resource name of the Google Maps widget context token. - }, - ], - }, - "googleSearchResult": { # Google Search result content. - "is_error": True or False, # Whether the Google Search resulted in an error. - "result": [ # Required. The results of the Google Search. - { # The result of the Google Search. - "search_suggestions": "A String", # Web content snippet that can be embedded in a web page or an app webview. }, - ], - }, - "mcpServerToolResult": { # MCPServer tool result content. - "contentList": { - "contents": [ - { - "image": { # An image content block. - "data": "A String", # The image content. - "mime_type": "A String", # The mime type of the image. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the image. - }, - "text": { # A text content block. - "annotations": [ # Citation information for model-generated content. - { # Citation information for model-generated content. - "end_index": 42, # End of the attributed segment, exclusive. - "file_citation": { # A file citation annotation. # A file citation annotation. - "custom_metadata": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], - }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. - }, - }, - ], - }, - "document_uri": "A String", # The URI of the file. - "file_name": "A String", # The name of the file. - "media_id": "A String", # Media ID in-case of image citations, if applicable. - "page_number": 42, # Page number of the cited document, if applicable. - "source": "A String", # Source attributed for a portion of the text. - }, - "place_citation": { # A place citation annotation. # A place citation annotation. - "name": "A String", # Title of the place. - "place_id": "A String", # The ID of the place, in `places/{place_id}` format. - "review_snippets": [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps. - { # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps. - "review_id": "A String", # The ID of the review snippet. - "title": "A String", # Title of the review. - "url": "A String", # A link that corresponds to the user review on Google Maps. - }, - ], - "url": "A String", # URI reference of the place. - }, - "start_index": 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes. - "url_citation": { # A URL citation annotation. # A URL citation annotation. - "title": "A String", # The title of the URL. - "url": "A String", # The URL. - }, + "name": "A String", # Name of the tool which is called for this specific tool call. + "server_name": "A String", # The name of the used MCP server. + "stringResult": "A String", + "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. + "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. + { # Represents a single field in a struct. + "name": "A String", + "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + "boolValue": True or False, # Represents a boolean value. + "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. + "values": [ # Repeated field of dynamically typed values. + # Object with schema name: GenaiValue + ], }, - ], - "text": "A String", # Required. The text content. - }, - }, - ], - }, - "name": "A String", # Name of the tool which is called for this specific tool call. - "server_name": "A String", # The name of the used MCP server. - "stringResult": "A String", - "structResult": { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. - "fields": [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control. - { # Represents a single field in a struct. - "name": "A String", - "value": { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. - "boolValue": True or False, # Represents a boolean value. - "listValue": { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`. - "values": [ # Repeated field of dynamically typed values. - # Object with schema name: GenaiValue - ], + "nullValue": "A String", # Represents a null value. + "numberValue": 3.14, # Represents a double value. + "stringValue": "A String", # Represents a string value. + "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, - "nullValue": "A String", # Represents a null value. - "numberValue": 3.14, # Represents a double value. - "stringValue": "A String", # Represents a string value. - "structValue": # Object with schema name: GenaiStruct # Represents a structured value. }, + ], + }, + }, + "signature": "A String", # A signature hash for backend validation. + "urlContextResult": { # URL context result content. + "is_error": True or False, # Whether the URL context resulted in an error. + "result": [ # Required. The results of the URL context. + { # The result of the URL context. + "status": "A String", # The status of the URL retrieval. + "url": "A String", # The URL that was fetched. }, ], }, }, - "signature": "A String", # A signature hash for backend validation. - "urlContextResult": { # URL context result content. - "is_error": True or False, # Whether the URL context resulted in an error. - "result": [ # Required. The results of the URL context. - { # The result of the URL context. - "status": "A String", # The status of the URL retrieval. - "url": "A String", # The URL that was fetched. - }, - ], + "video": { # A video content block. + "data": "A String", # The video content. + "mime_type": "A String", # The mime type of the video. + "resolution": "A String", # The resolution of the media. + "uri": "A String", # The URI of the video. }, }, - "video": { # A video content block. - "data": "A String", # The video content. - "mime_type": "A String", # The mime type of the video. - "resolution": "A String", # The resolution of the media. - "uri": "A String", # The URI of the video. - }, - }, - ], + ], + }, + "contentString": "A String", # The content of the step. A single string. }, }, }, @@ -35108,4 +35623,22 @@

Method Details

}
+
+ delete(name, x__xgafv=None) +
Deletes an interaction.
+
+Args:
+  name: string, Required. The name of the interaction to delete. Format: interactions/{interaction} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for InteractionService.DeleteInteraction.
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.html b/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.html index 56a8c63014..26b20f632e 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.html @@ -308,10 +308,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -325,7 +325,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -665,10 +665,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -682,7 +682,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -963,10 +963,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -980,7 +980,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -1267,10 +1267,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1284,7 +1284,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.modelMonitoringJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.modelMonitoringJobs.html index 53acd3a439..e6a2794c5a 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.modelMonitoringJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.modelMonitors.modelMonitoringJobs.html @@ -315,10 +315,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -332,7 +332,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -644,10 +644,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -661,7 +661,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -1014,10 +1014,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1031,7 +1031,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -1355,10 +1355,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1372,7 +1372,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.nasJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.nasJobs.html index 0efeb2ca02..63cf18a7f9 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.nasJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.nasJobs.html @@ -277,10 +277,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -389,10 +389,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -589,10 +589,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -701,10 +701,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -943,10 +943,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1055,10 +1055,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1268,10 +1268,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1380,10 +1380,10 @@

Method Details

}, ], "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookExecutionJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookExecutionJobs.html index a02b210c63..8bbd52126b 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookExecutionJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookExecutionJobs.html @@ -122,10 +122,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -142,9 +142,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -305,10 +305,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -325,9 +325,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -402,10 +402,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -422,9 +422,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html index 44ac99f59a..fed7426d9d 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimeTemplates.html @@ -126,9 +126,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -149,10 +149,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -286,9 +286,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -309,10 +309,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -425,9 +425,9 @@

Method Details

"notebookRuntimeTemplates": [ # List of NotebookRuntimeTemplates in the requested page. { # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -448,10 +448,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -532,9 +532,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -555,10 +555,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -622,9 +622,9 @@

Method Details

{ # A template that specifies runtime configurations such as machine type, runtime version, network configurations, etc. Multiple runtimes can be created from a runtime template. "createTime": "A String", # Output only. Timestamp when this NotebookRuntimeTemplate was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Optional. The specification of persistent disk attached to the runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntimeTemplate. "displayName": "A String", # Required. The display name of the NotebookRuntimeTemplate. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -645,10 +645,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Optional. Immutable. The specification of a single machine for the template. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimes.html b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimes.html index f249538d30..9083a4c2b5 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimes.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.notebookRuntimes.html @@ -125,9 +125,9 @@

Method Details

{ # Request message for NotebookService.AssignNotebookRuntime. "notebookRuntime": { # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. # Required. Provide runtime specific information (e.g. runtime owner, notebook id) used for NotebookRuntime assignment. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -149,10 +149,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -331,9 +331,9 @@

Method Details

{ # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -355,10 +355,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -445,9 +445,9 @@

Method Details

"notebookRuntimes": [ # List of NotebookRuntimes in the requested page. { # A runtime is a virtual machine allocated to a particular user for a particular Notebook file on temporary basis with lifetime. Default runtimes have a lifetime of 18 hours, while custom runtimes last for 6 months from their creation or last upgrade. "createTime": "A String", # Output only. Timestamp when this NotebookRuntime was created. - "dataPersistentDiskSpec": { # Represents the spec of persistent disk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + "dataPersistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, "description": "A String", # The description of the NotebookRuntime. "displayName": "A String", # Required. The display name of the NotebookRuntime. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -469,10 +469,10 @@

Method Details

"a_key": "A String", }, "machineSpec": { # Specification of a single machine. # Output only. The specification of a single machine used by the notebook runtime. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html b/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html index 411358eb11..5e4a3964b3 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.onlineEvaluators.html @@ -993,7 +993,7 @@

Method Details

parent: string, Required. The parent resource of the OnlineEvaluators to list. Format: projects/{project}/locations/{location}. (required) filter: string, Optional. Standard list filter. Supported fields: * `create_time` * `update_time` * `agent_resource` Example: `create_time>"2026-01-01T00:00:00-04:00"` where the timestamp is in RFC 3339 format) Based on aip.dev/160. orderBy: string, Optional. A comma-separated list of fields to order by. The default sorting order is ascending. Use "desc" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`. Based on aip.dev/132. - pageSize: integer, Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 50 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158. + pageSize: integer, Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158. pageToken: string, Optional. A token identifying a page of results the server should return. Based on aip.dev/158. x__xgafv: string, V1 error format. Allowed values diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.persistentResources.html b/docs/dyn/aiplatform_v1beta1.projects.locations.persistentResources.html index 21cc67e347..9daea8e187 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.persistentResources.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.persistentResources.html @@ -163,10 +163,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -345,10 +345,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -468,10 +468,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -597,10 +597,10 @@

Method Details

}, "id": "A String", # Immutable. The unique ID in a PersistentResource for referring to this resource pool. User can specify it if necessary. Otherwise, it's generated automatically. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html index 8770daf260..bb197fadc8 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html @@ -550,6 +550,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1033,7 +1039,8 @@

Method Details

An object of the form: { # This message contains configs of a publisher model. - "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # The prediction request/response logging config. + "dataSharingEnabledProvider": "A String", # Optional. The model provider (publisher) for which the customer has enabled data sharing. For publisher models that are configured to require data sharing, a prediction request is only allowed when the model's publisher matches this provider. Otherwise, the request is rejected. + "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # Optional. The prediction request/response logging config. "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging` "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. }, @@ -1373,6 +1380,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2240,7 +2253,8 @@

Method Details

{ # Request message for EndpointService.SetPublisherModelConfig. "publisherModelConfig": { # This message contains configs of a publisher model. # Required. The publisher model config. - "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # The prediction request/response logging config. + "dataSharingEnabledProvider": "A String", # Optional. The model provider (publisher) for which the customer has enabled data sharing. For publisher models that are configured to require data sharing, a prediction request is only allowed when the model's publisher matches this provider. Otherwise, the request is rejected. + "loggingConfig": { # Configuration for logging request-response to a BigQuery table. # Optional. The prediction request/response logging config. "bigqueryDestination": { # The BigQuery location for the output content. # BigQuery table for logging. If only given a project, a new dataset will be created with name `logging__` where will be made BigQuery-dataset-name compatible (e.g. most special characters will become underscores). If no table name is given, a new table will be created with name `request_response_logging` "outputUri": "A String", # Required. BigQuery URI to a project or table, up to 2000 characters long. When only the project is specified, the Dataset and Table is created. When the full table reference is specified, the Dataset must exist and table must not exist. Accepted forms: * BigQuery path. For example: `bq://projectId` or `bq://projectId.bqDatasetId` or `bq://projectId.bqDatasetId.bqTableId`. }, @@ -2609,6 +2623,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.memories.html b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.memories.html index 4052fad68e..a80db69a68 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.memories.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.memories.html @@ -732,7 +732,7 @@

Method Details

"updateTime": "A String", # Output only. Represents the timestamp when this Memory was most recently updated. } - updateMask: string, Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact` + updateMask: string, Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type` x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html index 25cae42c24..84247618b8 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.reasoningEngines.sandboxEnvironmentTemplates.html @@ -135,6 +135,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -246,6 +254,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -300,6 +316,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.schedules.html b/docs/dyn/aiplatform_v1beta1.projects.locations.schedules.html index ca06daae5f..c95d8c5959 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.schedules.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.schedules.html @@ -333,10 +333,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -350,7 +350,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -452,10 +452,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -472,9 +472,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -1047,10 +1047,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1064,7 +1064,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -1166,10 +1166,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1186,9 +1186,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -1803,10 +1803,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1820,7 +1820,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -1922,10 +1922,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1942,9 +1942,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -2531,10 +2531,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2548,7 +2548,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -2650,10 +2650,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2670,9 +2670,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -3263,10 +3263,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3280,7 +3280,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -3382,10 +3382,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3402,9 +3402,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. @@ -3978,10 +3978,10 @@

Method Details

"maxRuntimeDuration": "A String", # The max duration of the deployment is max_runtime_duration. The deployment will be terminated after the duration. The max_runtime_duration can be set up to 7 days. }, "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -3995,7 +3995,7 @@

Method Details

}, "maxReplicaCount": 42, # Immutable. The maximum number of machine replicas the batch operation may be scaled to. The default value is 10. "spot": True or False, # Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). - "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count + "startingReplicaCount": 42, # Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count }, "defaultAlertCondition": { # Monitoring alert triggered condition. # Default alert condition for all the features. "threshold": 3.14, # A condition that compares a stats value against a threshold. Alert will be triggered if value above the threshold. @@ -4097,10 +4097,10 @@

Method Details

"createTime": "A String", # Output only. Timestamp when this NotebookExecutionJob was created. "customEnvironmentSpec": { # Compute configuration to use for an execution job. # The custom compute configuration for an execution job. "machineSpec": { # Specification of a single machine. # The specification of a single machine for the execution job. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -4117,9 +4117,9 @@

Method Details

"network": "A String", # The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) "subnetwork": "A String", # The name of the subnet that this instance is in. Format: `projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}` }, - "persistentDiskSpec": { # Represents the spec of persistent disk options. # The specification of a persistent disk to attach for the execution job. + "persistentDiskSpec": { # Represents the spec of persistent disk and hyperdisk options. # The specification of a persistent disk to attach for the execution job. "diskSizeGb": "A String", # Size in GB of the disk (default is 100GB). - "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) + "diskType": "A String", # Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) }, }, "dataformRepositorySource": { # The Dataform Repository containing the input notebook. # The Dataform Repository pointing to a single file notebook repository. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicies.html b/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicies.html index afb895ede4..93bd68d797 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicies.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicies.html @@ -82,10 +82,273 @@

Instance Methods

close()

Close httplib2 connections.

+

+ create(parent, body=None, semanticGovernancePolicyId=None, x__xgafv=None)

+

Creates a SemanticGovernancePolicy.

+

+ delete(name, etag=None, x__xgafv=None)

+

Deletes a SemanticGovernancePolicy.

+

+ get(name, x__xgafv=None)

+

Gets a SemanticGovernancePolicy.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists SemanticGovernancePolicies in a given location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates a SemanticGovernancePolicy.

Method Details

close()
Close httplib2 connections.
+
+ create(parent, body=None, semanticGovernancePolicyId=None, x__xgafv=None) +
Creates a SemanticGovernancePolicy.
+
+Args:
+  parent: string, Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  "agent": "A String", # Required. The name of the agent in Agent Registry that is affected by this policy.
+  "agentIdentity": "A String", # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  "description": "A String", # Optional. The description of the SemanticGovernancePolicy.
+  "displayName": "A String", # Optional. The user-defined name of the SemanticGovernancePolicy.
+  "etag": "A String", # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  "mcpTools": [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      "mcpServer": "A String", # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      "tools": [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        "A String",
+      ],
+    },
+  ],
+  "name": "A String", # Identifier. Resource name of the SemanticGovernancePolicy.
+  "naturalLanguageConstraint": "A String", # Required. The natural language constraint of the SemanticGovernancePolicy.
+  "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}
+
+  semanticGovernancePolicyId: string, Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.
+  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, etag=None, x__xgafv=None) +
Deletes a SemanticGovernancePolicy.
+
+Args:
+  name: string, Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}` (required)
+  etag: string, Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be 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.
+  },
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets a SemanticGovernancePolicy.
+
+Args:
+  name: string, Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  "agent": "A String", # Required. The name of the agent in Agent Registry that is affected by this policy.
+  "agentIdentity": "A String", # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  "description": "A String", # Optional. The description of the SemanticGovernancePolicy.
+  "displayName": "A String", # Optional. The user-defined name of the SemanticGovernancePolicy.
+  "etag": "A String", # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  "mcpTools": [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      "mcpServer": "A String", # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      "tools": [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        "A String",
+      ],
+    },
+  ],
+  "name": "A String", # Identifier. Resource name of the SemanticGovernancePolicy.
+  "naturalLanguageConstraint": "A String", # Required. The natural language constraint of the SemanticGovernancePolicy.
+  "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists SemanticGovernancePolicies in a given location.
+
+Args:
+  parent: string, Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}` (required)
+  pageSize: integer, Optional. The list page size. If zero, a default page size of 10 is used.
+  pageToken: string, Optional. The standard list page token.
+  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 SemanticGovernancePolicyService.ListSemanticGovernancePolicies.
+  "nextPageToken": "A String", # A token to retrieve the next page of results. Pass to ListSemanticGovernancePoliciesRequest.page_token to obtain that page.
+  "semanticGovernancePolicies": [ # The list of SemanticGovernancePolicies.
+    { # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+      "agent": "A String", # Required. The name of the agent in Agent Registry that is affected by this policy.
+      "agentIdentity": "A String", # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+      "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was created.
+      "description": "A String", # Optional. The description of the SemanticGovernancePolicy.
+      "displayName": "A String", # Optional. The user-defined name of the SemanticGovernancePolicy.
+      "etag": "A String", # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+      "mcpTools": [ # Optional. The McpTools that are affected by this policy.
+        { # Represents a governance policy applied to MCP tools used by an Agent.
+          "mcpServer": "A String", # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+          "tools": [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+            "A String",
+          ],
+        },
+      ],
+      "name": "A String", # Identifier. Resource name of the SemanticGovernancePolicy.
+      "naturalLanguageConstraint": "A String", # Required. The natural language constraint of the SemanticGovernancePolicy.
+      "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+    },
+  ],
+}
+
+ +
+ 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 a SemanticGovernancePolicy.
+
+Args:
+  name: string, Identifier. Resource name of the SemanticGovernancePolicy. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  "agent": "A String", # Required. The name of the agent in Agent Registry that is affected by this policy.
+  "agentIdentity": "A String", # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  "createTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  "description": "A String", # Optional. The description of the SemanticGovernancePolicy.
+  "displayName": "A String", # Optional. The user-defined name of the SemanticGovernancePolicy.
+  "etag": "A String", # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  "mcpTools": [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      "mcpServer": "A String", # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      "tools": [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        "A String",
+      ],
+    },
+  ],
+  "name": "A String", # Identifier. Resource name of the SemanticGovernancePolicy.
+  "naturalLanguageConstraint": "A String", # Required. The natural language constraint of the SemanticGovernancePolicy.
+  "updateTime": "A String", # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}
+
+  updateMask: string, Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.
+  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.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicyEngine.html b/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicyEngine.html index 07893b5f3e..b6caa0094b 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicyEngine.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.semanticGovernancePolicyEngine.html @@ -74,18 +74,57 @@

Agent Platform API . projects . locations . semanticGovernancePolicyEngine

Instance Methods

-

- operations() -

-

Returns the operations Resource.

-

close()

Close httplib2 connections.

+

+ deprovision(name, body=None, x__xgafv=None)

+

Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.

Method Details

close()
Close httplib2 connections.
+
+ deprovision(name, body=None, x__xgafv=None) +
Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.
+
+Args:
+  name: string, Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SemanticGovernancePolicyEngineService.DeprovisionSemanticGovernancePolicyEngine.
+}
+
+  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.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.skills.html b/docs/dyn/aiplatform_v1beta1.projects.locations.skills.html index be0d000cdb..05a1b2ec7b 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.skills.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.skills.html @@ -140,7 +140,7 @@

Method Details

"zippedFilesystem": "A String", # Required. Provides the zipped filesystem of the Skill. This should contain the `SKILL.md` file at the root of the zip and optional directories for scripts, references, and assets. Directory should align with the directory structure specified at https://agentskills.io/specification#directory-structure. } - skillId: string, Optional. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details. + skillId: string, Required. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.skills.revisions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.skills.revisions.html index ca8fa2b445..f691dd9f9f 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.skills.revisions.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.skills.revisions.html @@ -109,7 +109,7 @@

Method Details

{ # A revision of a Skill. "createTime": "A String", # Output only. Timestamp when this Skill Revision was created. "name": "A String", # Identifier. The resource name of the Skill Revision. Format: `projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}` - "skill": { # A skill. # Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision + "skill": { # A skill. # Output only. The state of the Skill at this revision. "compatibility": "A String", # Optional. Specifies the compatibility of the Skill. Indicates environment requirements (intended product, system packages, network access, etc.). This should align with `compatibility` in the `SKILL.md` file. "createTime": "A String", # Output only. Timestamp when this Skill was created. "description": "A String", # Required. Describes the Skill. Should describe both what the skill does and when to use it. Should include specific keywords that help agents identify relevant tasks. This should align with `description` in the `SKILL.md` file. @@ -152,7 +152,7 @@

Method Details

{ # A revision of a Skill. "createTime": "A String", # Output only. Timestamp when this Skill Revision was created. "name": "A String", # Identifier. The resource name of the Skill Revision. Format: `projects/{project}/locations/{location}/skills/{skill}/revisions/{revision}` - "skill": { # A skill. # Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision + "skill": { # A skill. # Output only. The state of the Skill at this revision. "compatibility": "A String", # Optional. Specifies the compatibility of the Skill. Indicates environment requirements (intended product, system packages, network access, etc.). This should align with `compatibility` in the `SKILL.md` file. "createTime": "A String", # Output only. Timestamp when this Skill was created. "description": "A String", # Required. Describes the Skill. Should describe both what the skill does and when to use it. Should include specific keywords that help agents identify relevant tasks. This should align with `description` in the `SKILL.md` file. diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html b/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html index f0ac2009b2..5feb672b3f 100644 --- a/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html +++ b/docs/dyn/aiplatform_v1beta1.projects.locations.tuningJobs.html @@ -100,9 +100,15 @@

Instance Methods

optimizePrompt(parent, body=None, x__xgafv=None)

Optimizes a prompt. Given a prompt, this method returns a stream of optimized prompts expanded from the original prompt.

+

+ processData(parent, body=None, x__xgafv=None)

+

Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.

rebaseTunedModel(parent, body=None, x__xgafv=None)

Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.

+

+ validateReinforcementTuningReward(parent, body=None, x__xgafv=None)

+

Validates a reward on a given example.

Method Details

cancel(name, body=None, x__xgafv=None) @@ -290,270 +296,619 @@

Method Details

"trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. }, - "satisfiesPzi": True or False, # Output only. Reserved for future use. - "satisfiesPzs": True or False, # Output only. Reserved for future use. - "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. - "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. - "state": "A String", # Output only. The detailed state of the job. - "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. - "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "reinforcementTuningSpec": { # Spec for Reinforcement Tuning. # Tuning Spec for Reinforcement Tuning. + "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Composite reward function configuration for reinforcement tuning. + "weightedRewardConfigs": [ # List of reward function configurations with weights. + { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. + "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, }, }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - ], + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. - }, - "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. - { # Defines a custom dataset-level aggregation. - "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } - "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1. }, ], - "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + "hyperParameters": { # Hyperparameters for Reinforcement Tuning. # Optional. Additional hyper-parameters to use during tuning. + "adapterSize": "A String", # Optional. Adapter size for Reinforcement Tuning. + "batchSize": 42, # Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically. + "checkpointInterval": 42, # Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "epochCount": "A String", # Optional. Number of training epoches for the tuning job. + "evaluateInterval": 42, # Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "learningRateMultiplier": 3.14, # Optional. Learning rate multiplier for Reinforcement Learning. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768. + "samplesPerPrompt": 42, # Optional. Number of different responses to generate per prompt during tuning. + "thinkingBudget": 42, # Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking). + "thinkingLevel": "A String", # Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error. + }, + "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward function configuration for reinforcement tuning. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. }, }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - "metrics": [ # Required. The metrics used for evaluation. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. + }, + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. + }, + }, + "trainingDatasetUri": "A String", # Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + "validationDatasetUri": "A String", # Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. + }, + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. + "state": "A String", # Output only. The detailed state of the job. + "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. + "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "type": "A String", # Required. The type of the computation based metric. - }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. + { # Defines a custom dataset-level aggregation. + "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } + "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + }, + ], + "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "metrics": [ # Required. The metrics used for evaluation. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. }, @@ -902,19 +1257,199 @@

Method Details

"tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. - "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. - "A String", - ], - "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. - "A String", - ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, + "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "A String", + ], + "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. + "A String", + ], + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. "outcome": "A String", # Required. Outcome of the code execution. @@ -1278,63 +1813,241 @@

Method Details

"sum": 3.14, # Output only. Sum of a given population of values. }, }, - "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. - "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "reinforcementTuningDataStats": { # Statistics computed over a tuning dataset. # Output only. Statistics for reinforcement tuning. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, + "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. - "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. - "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". - "nullValue": "A String", # Optional. Represents a null value. - "numberValue": 3.14, # Optional. Represents a double value. - "stringValue": "A String", # Optional. Represents a string value. - "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. - }, - ], - "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. - }, - "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. - "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. - "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. - "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. - { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. - "fileData": { # URI based data for function response. # URI based data. - "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. - "fileUri": "A String", # Required. URI. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. "data": "A String", # Required. Raw bytes. @@ -1369,11 +2082,10 @@

Method Details

"role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. }, ], - "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -1384,13 +2096,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -1401,13 +2112,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -1418,39 +2128,182 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, }, - }, - "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. - "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. - "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. - }, - "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). - "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. - "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. - }, - "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. + "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "A String", + ], + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "A String", + ], + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + }, + }, + "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. + "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. + "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. + }, + "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). + "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. + "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. + }, + "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. }, } @@ -1611,297 +2464,646 @@

Method Details

"trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. }, - "satisfiesPzi": True or False, # Output only. Reserved for future use. - "satisfiesPzs": True or False, # Output only. Reserved for future use. - "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. - "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. - "state": "A String", # Output only. The detailed state of the job. - "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. - "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "reinforcementTuningSpec": { # Spec for Reinforcement Tuning. # Tuning Spec for Reinforcement Tuning. + "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Composite reward function configuration for reinforcement tuning. + "weightedRewardConfigs": [ # List of reward function configurations with weights. + { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. + "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, }, }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - ], + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. - }, - "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. - { # Defines a custom dataset-level aggregation. - "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } - "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1. }, ], - "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. - }, - }, - }, - ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "hyperParameters": { # Hyperparameters for Reinforcement Tuning. # Optional. Additional hyper-parameters to use during tuning. + "adapterSize": "A String", # Optional. Adapter size for Reinforcement Tuning. + "batchSize": 42, # Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically. + "checkpointInterval": 42, # Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "epochCount": "A String", # Optional. Number of training epoches for the tuning job. + "evaluateInterval": 42, # Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "learningRateMultiplier": 3.14, # Optional. Learning rate multiplier for Reinforcement Learning. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768. + "samplesPerPrompt": 42, # Optional. Number of different responses to generate per prompt during tuning. + "thinkingBudget": 42, # Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking). + "thinkingLevel": "A String", # Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error. + }, + "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward function configuration for reinforcement tuning. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - "metrics": [ # Required. The metrics used for evaluation. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. + }, + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. + }, + }, + "trainingDatasetUri": "A String", # Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + "validationDatasetUri": "A String", # Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. + }, + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. + "state": "A String", # Output only. The detailed state of the job. + "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. + "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "type": "A String", # Required. The type of the computation based metric. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. }, - "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. - "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. }, - "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. }, - "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. - "additionalConfig": { # Optional. Optional additional configuration for the metric. - "a_key": "", # Properties of the object. + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. }, - "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. + { # Defines a custom dataset-level aggregation. + "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } + "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + }, + ], + "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "metrics": [ # Required. The metrics used for evaluation. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, + "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. + "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + }, + "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + }, + "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. + "additionalConfig": { # Optional. Optional additional configuration for the metric. + "a_key": "", # Properties of the object. + }, + "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. @@ -2223,43 +3425,223 @@

Method Details

"tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. - "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". "nullValue": "A String", # Optional. Represents a null value. "numberValue": 3.14, # Optional. Represents a double value. "stringValue": "A String", # Optional. Represents a string value. @@ -2599,60 +3981,238 @@

Method Details

"sum": 3.14, # Output only. Sum of a given population of values. }, }, - "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. - "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "reinforcementTuningDataStats": { # Statistics computed over a tuning dataset. # Output only. Statistics for reinforcement tuning. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, + "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. - "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. - "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". - "nullValue": "A String", # Optional. Represents a null value. - "numberValue": 3.14, # Optional. Represents a double value. - "stringValue": "A String", # Optional. Represents a string value. - "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. - }, - ], - "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. - }, - "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. - "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. - "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. - "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. - { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. - "fileData": { # URI based data for function response. # URI based data. + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "fileUri": "A String", # Required. URI. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. @@ -2690,11 +4250,10 @@

Method Details

"role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. }, ], - "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -2705,13 +4264,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -2722,13 +4280,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -2739,42 +4296,185 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, }, - }, - "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. - "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. - "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. - }, - "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). - "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. - "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. - }, - "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - }, -}
+ "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. + "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "A String", + ], + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "A String", + ], + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + }, + }, + "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. + "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. + "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. + }, + "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). + "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. + "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. + }, + "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + }, +}
@@ -2939,298 +4639,647 @@

Method Details

"trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. }, - "satisfiesPzi": True or False, # Output only. Reserved for future use. - "satisfiesPzs": True or False, # Output only. Reserved for future use. - "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. - "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. - "state": "A String", # Output only. The detailed state of the job. - "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. - "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "reinforcementTuningSpec": { # Spec for Reinforcement Tuning. # Tuning Spec for Reinforcement Tuning. + "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Composite reward function configuration for reinforcement tuning. + "weightedRewardConfigs": [ # List of reward function configurations with weights. + { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. + "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - ], + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. - }, - "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. - { # Defines a custom dataset-level aggregation. - "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } - "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1. }, ], - "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. - }, - }, + }, + "hyperParameters": { # Hyperparameters for Reinforcement Tuning. # Optional. Additional hyper-parameters to use during tuning. + "adapterSize": "A String", # Optional. Adapter size for Reinforcement Tuning. + "batchSize": 42, # Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically. + "checkpointInterval": 42, # Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "epochCount": "A String", # Optional. Number of training epoches for the tuning job. + "evaluateInterval": 42, # Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "learningRateMultiplier": 3.14, # Optional. Learning rate multiplier for Reinforcement Learning. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768. + "samplesPerPrompt": 42, # Optional. Number of different responses to generate per prompt during tuning. + "thinkingBudget": 42, # Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking). + "thinkingLevel": "A String", # Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error. + }, + "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward function configuration for reinforcement tuning. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - "metrics": [ # Required. The metrics used for evaluation. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. + }, + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. + }, + }, + "trainingDatasetUri": "A String", # Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + "validationDatasetUri": "A String", # Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. + }, + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. + "state": "A String", # Output only. The detailed state of the job. + "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. + "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "type": "A String", # Required. The type of the computation based metric. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. }, - "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. - "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. }, - "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. }, - "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. - "additionalConfig": { # Optional. Optional additional configuration for the metric. - "a_key": "", # Properties of the object. + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. }, - "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. + { # Defines a custom dataset-level aggregation. + "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } + "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + }, + ], + "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "metrics": [ # Required. The metrics used for evaluation. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, + "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. + "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + }, + "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + }, + "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. + "additionalConfig": { # Optional. Optional additional configuration for the metric. + "a_key": "", # Properties of the object. + }, + "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. "modelConfig": { # Config for model selection. # Optional. Config for model selection. @@ -3551,42 +5600,222 @@

Method Details

"tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". "nullValue": "A String", # Optional. Represents a null value. "numberValue": 3.14, # Optional. Represents a double value. @@ -3927,61 +6156,239 @@

Method Details

"sum": 3.14, # Output only. Sum of a given population of values. }, }, - "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. - "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "reinforcementTuningDataStats": { # Statistics computed over a tuning dataset. # Output only. Statistics for reinforcement tuning. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, + "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. - "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. - "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". - "nullValue": "A String", # Optional. Represents a null value. - "numberValue": 3.14, # Optional. Represents a double value. - "stringValue": "A String", # Optional. Represents a string value. - "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. - }, - ], - "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. - }, - "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. - "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. - "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. - "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. - { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. - "fileData": { # URI based data for function response. # URI based data. - "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. "fileUri": "A String", # Required. URI. "mimeType": "A String", # Required. The IANA standard MIME type of the source data. }, @@ -4018,11 +6425,10 @@

Method Details

"role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. }, ], - "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -4033,13 +6439,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -4050,13 +6455,12 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -4067,41 +6471,184 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, }, - }, - "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. - "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. - "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. - }, - "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). - "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. - "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. - }, - "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - }, + "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. + "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. + "A String", + ], + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. + "A String", + ], + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. + "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": 3.14, # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": "A String", # Output only. Sum of a given population of values. + }, + }, + }, + "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. + "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. + "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. + }, + "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). + "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. + "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. + }, + "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. + "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. + "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. + "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. + "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. + "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. + "tuningTask": "A String", # The tuning task for Veo. + "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. + }, + "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. + }, }
@@ -4273,299 +6820,648 @@

Method Details

"trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file. }, - "satisfiesPzi": True or False, # Output only. Reserved for future use. - "satisfiesPzs": True or False, # Output only. Reserved for future use. - "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. - "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. - "state": "A String", # Output only. The detailed state of the job. - "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. - "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "reinforcementTuningSpec": { # Spec for Reinforcement Tuning. # Tuning Spec for Reinforcement Tuning. + "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Composite reward function configuration for reinforcement tuning. + "weightedRewardConfigs": [ # List of reward function configurations with weights. + { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. + "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, }, }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - ], + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. }, }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. - }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. - }, - "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. - }, - "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. - { # Defines a custom dataset-level aggregation. - "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } - "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1. }, ], - "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. - "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. - "modelConfig": { # Config for model selection. # Optional. Config for model selection. - "featureSelectionPreference": "A String", # Required. Feature selection preference. - }, - "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. - "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. - "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. - "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. - "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. - "A String", - ], - "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. - "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. - "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. - # Object with schema name: GoogleCloudAiplatformV1beta1Schema - ], - "default": "", # Optional. Default value to use if the field is not specified. - "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. - "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` - "A String", - ], - "example": "", # Optional. Example of an instance of this schema. - "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. - "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. - "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. - "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. - "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. - "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. - "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. - "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. - "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. - "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. - "nullable": True or False, # Optional. Indicates if the value of this field can be null. - "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. - "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. - "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema - }, - "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. - "A String", - ], - "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring - "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. - "A String", - ], - "title": "A String", # Optional. Title for the schema. - "type": "A String", # Optional. Data type of the schema field. - }, - "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. - "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. - "modelRoutingPreference": "A String", # The model routing preference. - }, - "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. - "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. - }, - }, - "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. - "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. - "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. - "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. - "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. - { # Configuration for a single speaker in a multi-speaker setup. - "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. - "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. - }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. - }, - }, + }, + "hyperParameters": { # Hyperparameters for Reinforcement Tuning. # Optional. Additional hyper-parameters to use during tuning. + "adapterSize": "A String", # Optional. Adapter size for Reinforcement Tuning. + "batchSize": 42, # Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically. + "checkpointInterval": 42, # Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "epochCount": "A String", # Optional. Number of training epoches for the tuning job. + "evaluateInterval": 42, # Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.``` + "learningRateMultiplier": 3.14, # Optional. Learning rate multiplier for Reinforcement Learning. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768. + "samplesPerPrompt": 42, # Optional. Number of different responses to generate per prompt during tuning. + "thinkingBudget": 42, # Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking). + "thinkingLevel": "A String", # Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error. + }, + "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward function configuration for reinforcement tuning. + "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", ], - }, - "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. - "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. - "voiceName": "A String", # The name of the prebuilt voice to use. + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. }, - "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. - "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. - "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. }, - "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. - "A String", - ], - "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. - "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. - "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. - "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. - "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt. + "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0". + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer. + "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression. + "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3". + "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression. + }, + "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) }, - "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. - "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. }, - "metrics": [ # Required. The metrics used for evaluation. - { # The metric used for running evaluations. - "aggregationMetrics": [ # Optional. The aggregation metrics to use. - "A String", - ], - "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. - "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service. + "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service. + }, + "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases. + "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) + }, + "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response. + "parseType": "A String", # Defines how to parse sample response. + "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`. + }, + "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward. + "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code. + "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward. + "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response. + "keyName": "A String", # Json key name to find the value to match against. + "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. }, - "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. - "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. - "a_key": "", # Properties of the object. + }, + "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response. + "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.* + "matchOperation": "A String", # Match operation to use for evaluation. + }, + "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward. + }, + }, + "trainingDatasetUri": "A String", # Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + "validationDatasetUri": "A String", # Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. + }, + "satisfiesPzi": True or False, # Output only. Reserved for future use. + "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. + "state": "A String", # Output only. The detailed state of the job. + "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning. + "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation. + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. }, - "type": "A String", # Required. The type of the computation based metric. + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. }, - "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. - "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. }, - "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. }, - "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. - "additionalConfig": { # Optional. Optional additional configuration for the metric. - "a_key": "", # Properties of the object. + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. }, - "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). - "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` - "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. - "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. - "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. - "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. - "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. - "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. - "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. - "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" - "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. - "compressionQuality": 42, # Optional. The compression quality of the output image. - "mimeType": "A String", # Optional. The image format that the output should be saved as. - }, - "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. - "personGeneration": "A String", # Optional. Controls whether the model can generate people. - "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. - }, - "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. - "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32. + }, + "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations. + { # Defines a custom dataset-level aggregation. + "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] } + "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field. + }, + ], + "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. + "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. + "modelConfig": { # Config for model selection. # Optional. Config for model selection. + "featureSelectionPreference": "A String", # Required. Feature selection preference. + }, + "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0]. + "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`. + "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging. + "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. + "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image. + "A String", + ], + "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`. + "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema. + "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`. + # Object with schema name: GoogleCloudAiplatformV1beta1Schema + ], + "default": "", # Optional. Default value to use if the field is not specified. + "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt. + "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}` + "A String", + ], + "example": "", # Optional. Example of an instance of this schema. + "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type. + "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array. + "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array. + "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string. + "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided. + "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value. + "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array. + "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string. + "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided. + "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value. + "nullable": True or False, # Optional. Indicates if the value of this field can be null. + "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match. + "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object. + "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema + }, + "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties. + "A String", + ], + "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring + "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present. + "A String", + ], + "title": "A String", # Optional. Title for the schema. + "type": "A String", # Optional. Data type of the schema field. + }, + "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration. + "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request. + "modelRoutingPreference": "A String", # The model routing preference. + }, + "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually. + "modelName": "A String", # The name of the model to use. Only public LLM models are accepted. + }, + }, + "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results. + "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config. + "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis. + "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`. + "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided. + { # Configuration for a single speaker in a multi-speaker setup. + "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt. + "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + ], + }, + "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use. + "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice. + "voiceName": "A String", # The name of the prebuilt voice to use. + }, + "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample. + "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set. + "voiceSampleAudio": "A String", # Optional. The sample of the custom voice. + }, + }, + }, + "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker. + "A String", + ], + "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0]. + "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking. + "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available. + "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency. + "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate. + }, + "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words. + "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both. + }, + "metrics": [ # Required. The metrics used for evaluation. + { # The metric used for running evaluations. + "aggregationMetrics": [ # Optional. The aggregation metrics to use. + "A String", + ], + "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric. + "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score. + }, + "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric. + "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}. + "a_key": "", # Properties of the object. + }, + "type": "A String", # Required. The type of the computation based metric. + }, + "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric. + "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function. + }, + "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric. + }, + "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric. + "additionalConfig": { # Optional. Optional additional configuration for the metric. + "a_key": "", # Properties of the object. + }, + "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater). + "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. + "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. + "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response. + "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one. + "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response. + "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0]. + "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features. + "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9" + "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images. + "compressionQuality": 42, # Optional. The compression quality of the output image. + "mimeType": "A String", # Optional. The image format that the output should be saved as. + }, + "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`. + "personGeneration": "A String", # Optional. Controls whether the model can generate people. + "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people. + }, + "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response. + "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses. "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model. "modelConfig": { # Config for model selection. # Optional. Config for model selection. "featureSelectionPreference": "A String", # Required. Feature selection preference. @@ -4885,23 +7781,203 @@

Method Details

"tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob. "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. + "buckets": [ # Output only. Defines the histogram bucket. + { # Dataset bucket used to create a histogram for the distribution given a population of values. + "count": "A String", # Output only. Number of values in the bucket. + "left": 3.14, # Output only. Left bound of the bucket. + "right": 3.14, # Output only. Right bound of the bucket. + }, + ], + "max": 3.14, # Output only. The maximum of the population values. + "mean": 3.14, # Output only. The arithmetic mean of the values in the population. + "median": 3.14, # Output only. The median of the values in the population. + "min": 3.14, # Output only. The minimum of the population values. + "p5": 3.14, # Output only. The 5th percentile of the values in the population. + "p95": 3.14, # Output only. The 95th percentile of the values in the population. + "sum": 3.14, # Output only. Sum of a given population of values. + }, "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. "A String", ], "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped. "A String", ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning. + "userDatasetExamples": [ # List of user datasset examples showing to user. + { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. + "contents": [ # Multi-turn contents that represents the Prompt. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + ], + "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself. + "a_key": "A String", + }, + "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + }, + "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. + "code": "A String", # Required. The code to be executed. + "language": "A String", # Required. Programming language of the `code`. + }, + "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. + "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. + "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. + "a_key": "", # Properties of the object. + }, + "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. + "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. + "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. + { # Partial argument value of the function call. + "boolValue": True or False, # Optional. Represents a boolean value. + "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". + "nullValue": "A String", # Optional. Represents a null value. + "numberValue": 3.14, # Optional. Represents a double value. + "stringValue": "A String", # Optional. Represents a string value. + "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. + }, + ], + "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. + }, + "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. + "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. + "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. + "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. + { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. + "fileData": { # URI based data for function response. # URI based data. + "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "fileUri": "A String", # Required. URI. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. + "data": "A String", # Required. Raw bytes. + "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + }, + ], + "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. + "a_key": "", # Properties of the object. + }, + "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. + }, + "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. + "data": "A String", # Required. The raw bytes of the data. + "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. + "mimeType": "A String", # Required. The IANA standard MIME type of the source data. + }, + "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. + "level": "A String", # The tokenization quality used for given media. + }, + "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. + "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. + "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. + "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. + "endOffset": "A String", # Optional. The end offset of the video. + "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. + "startOffset": "A String", # Optional. The start offset of the video. + }, + }, + ], + "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. + }, + }, + ], + }, + "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. + "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. + "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. + "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. + "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. + "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. + { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. + "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. + { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. + "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. + "outcome": "A String", # Required. Outcome of the code execution. + "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. }, "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. "code": "A String", # Required. The code to be executed. @@ -5261,136 +8337,11 @@

Method Details

"sum": 3.14, # Output only. Sum of a given population of values. }, }, - "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats. - "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped. - "A String", - ], - "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset. - "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset. - "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc. - "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset. - "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples. - "A String", - ], - "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset. - "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job. - "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri. - { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode. - "outcome": "A String", # Required. Outcome of the code execution. - "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - }, - "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed. - "code": "A String", # Required. The code to be executed. - "language": "A String", # Required. Programming language of the `code`. - }, - "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - "a_key": "", # Properties of the object. - }, - "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`. - "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name. - "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - { # Partial argument value of the function call. - "boolValue": True or False, # Optional. Represents a boolean value. - "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". - "nullValue": "A String", # Optional. Represents a null value. - "numberValue": 3.14, # Optional. Represents a double value. - "stringValue": "A String", # Optional. Represents a string value. - "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. - }, - ], - "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. - }, - "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. - "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`. - "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. - "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. - { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. - "fileData": { # URI based data for function response. # URI based data. - "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. - "fileUri": "A String", # Required. URI. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes. - "data": "A String", # Required. Raw bytes. - "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - }, - ], - "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output. - "a_key": "", # Properties of the object. - }, - "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. - }, - "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. - "data": "A String", # Required. The raw bytes of the data. - "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - "mimeType": "A String", # Required. The IANA standard MIME type of the source data. - }, - "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media. - "level": "A String", # The tokenization quality used for given media. - }, - "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. - "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning. - "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests. - "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. - "endOffset": "A String", # Optional. The end offset of the video. - "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. - "startOffset": "A String", # Optional. The start offset of the video. - }, - }, - ], - "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. - }, - ], - "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. - "buckets": [ # Output only. Defines the histogram bucket. - { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. - "left": 3.14, # Output only. Left bound of the bucket. - "right": 3.14, # Output only. Right bound of the bucket. - }, - ], - "max": 3.14, # Output only. The maximum of the population values. - "mean": 3.14, # Output only. The arithmetic mean of the values in the population. - "median": 3.14, # Output only. The median of the values in the population. - "min": 3.14, # Output only. The minimum of the population values. - "p5": 3.14, # Output only. The 5th percentile of the values in the population. - "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. - }, - "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. - "buckets": [ # Output only. Defines the histogram bucket. - { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. - "left": 3.14, # Output only. Left bound of the bucket. - "right": 3.14, # Output only. Right bound of the bucket. - }, - ], - "max": 3.14, # Output only. The maximum of the population values. - "mean": 3.14, # Output only. The arithmetic mean of the values in the population. - "median": 3.14, # Output only. The median of the values in the population. - "min": 3.14, # Output only. The minimum of the population values. - "p5": 3.14, # Output only. The 5th percentile of the values in the population. - "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. - }, - "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens. - "billableSum": "A String", # Output only. Sum of a given population of values that are billable. + "reinforcementTuningDataStats": { # Statistics computed over a tuning dataset. # Output only. Statistics for reinforcement tuning. + "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example. "buckets": [ # Output only. Defines the histogram bucket. { # Dataset bucket used to create a histogram for the distribution given a population of values. - "count": 3.14, # Output only. Number of values in the bucket. + "count": "A String", # Output only. Number of values in the bucket. "left": 3.14, # Output only. Left bound of the bucket. "right": 3.14, # Output only. Right bound of the bucket. }, @@ -5401,1566 +8352,3517 @@

Method Details

"min": 3.14, # Output only. The minimum of the population values. "p5": 3.14, # Output only. The 5th percentile of the values in the population. "p95": 3.14, # Output only. The 95th percentile of the values in the population. - "sum": "A String", # Output only. Sum of a given population of values. + "sum": 3.14, # Output only. Sum of a given population of values. }, - }, - }, - "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata. - "completedEpochCount": "A String", # Output only. The number of epochs that have been completed. - "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL. - }, - "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running). - "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated. - "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE. - }, - "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning. - "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo. - "adapterSize": "A String", # Optional. The adapter size for LoRA tuning. - "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training. - "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. - "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models. - "tuningTask": "A String", # The tuning task for Veo. - "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1. - }, - "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset. - }, - }, - ], -} - - -
- 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.
-        
-
- -
- optimizePrompt(parent, body=None, x__xgafv=None) -
Optimizes a prompt. Given a prompt, this method returns a stream of optimized prompts expanded from the original prompt.
-
-Args:
-  parent: string, Required. The resource name of the location to optimize the prompt in. Format: `projects/{project}/locations/{location}` (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Request message for GenAiTuningService.OptimizePrompt.
-  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the prompt to optimize.
-    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-          "outcome": "A String", # Required. Outcome of the code execution.
-          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-        },
-        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-          "code": "A String", # Required. The code to be executed.
-          "language": "A String", # Required. Programming language of the `code`.
-        },
-        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-        },
-        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-            "a_key": "", # Properties of the object.
+          "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+            "A String",
+          ],
+          "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
+            "A String",
+          ],
+          "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning.
+            "userDatasetExamples": [ # List of user datasset examples showing to user.
+              { # User-facing format for Gemini Reinforcement Tuning examples on Vertex.
+                "contents": [ # Multi-turn contents that represents the Prompt.
+                  { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                          "outcome": "A String", # Required. Outcome of the code execution.
+                          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                        },
+                        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                          "code": "A String", # Required. The code to be executed.
+                          "language": "A String", # Required. Programming language of the `code`.
+                        },
+                        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                            { # Partial argument value of the function call.
+                              "boolValue": True or False, # Optional. Represents a boolean value.
+                              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                              "nullValue": "A String", # Optional. Represents a null value.
+                              "numberValue": 3.14, # Optional. Represents a double value.
+                              "stringValue": "A String", # Optional. Represents a string value.
+                              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                            },
+                          ],
+                          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                        },
+                        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                              "fileData": { # URI based data for function response. # URI based data.
+                                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "fileUri": "A String", # Required. URI.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                "data": "A String", # Required. Raw bytes.
+                                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                            },
+                          ],
+                          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                        },
+                        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                          "data": "A String", # Required. The raw bytes of the data.
+                          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                          "level": "A String", # The tokenization quality used for given media.
+                        },
+                        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                          "endOffset": "A String", # Optional. The end offset of the video.
+                          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                          "startOffset": "A String", # Optional. The start offset of the video.
+                        },
+                      },
+                    ],
+                    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                  },
+                ],
+                "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself.
+                  "a_key": "A String",
+                },
+                "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest.
+                  "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                    { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                      "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                        "outcome": "A String", # Required. Outcome of the code execution.
+                        "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                      },
+                      "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                        "code": "A String", # Required. The code to be executed.
+                        "language": "A String", # Required. Programming language of the `code`.
+                      },
+                      "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                        "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                        "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                        "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                        "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                          { # Partial argument value of the function call.
+                            "boolValue": True or False, # Optional. Represents a boolean value.
+                            "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                            "nullValue": "A String", # Optional. Represents a null value.
+                            "numberValue": 3.14, # Optional. Represents a double value.
+                            "stringValue": "A String", # Optional. Represents a string value.
+                            "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                          },
+                        ],
+                        "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                      },
+                      "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                        "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                        "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                        "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                          { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                            "fileData": { # URI based data for function response. # URI based data.
+                              "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "fileUri": "A String", # Required. URI.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                            "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                              "data": "A String", # Required. Raw bytes.
+                              "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                          },
+                        ],
+                        "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                      },
+                      "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                        "data": "A String", # Required. The raw bytes of the data.
+                        "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                        "level": "A String", # The tokenization quality used for given media.
+                      },
+                      "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                      "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                      "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                      "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                        "endOffset": "A String", # Optional. The end offset of the video.
+                        "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                        "startOffset": "A String", # Optional. The start offset of the video.
+                      },
+                    },
+                  ],
+                  "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                },
+              },
+            ],
           },
-          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-            { # Partial argument value of the function call.
-              "boolValue": True or False, # Optional. Represents a boolean value.
-              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-              "nullValue": "A String", # Optional. Represents a null value.
-              "numberValue": 3.14, # Optional. Represents a double value.
-              "stringValue": "A String", # Optional. Represents a string value.
-              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+          "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
+          "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+          "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
+          "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+          "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+          "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
+            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                  },
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
+                  },
+                },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          ],
+          "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
+          },
+          "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
+          },
+          "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
+          },
+        },
+        "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats.
+          "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped.
+            "A String",
+          ],
+          "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
+          "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+          "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.
+          "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
+          "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+            "A String",
+          ],
+          "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+          "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+          "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
+            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                  },
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                      "a_key": "", # Properties of the object.
+                    },
+                    "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
+                  },
+                },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          ],
+          "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens.
+            "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": 3.14, # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": "A String", # Output only. Sum of a given population of values.
+          },
+          "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example.
+            "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": 3.14, # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": "A String", # Output only. Sum of a given population of values.
+          },
+          "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens.
+            "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": 3.14, # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": "A String", # Output only. Sum of a given population of values.
+          },
+        },
+      },
+      "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata.
+        "completedEpochCount": "A String", # Output only. The number of epochs that have been completed.
+        "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL.
+      },
+      "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running).
+      "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated.
+      "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning.
+        "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA.
+          "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
+          "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+          "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+          "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
+          "tuningTask": "A String", # The tuning task for Veo.
+          "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
+        },
+        "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+        "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+        "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE.
+      },
+      "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning.
+        "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo.
+          "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
+          "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+          "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+          "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
+          "tuningTask": "A String", # The tuning task for Veo.
+          "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
+        },
+        "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+        "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      },
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ +
+ optimizePrompt(parent, body=None, x__xgafv=None) +
Optimizes a prompt. Given a prompt, this method returns a stream of optimized prompts expanded from the original prompt.
+
+Args:
+  parent: string, Required. The resource name of the location to optimize the prompt in. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GenAiTuningService.OptimizePrompt.
+  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the prompt to optimize.
+    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+          "outcome": "A String", # Required. Outcome of the code execution.
+          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+        },
+        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+          "code": "A String", # Required. The code to be executed.
+          "language": "A String", # Required. Programming language of the `code`.
+        },
+        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+            "a_key": "", # Properties of the object.
+          },
+          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+            { # Partial argument value of the function call.
+              "boolValue": True or False, # Optional. Represents a boolean value.
+              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+              "nullValue": "A String", # Optional. Represents a null value.
+              "numberValue": 3.14, # Optional. Represents a double value.
+              "stringValue": "A String", # Optional. Represents a string value.
+              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+            },
+          ],
+          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+        },
+        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+              "fileData": { # URI based data for function response. # URI based data.
+                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "fileUri": "A String", # Required. URI.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              },
+              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                "data": "A String", # Required. Raw bytes.
+                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              },
+            },
+          ],
+          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+            "a_key": "", # Properties of the object.
+          },
+          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+        },
+        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+          "data": "A String", # Required. The raw bytes of the data.
+          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+          "level": "A String", # The tokenization quality used for given media.
+        },
+        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+          "endOffset": "A String", # Optional. The end offset of the video.
+          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+          "startOffset": "A String", # Optional. The start offset of the video.
+        },
+      },
+    ],
+    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+  },
+  "optimizationTarget": "A String", # Optional. The optimization strategy to use.
+}
+
+  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 GenAiTuningService.OptimizePrompt
+  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Output only. The optimized prompt.
+    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+          "outcome": "A String", # Required. Outcome of the code execution.
+          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+        },
+        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+          "code": "A String", # Required. The code to be executed.
+          "language": "A String", # Required. Programming language of the `code`.
+        },
+        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+            "a_key": "", # Properties of the object.
+          },
+          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+            { # Partial argument value of the function call.
+              "boolValue": True or False, # Optional. Represents a boolean value.
+              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+              "nullValue": "A String", # Optional. Represents a null value.
+              "numberValue": 3.14, # Optional. Represents a double value.
+              "stringValue": "A String", # Optional. Represents a string value.
+              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+            },
+          ],
+          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+        },
+        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+              "fileData": { # URI based data for function response. # URI based data.
+                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "fileUri": "A String", # Required. URI.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              },
+              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                "data": "A String", # Required. Raw bytes.
+                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              },
+            },
+          ],
+          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+            "a_key": "", # Properties of the object.
+          },
+          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+        },
+        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+          "data": "A String", # Required. The raw bytes of the data.
+          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+          "level": "A String", # The tokenization quality used for given media.
+        },
+        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+          "endOffset": "A String", # Optional. The end offset of the video.
+          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+          "startOffset": "A String", # Optional. The start offset of the video.
+        },
+      },
+    ],
+    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+  },
+}
+
+ +
+ processData(parent, body=None, x__xgafv=None) +
Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.
+
+Args:
+  parent: string, Required. The resource name of the Location to process the data in. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GenAiTuningService.ProcessData.
+  "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Optional. The GCS bucket to store the processed videos and captions data.
+    "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.
+  },
+  "gcsSource": { # The Google Cloud Storage location for the input content. # Optional. A JSONL file containing a list of files to process stored in the user's GCS bucket.
+    "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
+      "A String",
+    ],
+  },
+  "veoSpec": { # Spec for Veo data processing. # Optional. Spec for Veo data processing.
+    "processType": "A String", # Optional. The type of data processing to perform.
+  },
+}
+
+  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.
+  },
+}
+
+ +
+ rebaseTunedModel(parent, body=None, x__xgafv=None) +
Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.
+
+Args:
+  parent: string, Required. The resource name of the location in which to rebase the Model. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GenAiTuningService.RebaseTunedModel.
+  "artifactDestination": { # The Google Cloud Storage location where the output is to be written to. # Optional. The Google Cloud Storage location to write the artifacts to.
+    "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.
+  },
+  "deployToSameEndpoint": True or False, # Optional. By default, rebasing a model creates a new endpoint for the new model. If this flag is set to true, the new model will be deployed to the same endpoint as the original model. WARNING: If you deploy to the same endpoint, the original model will be un-deployed and replaced by the new model.
+  "tunedModelRef": { # TunedModel Reference for legacy model migration. # Required. A reference to the tuned model to rebase.
+    "pipelineJob": "A String", # Support migration from tuning job list page, from bison model to gemini model.
+    "tunedModel": "A String", # Support migration from model registry.
+    "tuningJob": "A String", # Support migration from tuning job list page, from gemini-1.0-pro-002 to 1.5 and above.
+  },
+  "tuningJob": { # Represents a TuningJob that runs with Google owned models. # Optional. The tuning job to be updated. Users can use this field to overwrite tuning configs.
+    "baseModel": "A String", # The base model that is being tuned. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).
+    "createTime": "A String", # Output only. Time when the TuningJob was created.
+    "customBaseModel": "A String", # Optional. The user-provided path to custom model weights. Set this field to tune a custom model. The path must be a Cloud Storage directory that contains the model weights in .safetensors format along with associated model metadata files. If this field is set, the base_model field must still be set to indicate which base model the custom model is derived from. This feature is only available for open source models.
+    "description": "A String", # Optional. The description of the TuningJob.
+    "distillationSpec": { # Tuning Spec for Distillation. # Tuning Spec for Distillation.
+      "baseTeacherModel": "A String", # The base teacher model that is being distilled. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).
+      "hyperParameters": { # Hyperparameters for Distillation. # Optional. Hyperparameters for Distillation.
+        "adapterSize": "A String", # Optional. Adapter size for distillation.
+        "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models.
+        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+        "learningRate": 3.14, # Optional. Specifies the learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+      },
+      "pipelineRootDirectory": "A String", # Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.
+      "promptDatasetUri": "A String", # Optional. Cloud Storage path to file containing prompt dataset for distillation. The dataset must be formatted as a JSONL file.
+      "studentModel": "A String", # The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". Deprecated. Use base_model instead.
+      "trainingDatasetUri": "A String", # Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
+      "tunedTeacherModelSource": "A String", # The resource name of the Tuned teacher model. Format: `projects/{project}/locations/{location}/models/{model}`.
+      "tuningMode": "A String", # Optional. Specifies the tuning mode for distillation (sft part). This feature is only available for open source models.
+      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
+    },
+    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key.
+      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+    },
+    "endTime": "A String", # Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.
+    "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). # Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
+      "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.
+    },
+    "evaluateDatasetRuns": [ # Output only. Evaluation runs for the Tuning Job.
+      { # Evaluate Dataset Run Result for Tuning Job.
+        "checkpointId": "A String", # Output only. The checkpoint id used in the evaluation run. Only populated when evaluating checkpoints.
+        "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). # Output only. The error of the evaluation run if any.
+          "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.
+        },
+        "evaluateDatasetResponse": { # The results from an evaluation run performed by the EvaluationService. # Output only. Results for EvaluationService.
+          "aggregationOutput": { # The aggregation result for the entire dataset and all metrics. # Output only. Aggregation statistics derived from results of EvaluationService.
+            "aggregationResults": [ # One AggregationResult per metric.
+              { # The aggregation result for a single metric.
+                "aggregationMetric": "A String", # Aggregation metric.
+                "bleuMetricValue": { # Bleu metric value for an instance. # Results for bleu metric.
+                  "score": 3.14, # Output only. Bleu score.
+                },
+                "customCodeExecutionResult": { # Result for custom code execution metric. # Result for code execution metric.
+                  "score": 3.14, # Output only. Custom code execution score.
+                },
+                "exactMatchMetricValue": { # Exact match metric value for an instance. # Results for exact match metric.
+                  "score": 3.14, # Output only. Exact match score.
+                },
+                "pairwiseMetricResult": { # Spec for pairwise metric result. # Result for pairwise metric.
+                  "customOutput": { # Spec for custom output. # Output only. Spec for custom output.
+                    "rawOutputs": { # Raw output. # Output only. List of raw output strings.
+                      "rawOutput": [ # Output only. Raw output string.
+                        "A String",
+                      ],
+                    },
+                  },
+                  "explanation": "A String", # Output only. Explanation for pairwise metric score.
+                  "pairwiseChoice": "A String", # Output only. Pairwise metric choice.
+                },
+                "pointwiseMetricResult": { # Spec for pointwise metric result. # Result for pointwise metric.
+                  "customOutput": { # Spec for custom output. # Output only. Spec for custom output.
+                    "rawOutputs": { # Raw output. # Output only. List of raw output strings.
+                      "rawOutput": [ # Output only. Raw output string.
+                        "A String",
+                      ],
+                    },
+                  },
+                  "explanation": "A String", # Output only. Explanation for pointwise metric score.
+                  "score": 3.14, # Output only. Pointwise metric score.
+                },
+                "rougeMetricValue": { # Rouge metric value for an instance. # Results for rouge metric.
+                  "score": 3.14, # Output only. Rouge score.
+                },
+              },
+            ],
+            "dataset": { # The dataset used for evaluation. # The dataset used for evaluation & aggregation.
+              "bigquerySource": { # The BigQuery location for the input content. # BigQuery source holds the dataset.
+                "inputUri": "A String", # Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.
+              },
+              "gcsSource": { # The Google Cloud Storage location for the input content. # Cloud storage source holds the dataset. Currently only one Cloud Storage file path is supported.
+                "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
+                  "A String",
+                ],
+              },
+            },
+          },
+          "outputInfo": { # Describes the info for output of EvaluationService. # Output only. Output info for EvaluationService.
+            "gcsOutputDirectory": "A String", # Output only. The full path of the Cloud Storage directory created, into which the evaluation results and aggregation results are written.
+          },
+        },
+        "evaluationRun": "A String", # Output only. The resource name of the evaluation run. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run_id}`.
+        "operationName": "A String", # Output only. Deprecated: The updated architecture uses evaluation_run instead.
+      },
+    ],
+    "experiment": "A String", # Output only. The Experiment associated with this TuningJob.
+    "fullFineTuningSpec": { # Tuning Spec for Full Fine Tuning. # Tuning Spec for Full Fine Tuning.
+      "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for Full Fine Tuning.
+        "adapterSize": "A String", # Optional. Adapter size for tuning.
+        "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models.
+        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+        "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.
+      },
+      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+    },
+    "labels": { # Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
+      "a_key": "A String",
+    },
+    "name": "A String", # Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
+    "outputUri": "A String", # Optional. Cloud Storage path to the directory where tuning job outputs are written to. This field is only available and required for open source models.
+    "partnerModelTuningSpec": { # Tuning spec for Partner models. # Tuning Spec for open sourced and third party Partner models.
+      "hyperParameters": { # Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model.
+        "a_key": "",
+      },
+      "trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
+      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
+    },
+    "pipelineJob": "A String", # Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
+    "preTunedModel": { # A pre-tuned model for continuous tuning. # The pre-tuned model for continuous tuning.
+      "baseModel": "A String", # Output only. The name of the base model this PreTunedModel was tuned from.
+      "checkpointId": "A String", # Optional. The source checkpoint id. If not specified, the default checkpoint will be used.
+      "tunedModelName": "A String", # The resource name of the Model. E.g., a model resource name with a specified version id or alias: `projects/{project}/locations/{location}/models/{model}@{version_id}` `projects/{project}/locations/{location}/models/{model}@{alias}` Or, omit the version id to use the default version: `projects/{project}/locations/{location}/models/{model}`
+    },
+    "preferenceOptimizationSpec": { # Tuning Spec for Preference Optimization. # Tuning Spec for Preference Optimization.
+      "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for Preference Optimization and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for Preference Optimization. Default is false.
+      "hyperParameters": { # Hyperparameters for Preference Optimization. # Optional. Hyperparameters for Preference Optimization.
+        "adapterSize": "A String", # Optional. Adapter size for preference optimization.
+        "beta": 3.14, # Optional. Weight for KL Divergence regularization.
+        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+      },
+      "trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.
+      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.
+    },
+    "reinforcementTuningSpec": { # Spec for Reinforcement Tuning. # Tuning Spec for Reinforcement Tuning.
+      "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Composite reward function configuration for reinforcement tuning.
+        "weightedRewardConfigs": [ # List of reward function configurations with weights.
+          { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight.
+            "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration.
+              "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater.
+                "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater
+                  "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+                  "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+                  "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+                    "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+                    "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+                    "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+                    "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+                    "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+                      "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                      "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                        "compressionQuality": 42, # Optional. The compression quality of the output image.
+                        "mimeType": "A String", # Optional. The image format that the output should be saved as.
+                      },
+                      "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                      "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                      "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+                    },
+                    "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+                    "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+                    "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+                    "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                      "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                    },
+                    "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+                    "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+                    "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+                    "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+                    "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                      "A String",
+                    ],
+                    "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+                      "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                      "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                        # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      ],
+                      "default": "", # Optional. Default value to use if the field is not specified.
+                      "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                      "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                        "A String",
+                      ],
+                      "example": "", # Optional. Example of an instance of this schema.
+                      "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                      "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                      "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                      "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                      "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                      "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                      "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                      "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                      "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                      "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                      "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                      "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                      "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                        "A String",
+                      ],
+                      "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+                      "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                        "A String",
+                      ],
+                      "title": "A String", # Optional. Title for the schema.
+                      "type": "A String", # Optional. Data type of the schema field.
+                    },
+                    "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                      "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                        "modelRoutingPreference": "A String", # The model routing preference.
+                      },
+                      "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                        "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                      },
+                    },
+                    "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+                    "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                      "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                      "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                        "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                          { # Configuration for a single speaker in a multi-speaker setup.
+                            "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                            "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                                "voiceName": "A String", # The name of the prebuilt voice to use.
+                              },
+                              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                              },
+                            },
+                          },
+                        ],
+                      },
+                      "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                        "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                          "voiceName": "A String", # The name of the prebuilt voice to use.
+                        },
+                        "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                          "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                          "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                        },
+                      },
+                    },
+                    "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                      "A String",
+                    ],
+                    "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+                    "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                      "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                      "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                      "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+                    },
+                    "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+                    "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+                  },
+                  "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+                },
+                "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt.
+                "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0".
+                  "parseType": "A String", # Defines how to parse sample response.
+                  "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+                },
+                "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer.
+                  "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression.
+                  "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3".
+                  "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression.
+                },
+                "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+                },
+              },
+              "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service.
+                "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service.
+              },
+              "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases.
+                "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+              },
+              "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response.
+                "parseType": "A String", # Defines how to parse sample response.
+                "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+              },
+              "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward.
+              "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code.
+                "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward.
+                "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response.
+                  "keyName": "A String", # Json key name to find the value to match against.
+                  "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key.
+                    "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+                    "matchOperation": "A String", # Match operation to use for evaluation.
+                  },
+                },
+                "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response.
+                  "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+                  "matchOperation": "A String", # Match operation to use for evaluation.
+                },
+                "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward.
+              },
+            },
+            "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1.
+          },
+        ],
+      },
+      "hyperParameters": { # Hyperparameters for Reinforcement Tuning. # Optional. Additional hyper-parameters to use during tuning.
+        "adapterSize": "A String", # Optional. Adapter size for Reinforcement Tuning.
+        "batchSize": 42, # Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically.
+        "checkpointInterval": 42, # Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.```
+        "epochCount": "A String", # Optional. Number of training epoches for the tuning job.
+        "evaluateInterval": 42, # Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.```
+        "learningRateMultiplier": 3.14, # Optional. Learning rate multiplier for Reinforcement Learning.
+        "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768.
+        "samplesPerPrompt": 42, # Optional. Number of different responses to generate per prompt during tuning.
+        "thinkingBudget": 42, # Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking).
+        "thinkingLevel": "A String", # Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error.
+      },
+      "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward function configuration for reinforcement tuning.
+        "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater.
+          "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater
+            "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+            "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+            "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+              "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+              "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+              "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+              "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+              "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+                "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                  "compressionQuality": 42, # Optional. The compression quality of the output image.
+                  "mimeType": "A String", # Optional. The image format that the output should be saved as.
+                },
+                "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+              },
+              "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+              "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+              "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+              "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                "featureSelectionPreference": "A String", # Required. Feature selection preference.
+              },
+              "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+              "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+              "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+              "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+              "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                "A String",
+              ],
+              "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+                "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                  # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                ],
+                "default": "", # Optional. Default value to use if the field is not specified.
+                "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                },
+                "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                  "A String",
+                ],
+                "example": "", # Optional. Example of an instance of this schema.
+                "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                  "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                },
+                "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                  "A String",
+                ],
+                "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+                "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                  "A String",
+                ],
+                "title": "A String", # Optional. Title for the schema.
+                "type": "A String", # Optional. Data type of the schema field.
+              },
+              "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                  "modelRoutingPreference": "A String", # The model routing preference.
+                },
+                "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                  "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                },
+              },
+              "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+              "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                  "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                    { # Configuration for a single speaker in a multi-speaker setup.
+                      "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                      "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                        "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                          "voiceName": "A String", # The name of the prebuilt voice to use.
+                        },
+                        "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                          "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                          "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                        },
+                      },
+                    },
+                  ],
+                },
+                "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                  "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                    "voiceName": "A String", # The name of the prebuilt voice to use.
+                  },
+                  "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                    "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                    "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                  },
+                },
+              },
+              "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                "A String",
+              ],
+              "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+              "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+              },
+              "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+              "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+            },
+            "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+          },
+          "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt.
+          "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0".
+            "parseType": "A String", # Defines how to parse sample response.
+            "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+          },
+          "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer.
+            "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression.
+            "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3".
+            "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression.
+          },
+          "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+          },
+        },
+        "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service.
+          "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service.
+        },
+        "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases.
+          "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+        },
+        "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response.
+          "parseType": "A String", # Defines how to parse sample response.
+          "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+        },
+        "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward.
+        "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code.
+          "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward.
+          "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response.
+            "keyName": "A String", # Json key name to find the value to match against.
+            "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key.
+              "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+              "matchOperation": "A String", # Match operation to use for evaluation.
+            },
+          },
+          "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response.
+            "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+            "matchOperation": "A String", # Match operation to use for evaluation.
+          },
+          "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward.
+        },
+      },
+      "trainingDatasetUri": "A String", # Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
+      "validationDatasetUri": "A String", # Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
+    },
+    "satisfiesPzi": True or False, # Output only. Reserved for future use.
+    "satisfiesPzs": True or False, # Output only. Reserved for future use.
+    "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.
+    "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.
+    "state": "A String", # Output only. The detailed state of the job.
+    "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning.
+      "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job.
+        "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation.
+          "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+          "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+          "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+            "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+            "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+            "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+            "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+            "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+              "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+              "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                "compressionQuality": 42, # Optional. The compression quality of the output image.
+                "mimeType": "A String", # Optional. The image format that the output should be saved as.
+              },
+              "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+              "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+              "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+            },
+            "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+            "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+            "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+            "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+              "featureSelectionPreference": "A String", # Required. Feature selection preference.
+            },
+            "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+            "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+            "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+            "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+            "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+              "A String",
+            ],
+            "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+              ],
+              "default": "", # Optional. Default value to use if the field is not specified.
+              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+              },
+              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                "A String",
+              ],
+              "example": "", # Optional. Example of an instance of this schema.
+              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+              },
+              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                "A String",
+              ],
+              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                "A String",
+              ],
+              "title": "A String", # Optional. Title for the schema.
+              "type": "A String", # Optional. Data type of the schema field.
+            },
+            "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+              "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                "modelRoutingPreference": "A String", # The model routing preference.
+              },
+              "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+              },
+            },
+            "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+            "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+              "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+              "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                  { # Configuration for a single speaker in a multi-speaker setup.
+                    "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                    "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                      "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                        "voiceName": "A String", # The name of the prebuilt voice to use.
+                      },
+                      "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                        "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                        "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                      },
+                    },
+                  },
+                ],
+              },
+              "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                  "voiceName": "A String", # The name of the prebuilt voice to use.
+                },
+                "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                  "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                  "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                },
+              },
+            },
+            "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+              "A String",
+            ],
+            "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+            "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+              "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+              "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+              "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+            },
+            "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+            "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+          },
+          "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+        },
+        "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations.
+          { # Defines a custom dataset-level aggregation.
+            "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] }
+            "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
+          },
+        ],
+        "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used.
+          "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+          "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+          "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+          "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+          "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+            "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+            "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+              "compressionQuality": 42, # Optional. The compression quality of the output image.
+              "mimeType": "A String", # Optional. The image format that the output should be saved as.
+            },
+            "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+            "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+            "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+          },
+          "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+          "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+          "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+          "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+            "featureSelectionPreference": "A String", # Required. Feature selection preference.
+          },
+          "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+          "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+          "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+          "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+          "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+            "A String",
+          ],
+          "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            ],
+            "default": "", # Optional. Default value to use if the field is not specified.
+            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            },
+            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+              "A String",
+            ],
+            "example": "", # Optional. Example of an instance of this schema.
+            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            },
+            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+              "A String",
+            ],
+            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+              "A String",
+            ],
+            "title": "A String", # Optional. Title for the schema.
+            "type": "A String", # Optional. Data type of the schema field.
+          },
+          "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+            "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+              "modelRoutingPreference": "A String", # The model routing preference.
+            },
+            "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+              "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+            },
+          },
+          "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+          "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+            "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+            "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+              "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                { # Configuration for a single speaker in a multi-speaker setup.
+                  "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                  "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                    "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                      "voiceName": "A String", # The name of the prebuilt voice to use.
+                    },
+                    "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                      "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                      "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                    },
+                  },
+                },
+              ],
+            },
+            "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                "voiceName": "A String", # The name of the prebuilt voice to use.
+              },
+              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+              },
+            },
+          },
+          "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+            "A String",
+          ],
+          "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+          "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+            "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+            "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+            "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+          },
+          "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+          "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+        },
+        "metrics": [ # Required. The metrics used for evaluation.
+          { # The metric used for running evaluations.
+            "aggregationMetrics": [ # Optional. The aggregation metrics to use.
+              "A String",
+            ],
+            "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric.
+              "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score.
+            },
+            "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
+              "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
+                "a_key": "", # Properties of the object.
+              },
+              "type": "A String", # Required. The type of the computation based metric.
+            },
+            "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric.
+              "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function.
+            },
+            "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric.
+            },
+            "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric.
+              "additionalConfig": { # Optional. Optional additional configuration for the metric.
+                "a_key": "", # Properties of the object.
+              },
+              "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater).
+                "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+                "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+                "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+                  "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+                  "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+                  "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+                  "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+                  "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+                    "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                    "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                      "compressionQuality": 42, # Optional. The compression quality of the output image.
+                      "mimeType": "A String", # Optional. The image format that the output should be saved as.
+                    },
+                    "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                    "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                    "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+                  },
+                  "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+                  "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+                  "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+                  "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                    "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                  },
+                  "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+                  "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+                  "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+                  "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+                  "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                    "A String",
+                  ],
+                  "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+                    "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                    "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                      # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    ],
+                    "default": "", # Optional. Default value to use if the field is not specified.
+                    "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    },
+                    "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                    "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                      "A String",
+                    ],
+                    "example": "", # Optional. Example of an instance of this schema.
+                    "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                    "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                    "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                    "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                    "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                    "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                    "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                    "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                    "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                    "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                    "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                    "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                    "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    },
+                    "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                      "A String",
+                    ],
+                    "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+                    "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                      "A String",
+                    ],
+                    "title": "A String", # Optional. Title for the schema.
+                    "type": "A String", # Optional. Data type of the schema field.
+                  },
+                  "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                    "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                      "modelRoutingPreference": "A String", # The model routing preference.
+                    },
+                    "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                      "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                    },
+                  },
+                  "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+                  "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                    "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                    "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                      "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                        { # Configuration for a single speaker in a multi-speaker setup.
+                          "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                          "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                            "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                              "voiceName": "A String", # The name of the prebuilt voice to use.
+                            },
+                            "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                              "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                              "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                            },
+                          },
+                        },
+                      ],
+                    },
+                    "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                      "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                        "voiceName": "A String", # The name of the prebuilt voice to use.
+                      },
+                      "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                        "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                        "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                      },
+                    },
+                  },
+                  "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                    "A String",
+                  ],
+                  "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+                  "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                    "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                    "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                    "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+                  },
+                  "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+                  "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+                },
+                "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+              },
+              "metricPromptTemplate": "A String", # Required. Template for the prompt sent to the judge model.
+              "predefinedRubricGenerationSpec": { # The spec for a pre-defined metric. # Dynamically generate rubrics using a predefined spec.
+                "metricSpecName": "A String", # Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
+                "metricSpecParameters": { # Optional. The parameters needed to run the pre-defined metric.
+                  "a_key": "", # Properties of the object.
+                },
+              },
+              "resultParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. The parser config for the metric result.
+                "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response.
+                  "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation
+                },
+              },
+              "rubricGenerationSpec": { # Specification for how rubrics should be generated. # Dynamically generate rubrics using this specification.
+                "modelConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Configuration for the model used in rubric generation. Configs including sampling count and base model can be specified here. Flipping is not supported for rubric generation.
+                  "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+                  "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+                  "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+                    "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+                    "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+                    "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+                    "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+                    "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+                      "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                      "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                        "compressionQuality": 42, # Optional. The compression quality of the output image.
+                        "mimeType": "A String", # Optional. The image format that the output should be saved as.
+                      },
+                      "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                      "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                      "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+                    },
+                    "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+                    "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+                    "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+                    "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                      "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                    },
+                    "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+                    "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+                    "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+                    "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+                    "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                      "A String",
+                    ],
+                    "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+                      "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                      "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                        # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      ],
+                      "default": "", # Optional. Default value to use if the field is not specified.
+                      "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                      "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                        "A String",
+                      ],
+                      "example": "", # Optional. Example of an instance of this schema.
+                      "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                      "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                      "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                      "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                      "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                      "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                      "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                      "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                      "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                      "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                      "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                      "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                      "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                      },
+                      "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                        "A String",
+                      ],
+                      "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+                      "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                        "A String",
+                      ],
+                      "title": "A String", # Optional. Title for the schema.
+                      "type": "A String", # Optional. Data type of the schema field.
+                    },
+                    "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                      "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                        "modelRoutingPreference": "A String", # The model routing preference.
+                      },
+                      "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                        "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                      },
+                    },
+                    "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+                    "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                      "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                      "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                        "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                          { # Configuration for a single speaker in a multi-speaker setup.
+                            "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                            "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                                "voiceName": "A String", # The name of the prebuilt voice to use.
+                              },
+                              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                              },
+                            },
+                          },
+                        ],
+                      },
+                      "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                        "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                          "voiceName": "A String", # The name of the prebuilt voice to use.
+                        },
+                        "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                          "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                          "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                        },
+                      },
+                    },
+                    "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                      "A String",
+                    ],
+                    "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+                    "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                      "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                      "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                      "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+                    },
+                    "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+                    "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+                  },
+                  "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+                },
+                "promptTemplate": "A String", # Template for the prompt used to generate rubrics. The details should be updated based on the most-recent recipe requirements.
+                "rubricContentType": "A String", # The type of rubric content to be generated.
+                "rubricTypeOntology": [ # Optional. An optional, pre-defined list of allowed types for generated rubrics. If this field is provided, it implies `include_rubric_type` should be true, and the generated rubric types should be chosen from this ontology.
+                  "A String",
+                ],
+              },
+              "rubricGroupKey": "A String", # Use a pre-defined group of rubrics associated with the input. Refers to a key in the rubric_groups map of EvaluationInstance.
+              "systemInstruction": "A String", # Optional. System instructions for the judge model.
             },
-          ],
-          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
-        },
-        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-              "fileData": { # URI based data for function response. # URI based data.
-                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                "fileUri": "A String", # Required. URI.
-                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+            "metadata": { # Metadata about the metric, used for visualization and organization. # Optional. Metadata about the metric, used for visualization and organization.
+              "otherMetadata": { # Optional. Flexible metadata for user-defined attributes.
+                "a_key": "", # Properties of the object.
               },
-              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                "data": "A String", # Required. Raw bytes.
-                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              "scoreRange": { # The range of possible scores for this metric, used for plotting. # Optional. The range of possible scores for this metric, used for plotting.
+                "description": "A String", # Optional. The description of the score explaining the directionality etc.
+                "max": 3.14, # Required. The maximum value of the score range (inclusive).
+                "min": 3.14, # Required. The minimum value of the score range (inclusive).
+                "step": 3.14, # Optional. The distance between discrete steps in the range. If unset, the range is assumed to be continuous.
               },
+              "title": "A String", # Optional. The user-friendly name for the metric. If not set for a registered metric, it will default to the metric's display name.
             },
-          ],
-          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-            "a_key": "", # Properties of the object.
-          },
-          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
-        },
-        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-          "data": "A String", # Required. The raw bytes of the data.
-          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-        },
-        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-          "level": "A String", # The tokenization quality used for given media.
-        },
-        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-          "endOffset": "A String", # Optional. The end offset of the video.
-          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-          "startOffset": "A String", # Optional. The start offset of the video.
-        },
-      },
-    ],
-    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
-  },
-  "optimizationTarget": "A String", # Optional. The optimization strategy to use.
-}
-
-  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 GenAiTuningService.OptimizePrompt
-  "content": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Output only. The optimized prompt.
-    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-          "outcome": "A String", # Required. Outcome of the code execution.
-          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-        },
-        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-          "code": "A String", # Required. The code to be executed.
-          "language": "A String", # Required. Programming language of the `code`.
-        },
-        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-        },
-        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-            "a_key": "", # Properties of the object.
-          },
-          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-            { # Partial argument value of the function call.
-              "boolValue": True or False, # Optional. Represents a boolean value.
-              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-              "nullValue": "A String", # Optional. Represents a null value.
-              "numberValue": 3.14, # Optional. Represents a double value.
-              "stringValue": "A String", # Optional. Represents a string value.
-              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+            "pairwiseMetricSpec": { # Spec for pairwise metric. # Spec for pairwise metric.
+              "baselineResponseFieldName": "A String", # Optional. The field name of the baseline response.
+              "candidateResponseFieldName": "A String", # Optional. The field name of the candidate response.
+              "customOutputFormatConfig": { # Spec for custom output format configuration. # Optional. CustomOutputFormatConfig allows customization of metric output. When this config is set, the default output is replaced with the raw output string. If a custom format is chosen, the `pairwise_choice` and `explanation` fields in the corresponding metric result will be empty.
+                "returnRawOutput": True or False, # Optional. Whether to return raw output.
+              },
+              "metricPromptTemplate": "A String", # Required. Metric prompt template for pairwise metric.
+              "systemInstruction": "A String", # Optional. System instructions for pairwise metric.
             },
-          ],
-          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
-        },
-        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-              "fileData": { # URI based data for function response. # URI based data.
-                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                "fileUri": "A String", # Required. URI.
-                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+            "pointwiseMetricSpec": { # Spec for pointwise metric. # Spec for pointwise metric.
+              "customOutputFormatConfig": { # Spec for custom output format configuration. # Optional. CustomOutputFormatConfig allows customization of metric output. By default, metrics return a score and explanation. When this config is set, the default output is replaced with either: - The raw output string. - A parsed output based on a user-defined schema. If a custom format is chosen, the `score` and `explanation` fields in the corresponding metric result will be empty.
+                "returnRawOutput": True or False, # Optional. Whether to return raw output.
               },
-              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                "data": "A String", # Required. Raw bytes.
-                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              "metricPromptTemplate": "A String", # Required. Metric prompt template for pointwise metric.
+              "systemInstruction": "A String", # Optional. System instructions for pointwise metric.
+            },
+            "predefinedMetricSpec": { # The spec for a pre-defined metric. # The spec for a pre-defined metric.
+              "metricSpecName": "A String", # Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
+              "metricSpecParameters": { # Optional. The parameters needed to run the pre-defined metric.
+                "a_key": "", # Properties of the object.
               },
             },
-          ],
-          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-            "a_key": "", # Properties of the object.
+            "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric.
+              "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.
+              "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum.
+              "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score.
+            },
+          },
+        ],
+        "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output.
+          "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud storage destination for evaluation output.
+            "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.
           },
-          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
-        },
-        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-          "data": "A String", # Required. The raw bytes of the data.
-          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-        },
-        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-          "level": "A String", # The tokenization quality used for given media.
-        },
-        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-          "endOffset": "A String", # Optional. The end offset of the video.
-          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-          "startOffset": "A String", # Optional. The start offset of the video.
         },
       },
-    ],
-    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
-  },
-}
-
- -
- rebaseTunedModel(parent, body=None, x__xgafv=None) -
Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.
-
-Args:
-  parent: string, Required. The resource name of the location in which to rebase the Model. Format: `projects/{project}/locations/{location}` (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Request message for GenAiTuningService.RebaseTunedModel.
-  "artifactDestination": { # The Google Cloud Storage location where the output is to be written to. # Optional. The Google Cloud Storage location to write the artifacts to.
-    "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.
-  },
-  "deployToSameEndpoint": True or False, # Optional. By default, rebasing a model creates a new endpoint for the new model. If this flag is set to true, the new model will be deployed to the same endpoint as the original model. WARNING: If you deploy to the same endpoint, the original model will be un-deployed and replaced by the new model.
-  "tunedModelRef": { # TunedModel Reference for legacy model migration. # Required. A reference to the tuned model to rebase.
-    "pipelineJob": "A String", # Support migration from tuning job list page, from bison model to gemini model.
-    "tunedModel": "A String", # Support migration from model registry.
-    "tuningJob": "A String", # Support migration from tuning job list page, from gemini-1.0-pro-002 to 1.5 and above.
-  },
-  "tuningJob": { # Represents a TuningJob that runs with Google owned models. # Optional. The tuning job to be updated. Users can use this field to overwrite tuning configs.
-    "baseModel": "A String", # The base model that is being tuned. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).
-    "createTime": "A String", # Output only. Time when the TuningJob was created.
-    "customBaseModel": "A String", # Optional. The user-provided path to custom model weights. Set this field to tune a custom model. The path must be a Cloud Storage directory that contains the model weights in .safetensors format along with associated model metadata files. If this field is set, the base_model field must still be set to indicate which base model the custom model is derived from. This feature is only available for open source models.
-    "description": "A String", # Optional. The description of the TuningJob.
-    "distillationSpec": { # Tuning Spec for Distillation. # Tuning Spec for Distillation.
-      "baseTeacherModel": "A String", # The base teacher model that is being distilled. See [Supported models](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/tuning#supported_models).
-      "hyperParameters": { # Hyperparameters for Distillation. # Optional. Hyperparameters for Distillation.
-        "adapterSize": "A String", # Optional. Adapter size for distillation.
+      "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.
+      "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for SFT.
+        "adapterSize": "A String", # Optional. Adapter size for tuning.
         "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models.
         "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRate": 3.14, # Optional. Specifies the learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+        "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.
       },
-      "pipelineRootDirectory": "A String", # Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.
-      "promptDatasetUri": "A String", # Optional. Cloud Storage path to file containing prompt dataset for distillation. The dataset must be formatted as a JSONL file.
-      "studentModel": "A String", # The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". Deprecated. Use base_model instead.
-      "trainingDatasetUri": "A String", # Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
-      "tunedTeacherModelSource": "A String", # The resource name of the Tuned teacher model. Format: `projects/{project}/locations/{location}/models/{model}`.
-      "tuningMode": "A String", # Optional. Specifies the tuning mode for distillation (sft part). This feature is only available for open source models.
-      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
-    },
-    "encryptionSpec": { # Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. # Customer-managed encryption key options for a TuningJob. If this is set, then all resources created by the TuningJob will be encrypted with the provided encryption key.
-      "kmsKeyName": "A String", # Required. Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
-    },
-    "endTime": "A String", # Output only. Time when the TuningJob entered any of the following JobStates: `JOB_STATE_SUCCEEDED`, `JOB_STATE_FAILED`, `JOB_STATE_CANCELLED`, `JOB_STATE_EXPIRED`.
-    "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). # Output only. Only populated when job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`.
-      "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.
+      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      "tuningMode": "A String", # Tuning mode.
+      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+    },
+    "tunedModel": { # The Model Registry Model and Online Prediction Endpoint associated with this TuningJob. # Output only. The tuned model resources associated with this TuningJob.
+      "checkpoints": [ # Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints.
+        { # TunedModelCheckpoint for the Tuned Model of a Tuning Job.
+          "checkpointId": "A String", # The ID of the checkpoint.
+          "endpoint": "A String", # The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+          "epoch": "A String", # The epoch of the checkpoint.
+          "step": "A String", # The step of the checkpoint.
         },
       ],
-      "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.
+      "endpoint": "A String", # Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+      "model": "A String", # Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version ID will be 1. For continuous tuning, if the provided tuned_model_display_name is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version ID in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}`
     },
-    "evaluateDatasetRuns": [ # Output only. Evaluation runs for the Tuning Job.
-      { # Evaluate Dataset Run Result for Tuning Job.
-        "checkpointId": "A String", # Output only. The checkpoint id used in the evaluation run. Only populated when evaluating checkpoints.
-        "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). # Output only. The error of the evaluation run if any.
-          "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.
-            },
+    "tunedModelDisplayName": "A String", # Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tuned_model_display_name will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version.
+    "tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob.
+      "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model.
+        "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset.
+          "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
+              },
+            ],
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
+          },
+          "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+            "A String",
           ],
-          "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.
-        },
-        "evaluateDatasetResponse": { # The results from an evaluation run performed by the EvaluationService. # Output only. Results for EvaluationService.
-          "aggregationOutput": { # The aggregation result for the entire dataset and all metrics. # Output only. Aggregation statistics derived from results of EvaluationService.
-            "aggregationResults": [ # One AggregationResult per metric.
-              { # The aggregation result for a single metric.
-                "aggregationMetric": "A String", # Aggregation metric.
-                "bleuMetricValue": { # Bleu metric value for an instance. # Results for bleu metric.
-                  "score": 3.14, # Output only. Bleu score.
-                },
-                "customCodeExecutionResult": { # Result for custom code execution metric. # Result for code execution metric.
-                  "score": 3.14, # Output only. Custom code execution score.
+          "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
+            "A String",
+          ],
+          "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning.
+            "userDatasetExamples": [ # List of user datasset examples showing to user.
+              { # User-facing format for Gemini Reinforcement Tuning examples on Vertex.
+                "contents": [ # Multi-turn contents that represents the Prompt.
+                  { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                          "outcome": "A String", # Required. Outcome of the code execution.
+                          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                        },
+                        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                          "code": "A String", # Required. The code to be executed.
+                          "language": "A String", # Required. Programming language of the `code`.
+                        },
+                        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                            { # Partial argument value of the function call.
+                              "boolValue": True or False, # Optional. Represents a boolean value.
+                              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                              "nullValue": "A String", # Optional. Represents a null value.
+                              "numberValue": 3.14, # Optional. Represents a double value.
+                              "stringValue": "A String", # Optional. Represents a string value.
+                              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                            },
+                          ],
+                          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                        },
+                        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                              "fileData": { # URI based data for function response. # URI based data.
+                                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "fileUri": "A String", # Required. URI.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                                "data": "A String", # Required. Raw bytes.
+                                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                              },
+                            },
+                          ],
+                          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                            "a_key": "", # Properties of the object.
+                          },
+                          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                        },
+                        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                          "data": "A String", # Required. The raw bytes of the data.
+                          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                          "level": "A String", # The tokenization quality used for given media.
+                        },
+                        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                          "endOffset": "A String", # Optional. The end offset of the video.
+                          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                          "startOffset": "A String", # Optional. The start offset of the video.
+                        },
+                      },
+                    ],
+                    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                  },
+                ],
+                "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself.
+                  "a_key": "A String",
                 },
-                "exactMatchMetricValue": { # Exact match metric value for an instance. # Results for exact match metric.
-                  "score": 3.14, # Output only. Exact match score.
+                "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest.
+                  "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                    { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                      "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                        "outcome": "A String", # Required. Outcome of the code execution.
+                        "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                      },
+                      "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                        "code": "A String", # Required. The code to be executed.
+                        "language": "A String", # Required. Programming language of the `code`.
+                      },
+                      "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                        "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                        "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                        "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                        "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                          { # Partial argument value of the function call.
+                            "boolValue": True or False, # Optional. Represents a boolean value.
+                            "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                            "nullValue": "A String", # Optional. Represents a null value.
+                            "numberValue": 3.14, # Optional. Represents a double value.
+                            "stringValue": "A String", # Optional. Represents a string value.
+                            "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                          },
+                        ],
+                        "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                      },
+                      "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                        "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                        "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                        "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                          { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                            "fileData": { # URI based data for function response. # URI based data.
+                              "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "fileUri": "A String", # Required. URI.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                            "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                              "data": "A String", # Required. Raw bytes.
+                              "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                          },
+                        ],
+                        "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                      },
+                      "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                        "data": "A String", # Required. The raw bytes of the data.
+                        "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                        "level": "A String", # The tokenization quality used for given media.
+                      },
+                      "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                      "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                      "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                      "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                        "endOffset": "A String", # Optional. The end offset of the video.
+                        "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                        "startOffset": "A String", # Optional. The start offset of the video.
+                      },
+                    },
+                  ],
+                  "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
                 },
-                "pairwiseMetricResult": { # Spec for pairwise metric result. # Result for pairwise metric.
-                  "customOutput": { # Spec for custom output. # Output only. Spec for custom output.
-                    "rawOutputs": { # Raw output. # Output only. List of raw output strings.
-                      "rawOutput": [ # Output only. Raw output string.
-                        "A String",
-                      ],
+              },
+            ],
+          },
+          "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
+          "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+          "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
+          "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+          "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+          "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
+            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                    "outcome": "A String", # Required. Outcome of the code execution.
+                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                  },
+                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                    "code": "A String", # Required. The code to be executed.
+                    "language": "A String", # Required. Programming language of the `code`.
+                  },
+                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                      "a_key": "", # Properties of the object.
                     },
+                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                      { # Partial argument value of the function call.
+                        "boolValue": True or False, # Optional. Represents a boolean value.
+                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                        "nullValue": "A String", # Optional. Represents a null value.
+                        "numberValue": 3.14, # Optional. Represents a double value.
+                        "stringValue": "A String", # Optional. Represents a string value.
+                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                      },
+                    ],
+                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
                   },
-                  "explanation": "A String", # Output only. Explanation for pairwise metric score.
-                  "pairwiseChoice": "A String", # Output only. Pairwise metric choice.
-                },
-                "pointwiseMetricResult": { # Spec for pointwise metric result. # Result for pointwise metric.
-                  "customOutput": { # Spec for custom output. # Output only. Spec for custom output.
-                    "rawOutputs": { # Raw output. # Output only. List of raw output strings.
-                      "rawOutput": [ # Output only. Raw output string.
-                        "A String",
-                      ],
+                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                        "fileData": { # URI based data for function response. # URI based data.
+                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "fileUri": "A String", # Required. URI.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                          "data": "A String", # Required. Raw bytes.
+                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                        },
+                      },
+                    ],
+                    "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                      "a_key": "", # Properties of the object.
                     },
+                    "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                  },
+                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                    "data": "A String", # Required. The raw bytes of the data.
+                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                    "level": "A String", # The tokenization quality used for given media.
+                  },
+                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                    "endOffset": "A String", # Optional. The end offset of the video.
+                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                    "startOffset": "A String", # Optional. The start offset of the video.
                   },
-                  "explanation": "A String", # Output only. Explanation for pointwise metric score.
-                  "score": 3.14, # Output only. Pointwise metric score.
-                },
-                "rougeMetricValue": { # Rouge metric value for an instance. # Results for rouge metric.
-                  "score": 3.14, # Output only. Rouge score.
                 },
+              ],
+              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+            },
+          ],
+          "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
               },
             ],
-            "dataset": { # The dataset used for evaluation. # The dataset used for evaluation & aggregation.
-              "bigquerySource": { # The BigQuery location for the input content. # BigQuery source holds the dataset.
-                "inputUri": "A String", # Required. BigQuery URI to a table, up to 2000 characters long. Accepted forms: * BigQuery path. For example: `bq://projectId.bqDatasetId.bqTableId`.
-              },
-              "gcsSource": { # The Google Cloud Storage location for the input content. # Cloud storage source holds the dataset. Currently only one Cloud Storage file path is supported.
-                "uris": [ # Required. Google Cloud Storage URI(-s) to the input file(s). May contain wildcards. For more information on wildcards, see https://cloud.google.com/storage/docs/wildcards.
-                  "A String",
-                ],
-              },
-            },
-          },
-          "outputInfo": { # Describes the info for output of EvaluationService. # Output only. Output info for EvaluationService.
-            "gcsOutputDirectory": "A String", # Output only. The full path of the Cloud Storage directory created, into which the evaluation results and aggregation results are written.
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
           },
-        },
-        "evaluationRun": "A String", # Output only. The resource name of the evaluation run. Format: `projects/{project}/locations/{location}/evaluationRuns/{evaluation_run_id}`.
-        "operationName": "A String", # Output only. Deprecated: The updated architecture uses evaluation_run instead.
-      },
-    ],
-    "experiment": "A String", # Output only. The Experiment associated with this TuningJob.
-    "fullFineTuningSpec": { # Tuning Spec for Full Fine Tuning. # Tuning Spec for Full Fine Tuning.
-      "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for Full Fine Tuning.
-        "adapterSize": "A String", # Optional. Adapter size for tuning.
-        "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models.
-        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.
-      },
-      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-    },
-    "labels": { # Optional. The labels with user-defined metadata to organize TuningJob and generated resources such as Model and Endpoint. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
-      "a_key": "A String",
-    },
-    "name": "A String", # Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project}/locations/{location}/tuningJobs/{tuning_job}`
-    "outputUri": "A String", # Optional. Cloud Storage path to the directory where tuning job outputs are written to. This field is only available and required for open source models.
-    "partnerModelTuningSpec": { # Tuning spec for Partner models. # Tuning Spec for open sourced and third party Partner models.
-      "hyperParameters": { # Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model.
-        "a_key": "",
-      },
-      "trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.
-      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.
-    },
-    "pipelineJob": "A String", # Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.
-    "preTunedModel": { # A pre-tuned model for continuous tuning. # The pre-tuned model for continuous tuning.
-      "baseModel": "A String", # Output only. The name of the base model this PreTunedModel was tuned from.
-      "checkpointId": "A String", # Optional. The source checkpoint id. If not specified, the default checkpoint will be used.
-      "tunedModelName": "A String", # The resource name of the Model. E.g., a model resource name with a specified version id or alias: `projects/{project}/locations/{location}/models/{model}@{version_id}` `projects/{project}/locations/{location}/models/{model}@{alias}` Or, omit the version id to use the default version: `projects/{project}/locations/{location}/models/{model}`
-    },
-    "preferenceOptimizationSpec": { # Tuning Spec for Preference Optimization. # Tuning Spec for Preference Optimization.
-      "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for Preference Optimization and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for Preference Optimization. Default is false.
-      "hyperParameters": { # Hyperparameters for Preference Optimization. # Optional. Hyperparameters for Preference Optimization.
-        "adapterSize": "A String", # Optional. Adapter size for preference optimization.
-        "beta": 3.14, # Optional. Weight for KL Divergence regularization.
-        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
-      },
-      "trainingDatasetUri": "A String", # Required. Cloud Storage path to file containing training dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.
-      "validationDatasetUri": "A String", # Optional. Cloud Storage path to file containing validation dataset for preference optimization tuning. The dataset must be formatted as a JSONL file.
-    },
-    "satisfiesPzi": True or False, # Output only. Reserved for future use.
-    "satisfiesPzs": True or False, # Output only. Reserved for future use.
-    "serviceAccount": "A String", # The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.
-    "startTime": "A String", # Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.
-    "state": "A String", # Output only. The detailed state of the job.
-    "supervisedTuningSpec": { # Tuning Spec for Supervised Tuning for first party models. # Tuning Spec for Supervised Fine Tuning.
-      "evaluationConfig": { # Evaluation Config for Tuning Job. # Optional. Evaluation Config for Tuning Job.
-        "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config for evaluation.
-          "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
-          "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
-          "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
-            "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
-            "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
-            "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
-            "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
-            "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
-              "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
-              "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
-                "compressionQuality": 42, # Optional. The compression quality of the output image.
-                "mimeType": "A String", # Optional. The image format that the output should be saved as.
+          "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
               },
-              "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
-              "personGeneration": "A String", # Optional. Controls whether the model can generate people.
-              "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
-            },
-            "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
-            "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
-            "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
-            "modelConfig": { # Config for model selection. # Optional. Config for model selection.
-              "featureSelectionPreference": "A String", # Required. Feature selection preference.
-            },
-            "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
-            "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
-            "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
-            "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
-            "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
-              "A String",
             ],
-            "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
-              "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
-              "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
-                # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-              ],
-              "default": "", # Optional. Default value to use if the field is not specified.
-              "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
-                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-              },
-              "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
-              "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
-                "A String",
-              ],
-              "example": "", # Optional. Example of an instance of this schema.
-              "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
-              "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
-              "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
-              "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
-              "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
-              "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
-              "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
-              "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
-              "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
-              "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
-              "nullable": True or False, # Optional. Indicates if the value of this field can be null.
-              "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
-              "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
-                "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-              },
-              "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
-                "A String",
-              ],
-              "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
-              "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
-                "A String",
-              ],
-              "title": "A String", # Optional. Title for the schema.
-              "type": "A String", # Optional. Data type of the schema field.
-            },
-            "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
-              "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
-                "modelRoutingPreference": "A String", # The model routing preference.
-              },
-              "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
-                "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
-              },
-            },
-            "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
-            "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
-              "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
-              "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
-                "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
-                  { # Configuration for a single speaker in a multi-speaker setup.
-                    "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
-                    "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
-                      "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                        "voiceName": "A String", # The name of the prebuilt voice to use.
-                      },
-                      "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                        "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                        "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
-                      },
-                    },
-                  },
-                ],
-              },
-              "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
-                "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                  "voiceName": "A String", # The name of the prebuilt voice to use.
-                },
-                "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                  "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                  "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
-                },
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
+          },
+          "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
+            "buckets": [ # Output only. Defines the histogram bucket.
+              { # Dataset bucket used to create a histogram for the distribution given a population of values.
+                "count": "A String", # Output only. Number of values in the bucket.
+                "left": 3.14, # Output only. Left bound of the bucket.
+                "right": 3.14, # Output only. Right bound of the bucket.
               },
-            },
-            "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
-              "A String",
             ],
-            "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
-            "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
-              "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
-              "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
-              "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
-            },
-            "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
-            "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+            "max": 3.14, # Output only. The maximum of the population values.
+            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+            "median": 3.14, # Output only. The median of the values in the population.
+            "min": 3.14, # Output only. The minimum of the population values.
+            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+            "sum": 3.14, # Output only. Sum of a given population of values.
           },
-          "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
         },
-        "datasetCustomMetrics": [ # Optional. Specifications for custom dataset-level aggregations.
-          { # Defines a custom dataset-level aggregation.
-            "aggregationFunction": "A String", # Required. The Python code string containing the aggregation function. Expected function signature: `def aggregate(instances: list[dict[str, Any]]) -> dict[str, float]:` The `instances` argument is a list of dictionaries, where each dictionary represents a single evaluation result item. The structure of each dictionary corresponds to the fields in the `EvaluationResult` message. This includes: - `"request"`: Contains the original input data and model inputs (from `EvaluationResult.EvaluationRequest`). - `"candidate_results"`: Contains the results of any instance-level metrics (from `EvaluationResult.CandidateResults`). Example of a single item in the `instances` list: { "request": { "prompt": {"text": "What is the capital of France?"}, "golden_response": {"text": "Paris"}, "candidate_responses": [{"candidate": "model-v1", "text": "Paris"}] }, "candidate_results": [ {"metric": "exact_match", "score": 1.0}, {"metric": "bleu", "score": 0.9} ] }
-            "displayName": "A String", # Optional. A display name for this custom summary metric. Used to prefix keys in the output summaryMetrics map. If not provided, a default name like "dataset_custom_metric_1", "dataset_custom_metric_2", etc., will be generated based on the order in the repeated field.
-          },
+      },
+      "preferenceOptimizationDataStats": { # Statistics computed for datasets used for preference optimization. # Output only. Statistics for preference optimization.
+        "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+          "A String",
         ],
-        "inferenceGenerationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for inference generation and outputs. If not set, default generation parameters are used.
-          "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
-          "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
-          "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
-          "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
-          "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
-            "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
-            "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
-              "compressionQuality": 42, # Optional. The compression quality of the output image.
-              "mimeType": "A String", # Optional. The image format that the output should be saved as.
+        "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
+          "A String",
+        ],
+        "scoreVariancePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for scores variance per example.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
-            "personGeneration": "A String", # Optional. Controls whether the model can generate people.
-            "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
-          },
-          "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
-          "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
-          "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
-          "modelConfig": { # Config for model selection. # Optional. Config for model selection.
-            "featureSelectionPreference": "A String", # Required. Feature selection preference.
-          },
-          "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
-          "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
-          "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
-          "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
-          "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
-            "A String",
           ],
-          "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
-            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
-            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
-              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-            ],
-            "default": "", # Optional. Default value to use if the field is not specified.
-            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
-              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-            },
-            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
-            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
-              "A String",
-            ],
-            "example": "", # Optional. Example of an instance of this schema.
-            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
-            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
-            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
-            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
-            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
-            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
-            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
-            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
-            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
-            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
-            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
-            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
-            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
-              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+        "scoresDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for scores.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
-              "A String",
-            ],
-            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
-            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
-              "A String",
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+        "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+        "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+        "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+        "userDatasetExamples": [ # Output only. Sample user examples in the training dataset.
+          { # Input example for preference optimization.
+            "completions": [ # List of completions for a given prompt.
+              { # Completion and its preference score.
+                "completion": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Single turn completion for the given prompt.
+                  "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                    { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                      "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                        "outcome": "A String", # Required. Outcome of the code execution.
+                        "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                      },
+                      "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                        "code": "A String", # Required. The code to be executed.
+                        "language": "A String", # Required. Programming language of the `code`.
+                      },
+                      "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                        "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                        "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                        "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                        "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                          { # Partial argument value of the function call.
+                            "boolValue": True or False, # Optional. Represents a boolean value.
+                            "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                            "nullValue": "A String", # Optional. Represents a null value.
+                            "numberValue": 3.14, # Optional. Represents a double value.
+                            "stringValue": "A String", # Optional. Represents a string value.
+                            "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                          },
+                        ],
+                        "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                      },
+                      "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                        "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                        "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                        "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                          { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                            "fileData": { # URI based data for function response. # URI based data.
+                              "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "fileUri": "A String", # Required. URI.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                            "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                              "data": "A String", # Required. Raw bytes.
+                              "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                            },
+                          },
+                        ],
+                        "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                      },
+                      "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                        "data": "A String", # Required. The raw bytes of the data.
+                        "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                        "level": "A String", # The tokenization quality used for given media.
+                      },
+                      "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                      "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                      "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                      "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                        "endOffset": "A String", # Optional. The end offset of the video.
+                        "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                        "startOffset": "A String", # Optional. The start offset of the video.
+                      },
+                    },
+                  ],
+                  "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                },
+                "score": 3.14, # The score for the given completion.
+              },
             ],
-            "title": "A String", # Optional. Title for the schema.
-            "type": "A String", # Optional. Data type of the schema field.
-          },
-          "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
-            "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
-              "modelRoutingPreference": "A String", # The model routing preference.
-            },
-            "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
-              "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
-            },
-          },
-          "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
-          "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
-            "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
-            "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
-              "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
-                { # Configuration for a single speaker in a multi-speaker setup.
-                  "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
-                  "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
-                    "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                      "voiceName": "A String", # The name of the prebuilt voice to use.
+            "contents": [ # Multi-turn contents that represents the Prompt.
+              { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                  { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                    "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                      "outcome": "A String", # Required. Outcome of the code execution.
+                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                    },
+                    "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                      "code": "A String", # Required. The code to be executed.
+                      "language": "A String", # Required. Programming language of the `code`.
+                    },
+                    "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                      "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                      "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                      "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                      "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                        { # Partial argument value of the function call.
+                          "boolValue": True or False, # Optional. Represents a boolean value.
+                          "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                          "nullValue": "A String", # Optional. Represents a null value.
+                          "numberValue": 3.14, # Optional. Represents a double value.
+                          "stringValue": "A String", # Optional. Represents a string value.
+                          "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                        },
+                      ],
+                      "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
                     },
-                    "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                      "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                      "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                    "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                      "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                      "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                      "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                        { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                          "fileData": { # URI based data for function response. # URI based data.
+                            "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "fileUri": "A String", # Required. URI.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                            "data": "A String", # Required. Raw bytes.
+                            "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                        },
+                      ],
+                      "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                        "a_key": "", # Properties of the object.
+                      },
+                      "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                    },
+                    "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                      "data": "A String", # Required. The raw bytes of the data.
+                      "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                      "level": "A String", # The tokenization quality used for given media.
+                    },
+                    "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                    "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                    "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                    "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                      "endOffset": "A String", # Optional. The end offset of the video.
+                      "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                      "startOffset": "A String", # Optional. The start offset of the video.
                     },
                   },
-                },
-              ],
-            },
-            "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
-              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                "voiceName": "A String", # The name of the prebuilt voice to use.
-              },
-              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                ],
+                "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
               },
-            },
+            ],
           },
-          "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
-            "A String",
+        ],
+        "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
+            },
           ],
-          "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
-          "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
-            "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
-            "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
-            "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
-          },
-          "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
-          "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
         },
-        "metrics": [ # Required. The metrics used for evaluation.
-          { # The metric used for running evaluations.
-            "aggregationMetrics": [ # Optional. The aggregation metrics to use.
-              "A String",
-            ],
-            "bleuSpec": { # Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1. # Spec for bleu metric.
-              "useEffectiveOrder": True or False, # Optional. Whether to use_effective_order to compute bleu score.
-            },
-            "computationBasedMetricSpec": { # Specification for a computation based metric. # Spec for a computation based metric.
-              "parameters": { # Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
-                "a_key": "", # Properties of the object.
-              },
-              "type": "A String", # Required. The type of the computation based metric.
-            },
-            "customCodeExecutionSpec": { # Specificies a metric that is populated by evaluating user-defined Python code. # Spec for Custom Code Execution metric.
-              "evaluationFunction": "A String", # Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function.
+        "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "exactMatchSpec": { # Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0. # Spec for exact match metric.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+      },
+      "reinforcementTuningDataStats": { # Statistics computed over a tuning dataset. # Output only. Statistics for reinforcement tuning.
+        "contentsPerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the number of contents per example.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "llmBasedMetricSpec": { # Specification for an LLM based metric. # Spec for an LLM based metric.
-              "additionalConfig": { # Optional. Optional additional configuration for the metric.
-                "a_key": "", # Properties of the object.
-              },
-              "judgeAutoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Optional configuration for the judge LLM (Autorater).
-                "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
-                "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
-                "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
-                  "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
-                  "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
-                  "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
-                  "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
-                  "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
-                    "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
-                    "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
-                      "compressionQuality": 42, # Optional. The compression quality of the output image.
-                      "mimeType": "A String", # Optional. The image format that the output should be saved as.
-                    },
-                    "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
-                    "personGeneration": "A String", # Optional. Controls whether the model can generate people.
-                    "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
-                  },
-                  "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
-                  "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
-                  "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
-                  "modelConfig": { # Config for model selection. # Optional. Config for model selection.
-                    "featureSelectionPreference": "A String", # Required. Feature selection preference.
-                  },
-                  "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
-                  "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
-                  "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
-                  "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
-                  "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
-                    "A String",
-                  ],
-                  "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
-                    "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
-                    "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
-                      # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-                    ],
-                    "default": "", # Optional. Default value to use if the field is not specified.
-                    "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
-                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-                    },
-                    "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
-                    "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
-                      "A String",
-                    ],
-                    "example": "", # Optional. Example of an instance of this schema.
-                    "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
-                    "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
-                    "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
-                    "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
-                    "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
-                    "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
-                    "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
-                    "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
-                    "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
-                    "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
-                    "nullable": True or False, # Optional. Indicates if the value of this field can be null.
-                    "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
-                    "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
-                      "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-                    },
-                    "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
-                      "A String",
-                    ],
-                    "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
-                    "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
-                      "A String",
-                    ],
-                    "title": "A String", # Optional. Title for the schema.
-                    "type": "A String", # Optional. Data type of the schema field.
-                  },
-                  "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
-                    "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
-                      "modelRoutingPreference": "A String", # The model routing preference.
-                    },
-                    "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
-                      "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
-                    },
-                  },
-                  "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
-                  "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
-                    "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
-                    "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
-                      "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
-                        { # Configuration for a single speaker in a multi-speaker setup.
-                          "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
-                          "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
-                            "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                              "voiceName": "A String", # The name of the prebuilt voice to use.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+        "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+          "A String",
+        ],
+        "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
+          "A String",
+        ],
+        "reinforcementTuningUserDatasetExamples": { # Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing. # Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning.
+          "userDatasetExamples": [ # List of user datasset examples showing to user.
+            { # User-facing format for Gemini Reinforcement Tuning examples on Vertex.
+              "contents": [ # Multi-turn contents that represents the Prompt.
+                { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+                  "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                    { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                      "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                        "outcome": "A String", # Required. Outcome of the code execution.
+                        "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                      },
+                      "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                        "code": "A String", # Required. The code to be executed.
+                        "language": "A String", # Required. Programming language of the `code`.
+                      },
+                      "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                        "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                        "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                          "a_key": "", # Properties of the object.
+                        },
+                        "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                        "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                        "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                          { # Partial argument value of the function call.
+                            "boolValue": True or False, # Optional. Represents a boolean value.
+                            "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                            "nullValue": "A String", # Optional. Represents a null value.
+                            "numberValue": 3.14, # Optional. Represents a double value.
+                            "stringValue": "A String", # Optional. Represents a string value.
+                            "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                          },
+                        ],
+                        "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                      },
+                      "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                        "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                        "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                        "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                          { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                            "fileData": { # URI based data for function response. # URI based data.
+                              "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "fileUri": "A String", # Required. URI.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
                             },
-                            "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                              "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                              "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                            "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                              "data": "A String", # Required. Raw bytes.
+                              "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
                             },
                           },
+                        ],
+                        "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                          "a_key": "", # Properties of the object.
                         },
-                      ],
-                    },
-                    "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
-                      "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                        "voiceName": "A String", # The name of the prebuilt voice to use.
+                        "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
                       },
-                      "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                        "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                        "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+                      "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                        "data": "A String", # Required. The raw bytes of the data.
+                        "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                        "level": "A String", # The tokenization quality used for given media.
+                      },
+                      "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                      "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                      "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                      "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                        "endOffset": "A String", # Optional. The end offset of the video.
+                        "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                        "startOffset": "A String", # Optional. The start offset of the video.
                       },
                     },
-                  },
-                  "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
-                    "A String",
                   ],
-                  "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
-                  "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
-                    "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
-                    "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
-                    "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
-                  },
-                  "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
-                  "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
-                },
-                "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
-              },
-              "metricPromptTemplate": "A String", # Required. Template for the prompt sent to the judge model.
-              "predefinedRubricGenerationSpec": { # The spec for a pre-defined metric. # Dynamically generate rubrics using a predefined spec.
-                "metricSpecName": "A String", # Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
-                "metricSpecParameters": { # Optional. The parameters needed to run the pre-defined metric.
-                  "a_key": "", # Properties of the object.
-                },
-              },
-              "resultParserConfig": { # Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters. # Optional. The parser config for the metric result.
-                "customCodeParserConfig": { # Configuration for parsing the LLM response using custom code. # Optional. Use custom code to parse the LLM response.
-                  "parsingFunction": "A String", # Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation
+                  "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
                 },
+              ],
+              "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself.
+                "a_key": "A String",
               },
-              "rubricGenerationSpec": { # Specification for how rubrics should be generated. # Dynamically generate rubrics using this specification.
-                "modelConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Configuration for the model used in rubric generation. Configs including sampling count and base model can be specified here. Flipping is not supported for rubric generation.
-                  "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
-                  "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
-                  "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
-                    "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
-                    "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
-                    "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
-                    "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
-                    "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
-                      "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
-                      "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
-                        "compressionQuality": 42, # Optional. The compression quality of the output image.
-                        "mimeType": "A String", # Optional. The image format that the output should be saved as.
-                      },
-                      "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
-                      "personGeneration": "A String", # Optional. Controls whether the model can generate people.
-                      "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+              "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest.
+                "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+                  { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                    "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                      "outcome": "A String", # Required. Outcome of the code execution.
+                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
                     },
-                    "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
-                    "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
-                    "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
-                    "modelConfig": { # Config for model selection. # Optional. Config for model selection.
-                      "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                    "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                      "code": "A String", # Required. The code to be executed.
+                      "language": "A String", # Required. Programming language of the `code`.
                     },
-                    "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
-                    "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
-                    "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
-                    "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
-                    "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
-                      "A String",
-                    ],
-                    "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
-                      "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
-                      "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
-                        # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-                      ],
-                      "default": "", # Optional. Default value to use if the field is not specified.
-                      "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
-                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
-                      },
-                      "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
-                      "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
-                        "A String",
-                      ],
-                      "example": "", # Optional. Example of an instance of this schema.
-                      "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
-                      "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
-                      "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
-                      "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
-                      "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
-                      "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
-                      "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
-                      "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
-                      "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
-                      "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
-                      "nullable": True or False, # Optional. Indicates if the value of this field can be null.
-                      "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
-                      "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
-                        "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                    "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                      "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                      "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                        "a_key": "", # Properties of the object.
                       },
-                      "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
-                        "A String",
-                      ],
-                      "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
-                      "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
-                        "A String",
+                      "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                      "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                      "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                        { # Partial argument value of the function call.
+                          "boolValue": True or False, # Optional. Represents a boolean value.
+                          "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                          "nullValue": "A String", # Optional. Represents a null value.
+                          "numberValue": 3.14, # Optional. Represents a double value.
+                          "stringValue": "A String", # Optional. Represents a string value.
+                          "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                        },
                       ],
-                      "title": "A String", # Optional. Title for the schema.
-                      "type": "A String", # Optional. Data type of the schema field.
+                      "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
                     },
-                    "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
-                      "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
-                        "modelRoutingPreference": "A String", # The model routing preference.
-                      },
-                      "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
-                        "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
+                    "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                      "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                      "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                      "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                        { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                          "fileData": { # URI based data for function response. # URI based data.
+                            "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "fileUri": "A String", # Required. URI.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                          "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                            "data": "A String", # Required. Raw bytes.
+                            "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          },
+                        },
+                      ],
+                      "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                        "a_key": "", # Properties of the object.
                       },
+                      "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                    },
+                    "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                      "data": "A String", # Required. The raw bytes of the data.
+                      "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                    },
+                    "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                      "level": "A String", # The tokenization quality used for given media.
+                    },
+                    "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                    "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                    "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                    "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                      "endOffset": "A String", # Optional. The end offset of the video.
+                      "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                      "startOffset": "A String", # Optional. The start offset of the video.
+                    },
+                  },
+                ],
+                "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+              },
+            },
+          ],
+        },
+        "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
+        "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+        "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
+        "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+        "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+        "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
+          { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+            "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+              { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                  "outcome": "A String", # Required. Outcome of the code execution.
+                  "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                },
+                "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                  "code": "A String", # Required. The code to be executed.
+                  "language": "A String", # Required. Programming language of the `code`.
+                },
+                "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                  "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                  "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                  "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                  "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                    { # Partial argument value of the function call.
+                      "boolValue": True or False, # Optional. Represents a boolean value.
+                      "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                      "nullValue": "A String", # Optional. Represents a null value.
+                      "numberValue": 3.14, # Optional. Represents a double value.
+                      "stringValue": "A String", # Optional. Represents a string value.
+                      "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
                     },
-                    "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
-                    "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
-                      "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
-                      "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
-                        "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
-                          { # Configuration for a single speaker in a multi-speaker setup.
-                            "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
-                            "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
-                              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                                "voiceName": "A String", # The name of the prebuilt voice to use.
-                              },
-                              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
-                              },
-                            },
-                          },
-                        ],
+                  ],
+                  "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                },
+                "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                  "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                  "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                  "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                    { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                      "fileData": { # URI based data for function response. # URI based data.
+                        "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "fileUri": "A String", # Required. URI.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
                       },
-                      "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
-                        "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
-                          "voiceName": "A String", # The name of the prebuilt voice to use.
-                        },
-                        "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
-                          "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
-                          "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
-                        },
+                      "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                        "data": "A String", # Required. Raw bytes.
+                        "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
                       },
                     },
-                    "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
-                      "A String",
-                    ],
-                    "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
-                    "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
-                      "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
-                      "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
-                      "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
-                    },
-                    "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
-                    "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+                  ],
+                  "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                    "a_key": "", # Properties of the object.
                   },
-                  "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+                  "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                },
+                "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                  "data": "A String", # Required. The raw bytes of the data.
+                  "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                  "level": "A String", # The tokenization quality used for given media.
+                },
+                "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                  "endOffset": "A String", # Optional. The end offset of the video.
+                  "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                  "startOffset": "A String", # Optional. The start offset of the video.
                 },
-                "promptTemplate": "A String", # Template for the prompt used to generate rubrics. The details should be updated based on the most-recent recipe requirements.
-                "rubricContentType": "A String", # The type of rubric content to be generated.
-                "rubricTypeOntology": [ # Optional. An optional, pre-defined list of allowed types for generated rubrics. If this field is provided, it implies `include_rubric_type` should be true, and the generated rubric types should be chosen from this ontology.
-                  "A String",
-                ],
-              },
-              "rubricGroupKey": "A String", # Use a pre-defined group of rubrics associated with the input. Refers to a key in the rubric_groups map of EvaluationInstance.
-              "systemInstruction": "A String", # Optional. System instructions for the judge model.
-            },
-            "metadata": { # Metadata about the metric, used for visualization and organization. # Optional. Metadata about the metric, used for visualization and organization.
-              "otherMetadata": { # Optional. Flexible metadata for user-defined attributes.
-                "a_key": "", # Properties of the object.
-              },
-              "scoreRange": { # The range of possible scores for this metric, used for plotting. # Optional. The range of possible scores for this metric, used for plotting.
-                "description": "A String", # Optional. The description of the score explaining the directionality etc.
-                "max": 3.14, # Required. The maximum value of the score range (inclusive).
-                "min": 3.14, # Required. The minimum value of the score range (inclusive).
-                "step": 3.14, # Optional. The distance between discrete steps in the range. If unset, the range is assumed to be continuous.
               },
-              "title": "A String", # Optional. The user-friendly name for the metric. If not set for a registered metric, it will default to the metric's display name.
+            ],
+            "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+          },
+        ],
+        "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "pairwiseMetricSpec": { # Spec for pairwise metric. # Spec for pairwise metric.
-              "baselineResponseFieldName": "A String", # Optional. The field name of the baseline response.
-              "candidateResponseFieldName": "A String", # Optional. The field name of the candidate response.
-              "customOutputFormatConfig": { # Spec for custom output format configuration. # Optional. CustomOutputFormatConfig allows customization of metric output. When this config is set, the default output is replaced with the raw output string. If a custom format is chosen, the `pairwise_choice` and `explanation` fields in the corresponding metric result will be empty.
-                "returnRawOutput": True or False, # Optional. Whether to return raw output.
-              },
-              "metricPromptTemplate": "A String", # Required. Metric prompt template for pairwise metric.
-              "systemInstruction": "A String", # Optional. System instructions for pairwise metric.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+        "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "pointwiseMetricSpec": { # Spec for pointwise metric. # Spec for pointwise metric.
-              "customOutputFormatConfig": { # Spec for custom output format configuration. # Optional. CustomOutputFormatConfig allows customization of metric output. By default, metrics return a score and explanation. When this config is set, the default output is replaced with either: - The raw output string. - A parsed output based on a user-defined schema. If a custom format is chosen, the `score` and `explanation` fields in the corresponding metric result will be empty.
-                "returnRawOutput": True or False, # Optional. Whether to return raw output.
-              },
-              "metricPromptTemplate": "A String", # Required. Metric prompt template for pointwise metric.
-              "systemInstruction": "A String", # Optional. System instructions for pointwise metric.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+        "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": "A String", # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "predefinedMetricSpec": { # The spec for a pre-defined metric. # The spec for a pre-defined metric.
-              "metricSpecName": "A String", # Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
-              "metricSpecParameters": { # Optional. The parameters needed to run the pre-defined metric.
-                "a_key": "", # Properties of the object.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": 3.14, # Output only. Sum of a given population of values.
+        },
+      },
+      "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats.
+        "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped.
+          "A String",
+        ],
+        "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
+        "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
+        "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.
+        "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
+        "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
+          "A String",
+        ],
+        "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
+        "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
+        "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
+          { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+            "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+              { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+                "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                  "outcome": "A String", # Required. Outcome of the code execution.
+                  "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+                },
+                "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                  "code": "A String", # Required. The code to be executed.
+                  "language": "A String", # Required. Programming language of the `code`.
+                },
+                "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                  "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                  "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+                  "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                  "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                    { # Partial argument value of the function call.
+                      "boolValue": True or False, # Optional. Represents a boolean value.
+                      "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                      "nullValue": "A String", # Optional. Represents a null value.
+                      "numberValue": 3.14, # Optional. Represents a double value.
+                      "stringValue": "A String", # Optional. Represents a string value.
+                      "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                    },
+                  ],
+                  "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+                },
+                "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                  "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+                  "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                  "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                    { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                      "fileData": { # URI based data for function response. # URI based data.
+                        "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "fileUri": "A String", # Required. URI.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                      "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                        "data": "A String", # Required. Raw bytes.
+                        "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                      },
+                    },
+                  ],
+                  "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                    "a_key": "", # Properties of the object.
+                  },
+                  "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                },
+                "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                  "data": "A String", # Required. The raw bytes of the data.
+                  "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                  "level": "A String", # The tokenization quality used for given media.
+                },
+                "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+                "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+                "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+                "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                  "endOffset": "A String", # Optional. The end offset of the video.
+                  "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                  "startOffset": "A String", # Optional. The start offset of the video.
+                },
               },
+            ],
+            "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+          },
+        ],
+        "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens.
+          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": 3.14, # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-            "rougeSpec": { # Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1. # Spec for rouge metric.
-              "rougeType": "A String", # Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.
-              "splitSummaries": True or False, # Optional. Whether to split summaries while using rougeLsum.
-              "useStemmer": True or False, # Optional. Whether to use stemmer to compute rouge score.
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": "A String", # Output only. Sum of a given population of values.
+        },
+        "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example.
+          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": 3.14, # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
             },
-          },
-        ],
-        "outputConfig": { # Config for evaluation output. # Required. Config for evaluation output.
-          "gcsDestination": { # The Google Cloud Storage location where the output is to be written to. # Cloud storage destination for evaluation output.
-            "outputUriPrefix": "A String", # Required. Google Cloud Storage URI to output directory. If the uri doesn't end with '/', a '/' will be automatically appended. The directory is created if it doesn't exist.
-          },
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": "A String", # Output only. Sum of a given population of values.
+        },
+        "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens.
+          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
+          "buckets": [ # Output only. Defines the histogram bucket.
+            { # Dataset bucket used to create a histogram for the distribution given a population of values.
+              "count": 3.14, # Output only. Number of values in the bucket.
+              "left": 3.14, # Output only. Left bound of the bucket.
+              "right": 3.14, # Output only. Right bound of the bucket.
+            },
+          ],
+          "max": 3.14, # Output only. The maximum of the population values.
+          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
+          "median": 3.14, # Output only. The median of the values in the population.
+          "min": 3.14, # Output only. The minimum of the population values.
+          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
+          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
+          "sum": "A String", # Output only. Sum of a given population of values.
         },
       },
-      "exportLastCheckpointOnly": True or False, # Optional. If set to true, disable intermediate checkpoints for SFT and only the last checkpoint will be exported. Otherwise, enable intermediate checkpoints for SFT. Default is false.
-      "hyperParameters": { # Hyperparameters for SFT. # Optional. Hyperparameters for SFT.
-        "adapterSize": "A String", # Optional. Adapter size for tuning.
-        "batchSize": "A String", # Optional. Batch size for tuning. This feature is only available for open source models.
+    },
+    "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata.
+      "completedEpochCount": "A String", # Output only. The number of epochs that have been completed.
+      "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL.
+    },
+    "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running).
+    "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated.
+    "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning.
+      "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA.
+        "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
         "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRate": 3.14, # Optional. Learning rate for tuning. Mutually exclusive with `learning_rate_multiplier`. This feature is only available for open source models.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate. Mutually exclusive with `learning_rate`. This feature is only available for 1P models.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+        "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
+        "tuningTask": "A String", # The tuning task for Veo.
+        "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
       },
       "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-      "tuningMode": "A String", # Tuning mode.
       "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE.
     },
-    "tunedModel": { # The Model Registry Model and Online Prediction Endpoint associated with this TuningJob. # Output only. The tuned model resources associated with this TuningJob.
-      "checkpoints": [ # Output only. The checkpoints associated with this TunedModel. This field is only populated for tuning jobs that enable intermediate checkpoints.
-        { # TunedModelCheckpoint for the Tuned Model of a Tuning Job.
-          "checkpointId": "A String", # The ID of the checkpoint.
-          "endpoint": "A String", # The Endpoint resource name that the checkpoint is deployed to. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
-          "epoch": "A String", # The epoch of the checkpoint.
-          "step": "A String", # The step of the checkpoint.
-        },
-      ],
-      "endpoint": "A String", # Output only. A resource name of an Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
-      "model": "A String", # Output only. The resource name of the TunedModel. Format: `projects/{project}/locations/{location}/models/{model}@{version_id}` When tuning from a base model, the version ID will be 1. For continuous tuning, if the provided tuned_model_display_name is set and different from parent model's display name, the tuned model will have a new parent model with version 1. Otherwise the version id will be incremented by 1 from the last version ID in the parent model. E.g., `projects/{project}/locations/{location}/models/{model}@{last_version_id + 1}`
+    "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning.
+      "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo.
+        "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
+        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
+        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
+        "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
+        "tuningTask": "A String", # The tuning task for Veo.
+        "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
+      },
+      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
     },
-    "tunedModelDisplayName": "A String", # Optional. The display name of the TunedModel. The name can be up to 128 characters long and can consist of any UTF-8 characters. For continuous tuning, tuned_model_display_name will by default use the same display name as the pre-tuned model. If a new display name is provided, the tuning job will create a new model instead of a new version.
-    "tuningDataStats": { # The tuning data statistic values for TuningJob. # Output only. The tuning data statistics associated with this TuningJob.
-      "distillationDataStats": { # Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model. # Output only. Statistics for distillation prompt dataset. These statistics do not include the responses sampled from the teacher model.
-        "trainingDatasetStats": { # Statistics computed over a tuning dataset. # Output only. Statistics computed for the training dataset.
-          "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
-            "A String",
-          ],
-          "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
-            "A String",
-          ],
-          "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
-          "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
-          "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
-          "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
-          "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
-            { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
-              "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-                { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-                  "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-                    "outcome": "A String", # Required. Outcome of the code execution.
-                    "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-                  },
-                  "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-                    "code": "A String", # Required. The code to be executed.
-                    "language": "A String", # Required. Programming language of the `code`.
-                  },
-                  "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-                    "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                    "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                  },
-                  "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-                    "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-                      "a_key": "", # Properties of the object.
-                    },
-                    "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-                    "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-                    "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-                      { # Partial argument value of the function call.
-                        "boolValue": True or False, # Optional. Represents a boolean value.
-                        "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-                        "nullValue": "A String", # Optional. Represents a null value.
-                        "numberValue": 3.14, # Optional. Represents a double value.
-                        "stringValue": "A String", # Optional. Represents a string value.
-                        "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
-                      },
-                    ],
-                    "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+  },
+}
+
+  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.
+  },
+}
+
+ +
+ validateReinforcementTuningReward(parent, body=None, x__xgafv=None) +
Validates a reward on a given example.
+
+Args:
+  parent: string, Required. The resource name of the Location to validate the reward in Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GenAiTuningService.ValidateReinforcementTuningReward.
+  "compositeRewardConfig": { # Composite reward function configuration for reinforcement tuning. # Optional. Composite reward function configuration for reinforcement tuning.
+    "weightedRewardConfigs": [ # List of reward function configurations with weights.
+      { # Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight.
+        "rewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Single Reward configuration.
+          "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater.
+            "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater
+              "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+              "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+              "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+                "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+                "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+                "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+                "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+                "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+                  "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+                  "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+                    "compressionQuality": 42, # Optional. The compression quality of the output image.
+                    "mimeType": "A String", # Optional. The image format that the output should be saved as.
                   },
-                  "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-                    "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-                    "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-                    "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-                      { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-                        "fileData": { # URI based data for function response. # URI based data.
-                          "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                          "fileUri": "A String", # Required. URI.
-                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                        },
-                        "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                          "data": "A String", # Required. Raw bytes.
-                          "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                        },
-                      },
-                    ],
-                    "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-                      "a_key": "", # Properties of the object.
-                    },
-                    "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+                  "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+                  "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+                  "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+                },
+                "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+                "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+                "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+                "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+                  "featureSelectionPreference": "A String", # Required. Feature selection preference.
+                },
+                "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+                "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+                "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+                "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+                "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+                  "A String",
+                ],
+                "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+                  "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+                  "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+                    # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+                  ],
+                  "default": "", # Optional. Default value to use if the field is not specified.
+                  "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
                   },
-                  "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-                    "data": "A String", # Required. The raw bytes of the data.
-                    "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+                  "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+                    "A String",
+                  ],
+                  "example": "", # Optional. Example of an instance of this schema.
+                  "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+                  "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+                  "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+                  "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+                  "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+                  "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+                  "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+                  "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+                  "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+                  "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+                  "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+                  "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+                  "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+                    "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
                   },
-                  "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-                    "level": "A String", # The tokenization quality used for given media.
+                  "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+                    "A String",
+                  ],
+                  "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+                  "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+                    "A String",
+                  ],
+                  "title": "A String", # Optional. Title for the schema.
+                  "type": "A String", # Optional. Data type of the schema field.
+                },
+                "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+                  "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+                    "modelRoutingPreference": "A String", # The model routing preference.
                   },
-                  "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-                  "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-                  "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-                  "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-                    "endOffset": "A String", # Optional. The end offset of the video.
-                    "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-                    "startOffset": "A String", # Optional. The start offset of the video.
+                  "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+                    "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
                   },
                 },
-              ],
-              "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
-            },
-          ],
-          "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
-            "buckets": [ # Output only. Defines the histogram bucket.
-              { # Dataset bucket used to create a histogram for the distribution given a population of values.
-                "count": "A String", # Output only. Number of values in the bucket.
-                "left": 3.14, # Output only. Left bound of the bucket.
-                "right": 3.14, # Output only. Right bound of the bucket.
-              },
-            ],
-            "max": 3.14, # Output only. The maximum of the population values.
-            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-            "median": 3.14, # Output only. The median of the values in the population.
-            "min": 3.14, # Output only. The minimum of the population values.
-            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-            "sum": 3.14, # Output only. Sum of a given population of values.
-          },
-          "userMessagePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the messages per example.
-            "buckets": [ # Output only. Defines the histogram bucket.
-              { # Dataset bucket used to create a histogram for the distribution given a population of values.
-                "count": "A String", # Output only. Number of values in the bucket.
-                "left": 3.14, # Output only. Left bound of the bucket.
-                "right": 3.14, # Output only. Right bound of the bucket.
-              },
-            ],
-            "max": 3.14, # Output only. The maximum of the population values.
-            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-            "median": 3.14, # Output only. The median of the values in the population.
-            "min": 3.14, # Output only. The minimum of the population values.
-            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-            "sum": 3.14, # Output only. Sum of a given population of values.
-          },
-          "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
-            "buckets": [ # Output only. Defines the histogram bucket.
-              { # Dataset bucket used to create a histogram for the distribution given a population of values.
-                "count": "A String", # Output only. Number of values in the bucket.
-                "left": 3.14, # Output only. Left bound of the bucket.
-                "right": 3.14, # Output only. Right bound of the bucket.
-              },
-            ],
-            "max": 3.14, # Output only. The maximum of the population values.
-            "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-            "median": 3.14, # Output only. The median of the values in the population.
-            "min": 3.14, # Output only. The minimum of the population values.
-            "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-            "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-            "sum": 3.14, # Output only. Sum of a given population of values.
-          },
-        },
-      },
-      "preferenceOptimizationDataStats": { # Statistics computed for datasets used for preference optimization. # Output only. Statistics for preference optimization.
-        "droppedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
-          "A String",
-        ],
-        "droppedExampleReasons": [ # Output only. For each index in `dropped_example_indices`, the user-facing reason why the example was dropped.
-          "A String",
-        ],
-        "scoreVariancePerExampleDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for scores variance per example.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": "A String", # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
-            },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": 3.14, # Output only. Sum of a given population of values.
-        },
-        "scoresDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for scores.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": "A String", # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
-            },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": 3.14, # Output only. Sum of a given population of values.
-        },
-        "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
-        "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
-        "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
-        "userDatasetExamples": [ # Output only. Sample user examples in the training dataset.
-          { # Input example for preference optimization.
-            "completions": [ # List of completions for a given prompt.
-              { # Completion and its preference score.
-                "completion": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Single turn completion for the given prompt.
-                  "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-                    { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-                      "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-                        "outcome": "A String", # Required. Outcome of the code execution.
-                        "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-                      },
-                      "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-                        "code": "A String", # Required. The code to be executed.
-                        "language": "A String", # Required. Programming language of the `code`.
-                      },
-                      "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-                        "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                        "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                      },
-                      "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-                        "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-                          "a_key": "", # Properties of the object.
-                        },
-                        "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-                        "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-                        "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-                          { # Partial argument value of the function call.
-                            "boolValue": True or False, # Optional. Represents a boolean value.
-                            "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-                            "nullValue": "A String", # Optional. Represents a null value.
-                            "numberValue": 3.14, # Optional. Represents a double value.
-                            "stringValue": "A String", # Optional. Represents a string value.
-                            "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
-                          },
-                        ],
-                        "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
-                      },
-                      "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-                        "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-                        "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-                        "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-                          { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-                            "fileData": { # URI based data for function response. # URI based data.
-                              "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                              "fileUri": "A String", # Required. URI.
-                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                            },
-                            "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                              "data": "A String", # Required. Raw bytes.
-                              "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                            },
-                          },
-                        ],
-                        "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-                          "a_key": "", # Properties of the object.
-                        },
-                        "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
-                      },
-                      "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-                        "data": "A String", # Required. The raw bytes of the data.
-                        "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                      },
-                      "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-                        "level": "A String", # The tokenization quality used for given media.
-                      },
-                      "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-                      "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-                      "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-                      "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-                        "endOffset": "A String", # Optional. The end offset of the video.
-                        "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-                        "startOffset": "A String", # Optional. The start offset of the video.
-                      },
-                    },
-                  ],
-                  "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
-                },
-                "score": 3.14, # The score for the given completion.
-              },
-            ],
-            "contents": [ # Multi-turn contents that represents the Prompt.
-              { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
-                "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-                  { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-                    "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-                      "outcome": "A String", # Required. Outcome of the code execution.
-                      "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-                    },
-                    "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-                      "code": "A String", # Required. The code to be executed.
-                      "language": "A String", # Required. Programming language of the `code`.
-                    },
-                    "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-                      "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                      "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                    },
-                    "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-                      "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-                        "a_key": "", # Properties of the object.
-                      },
-                      "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-                      "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-                      "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-                        { # Partial argument value of the function call.
-                          "boolValue": True or False, # Optional. Represents a boolean value.
-                          "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-                          "nullValue": "A String", # Optional. Represents a null value.
-                          "numberValue": 3.14, # Optional. Represents a double value.
-                          "stringValue": "A String", # Optional. Represents a string value.
-                          "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
-                        },
-                      ],
-                      "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
-                    },
-                    "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-                      "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-                      "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-                      "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-                        { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-                          "fileData": { # URI based data for function response. # URI based data.
-                            "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                            "fileUri": "A String", # Required. URI.
-                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+                "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+                  "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+                  "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+                    "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                      { # Configuration for a single speaker in a multi-speaker setup.
+                        "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                        "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                          "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                            "voiceName": "A String", # The name of the prebuilt voice to use.
                           },
-                          "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                            "data": "A String", # Required. Raw bytes.
-                            "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                          "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                            "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                            "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
                           },
                         },
-                      ],
-                      "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-                        "a_key": "", # Properties of the object.
                       },
-                      "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
-                    },
-                    "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-                      "data": "A String", # Required. The raw bytes of the data.
-                      "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                      "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                    },
-                    "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-                      "level": "A String", # The tokenization quality used for given media.
+                    ],
+                  },
+                  "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+                    "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                      "voiceName": "A String", # The name of the prebuilt voice to use.
                     },
-                    "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-                    "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-                    "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-                    "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-                      "endOffset": "A String", # Optional. The end offset of the video.
-                      "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-                      "startOffset": "A String", # Optional. The start offset of the video.
+                    "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                      "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                      "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
                     },
                   },
+                },
+                "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+                  "A String",
                 ],
-                "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+                "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+                "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+                  "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+                  "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+                  "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+                },
+                "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+                "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
+              },
+              "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+            },
+            "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt.
+            "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0".
+              "parseType": "A String", # Defines how to parse sample response.
+              "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+            },
+            "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer.
+              "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression.
+              "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3".
+              "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression.
+            },
+            "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+            },
+          },
+          "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service.
+            "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service.
+          },
+          "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases.
+            "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
+          },
+          "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response.
+            "parseType": "A String", # Defines how to parse sample response.
+            "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+          },
+          "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward.
+          "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code.
+            "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward.
+            "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response.
+              "keyName": "A String", # Json key name to find the value to match against.
+              "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key.
+                "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+                "matchOperation": "A String", # Match operation to use for evaluation.
+              },
+            },
+            "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response.
+              "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+              "matchOperation": "A String", # Match operation to use for evaluation.
+            },
+            "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward.
+          },
+        },
+        "weight": 3.14, # How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1.
+      },
+    ],
+  },
+  "example": { # User-facing format for Gemini Reinforcement Tuning examples on Vertex. # Required. The example to validate the reward configuration.
+    "contents": [ # Multi-turn contents that represents the Prompt.
+      { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
+        "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+          { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+            "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+              "outcome": "A String", # Required. Outcome of the code execution.
+              "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+            },
+            "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+              "code": "A String", # Required. The code to be executed.
+              "language": "A String", # Required. Programming language of the `code`.
+            },
+            "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+              "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+              "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+            },
+            "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+              "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                "a_key": "", # Properties of the object.
+              },
+              "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+              "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+              "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                { # Partial argument value of the function call.
+                  "boolValue": True or False, # Optional. Represents a boolean value.
+                  "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                  "nullValue": "A String", # Optional. Represents a null value.
+                  "numberValue": 3.14, # Optional. Represents a double value.
+                  "stringValue": "A String", # Optional. Represents a string value.
+                  "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                },
+              ],
+              "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+            },
+            "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+              "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+              "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+              "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                  "fileData": { # URI based data for function response. # URI based data.
+                    "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                    "fileUri": "A String", # Required. URI.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                  "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                    "data": "A String", # Required. Raw bytes.
+                    "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                    "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                  },
+                },
+              ],
+              "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+                "a_key": "", # Properties of the object.
+              },
+              "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+            },
+            "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+              "data": "A String", # Required. The raw bytes of the data.
+              "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+              "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+            },
+            "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+              "level": "A String", # The tokenization quality used for given media.
+            },
+            "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+            "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+            "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+            "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+              "endOffset": "A String", # Optional. The end offset of the video.
+              "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+              "startOffset": "A String", # Optional. The start offset of the video.
+            },
+          },
+        ],
+        "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+      },
+    ],
+    "references": { # References for the given prompt. The key is the name of the reference, and the value is the reference itself.
+      "a_key": "A String",
+    },
+    "systemInstruction": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Corresponds to `system_instruction` in user-facing GenerateContentRequest.
+      "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+        { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+          "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+            "outcome": "A String", # Required. Outcome of the code execution.
+            "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+          },
+          "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+            "code": "A String", # Required. The code to be executed.
+            "language": "A String", # Required. Programming language of the `code`.
+          },
+          "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+            "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+            "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+          },
+          "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+            "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+              "a_key": "", # Properties of the object.
+            },
+            "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+            "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+            "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+              { # Partial argument value of the function call.
+                "boolValue": True or False, # Optional. Represents a boolean value.
+                "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+                "nullValue": "A String", # Optional. Represents a null value.
+                "numberValue": 3.14, # Optional. Represents a double value.
+                "stringValue": "A String", # Optional. Represents a string value.
+                "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+              },
+            ],
+            "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+          },
+          "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+            "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+            "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+            "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+              { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                "fileData": { # URI based data for function response. # URI based data.
+                  "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                  "fileUri": "A String", # Required. URI.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+                "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                  "data": "A String", # Required. Raw bytes.
+                  "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+                },
+              },
+            ],
+            "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+              "a_key": "", # Properties of the object.
+            },
+            "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+          },
+          "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+            "data": "A String", # Required. The raw bytes of the data.
+            "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+            "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+          },
+          "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+            "level": "A String", # The tokenization quality used for given media.
+          },
+          "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+          "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+          "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+          "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+            "endOffset": "A String", # Optional. The end offset of the video.
+            "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+            "startOffset": "A String", # Optional. The start offset of the video.
+          },
+        },
+      ],
+      "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+    },
+  },
+  "sampleResponse": { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The sample response for validating the reward configuration.
+    "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+      { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+        "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+          "outcome": "A String", # Required. Outcome of the code execution.
+          "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+        },
+        "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+          "code": "A String", # Required. The code to be executed.
+          "language": "A String", # Required. Programming language of the `code`.
+        },
+        "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+          "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+          "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+            "a_key": "", # Properties of the object.
+          },
+          "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
+          "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+          "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+            { # Partial argument value of the function call.
+              "boolValue": True or False, # Optional. Represents a boolean value.
+              "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
+              "nullValue": "A String", # Optional. Represents a null value.
+              "numberValue": 3.14, # Optional. Represents a double value.
+              "stringValue": "A String", # Optional. Represents a string value.
+              "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+            },
+          ],
+          "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+        },
+        "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+          "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
+          "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+          "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+            { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+              "fileData": { # URI based data for function response. # URI based data.
+                "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "fileUri": "A String", # Required. URI.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+              },
+              "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
+                "data": "A String", # Required. Raw bytes.
+                "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
               },
+            },
+          ],
+          "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
+            "a_key": "", # Properties of the object.
+          },
+          "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+        },
+        "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+          "data": "A String", # Required. The raw bytes of the data.
+          "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+          "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
+        },
+        "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+          "level": "A String", # The tokenization quality used for given media.
+        },
+        "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+        "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
+        "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+        "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+          "endOffset": "A String", # Optional. The end offset of the video.
+          "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+          "startOffset": "A String", # Optional. The start offset of the video.
+        },
+      },
+    ],
+    "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
+  },
+  "singleRewardConfig": { # SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards. # Optional. Single Reward function configuration for reinforcement tuning.
+    "autoraterScorer": { # ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer. # ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater.
+      "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Autorater config for classification based autorater
+        "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+        "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
+        "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs.
+          "audioTimestamp": True or False, # Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
+          "candidateCount": 42, # Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
+          "enableAffectiveDialog": True or False, # Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
+          "frequencyPenalty": 3.14, # Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
+          "imageConfig": { # Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people. # Optional. Config for image generation features.
+            "aspectRatio": "A String", # Optional. The desired aspect ratio for the generated images. The following aspect ratios are supported: "1:1" "2:3", "3:2" "3:4", "4:3" "4:5", "5:4" "9:16", "16:9" "21:9"
+            "imageOutputOptions": { # The image output format for generated images. # Optional. The image output format for generated images.
+              "compressionQuality": 42, # Optional. The compression quality of the output image.
+              "mimeType": "A String", # Optional. The image format that the output should be saved as.
+            },
+            "imageSize": "A String", # Optional. Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
+            "personGeneration": "A String", # Optional. Controls whether the model can generate people.
+            "prominentPeople": "A String", # Optional. Controls whether prominent people (celebrities) generation is allowed. If used with personGeneration, personGeneration enum would take precedence. For instance, if ALLOW_NONE is set, all person generation would be blocked. If this field is unspecified, the default behavior is to allow prominent people.
+          },
+          "logprobs": 42, # Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
+          "maxOutputTokens": 42, # Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
+          "mediaResolution": "A String", # Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
+          "modelConfig": { # Config for model selection. # Optional. Config for model selection.
+            "featureSelectionPreference": "A String", # Required. Feature selection preference.
+          },
+          "presencePenalty": 3.14, # Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
+          "responseJsonSchema": "", # Optional. When this field is set, response_schema must be omitted and response_mime_type must be set to `application/json`.
+          "responseLogprobs": True or False, # Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
+          "responseMimeType": "A String", # Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined.
+          "responseModalities": [ # Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
+            "A String",
+          ],
+          "responseSchema": { # Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object). # Optional. Lets you to specify a schema for the model's response, ensuring that the output conforms to a particular structure. This is useful for generating structured data such as JSON. The schema is a subset of the [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema) object. When this field is set, you must also set the `response_mime_type` to `application/json`.
+            "additionalProperties": "", # Optional. If `type` is `OBJECT`, specifies how to handle properties not defined in `properties`. If it is a boolean `false`, no additional properties are allowed. If it is a schema, additional properties are allowed if they conform to the schema.
+            "anyOf": [ # Optional. The instance must be valid against any (one or more) of the subschemas listed in `any_of`.
+              # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            ],
+            "default": "", # Optional. Default value to use if the field is not specified.
+            "defs": { # Optional. `defs` provides a map of schema definitions that can be reused by `ref` elsewhere in the schema. Only allowed at root level of the schema.
+              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            },
+            "description": "A String", # Optional. Describes the data. The model uses this field to understand the purpose of the schema and how to use it. It is a best practice to provide a clear and descriptive explanation for the schema and its properties here, rather than in the prompt.
+            "enum": [ # Optional. Possible values of the field. This field can be used to restrict a value to a fixed set of values. To mark a field as an enum, set `format` to `enum` and provide the list of possible values in `enum`. For example: 1. To define directions: `{type:STRING, format:enum, enum:["EAST", "NORTH", "SOUTH", "WEST"]}` 2. To define apartment numbers: `{type:INTEGER, format:enum, enum:["101", "201", "301"]}`
+              "A String",
+            ],
+            "example": "", # Optional. Example of an instance of this schema.
+            "format": "A String", # Optional. The format of the data. For `NUMBER` type, format can be `float` or `double`. For `INTEGER` type, format can be `int32` or `int64`. For `STRING` type, format can be `email`, `byte`, `date`, `date-time`, `password`, and other formats to further refine the data type.
+            "items": # Object with schema name: GoogleCloudAiplatformV1beta1Schema # Optional. If type is `ARRAY`, `items` specifies the schema of elements in the array.
+            "maxItems": "A String", # Optional. If type is `ARRAY`, `max_items` specifies the maximum number of items in an array.
+            "maxLength": "A String", # Optional. If type is `STRING`, `max_length` specifies the maximum length of the string.
+            "maxProperties": "A String", # Optional. If type is `OBJECT`, `max_properties` specifies the maximum number of properties that can be provided.
+            "maximum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `maximum` specifies the maximum allowed value.
+            "minItems": "A String", # Optional. If type is `ARRAY`, `min_items` specifies the minimum number of items in an array.
+            "minLength": "A String", # Optional. If type is `STRING`, `min_length` specifies the minimum length of the string.
+            "minProperties": "A String", # Optional. If type is `OBJECT`, `min_properties` specifies the minimum number of properties that can be provided.
+            "minimum": 3.14, # Optional. If type is `INTEGER` or `NUMBER`, `minimum` specifies the minimum allowed value.
+            "nullable": True or False, # Optional. Indicates if the value of this field can be null.
+            "pattern": "A String", # Optional. If type is `STRING`, `pattern` specifies a regular expression that the string must match.
+            "properties": { # Optional. If type is `OBJECT`, `properties` is a map of property names to schema definitions for each property of the object.
+              "a_key": # Object with schema name: GoogleCloudAiplatformV1beta1Schema
+            },
+            "propertyOrdering": [ # Optional. Order of properties displayed or used where order matters. This is not a standard field in OpenAPI specification, but can be used to control the order of properties.
+              "A String",
+            ],
+            "ref": "A String", # Optional. Allows referencing another schema definition to use in place of this schema. The value must be a valid reference to a schema in `defs`. For example, the following schema defines a reference to a schema node named "Pet": type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring
+            "required": [ # Optional. If type is `OBJECT`, `required` lists the names of properties that must be present.
+              "A String",
             ],
+            "title": "A String", # Optional. Title for the schema.
+            "type": "A String", # Optional. Data type of the schema field.
           },
-        ],
-        "userInputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user input tokens.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": "A String", # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
+          "routingConfig": { # The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name. # Optional. Routing configuration.
+            "autoMode": { # The configuration for automated routing. When automated routing is specified, the routing will be determined by the pretrained routing model and customer provided model routing preference. # In this mode, the model is selected automatically based on the content of the request.
+              "modelRoutingPreference": "A String", # The model routing preference.
             },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": 3.14, # Output only. Sum of a given population of values.
-        },
-        "userOutputTokenDistribution": { # Distribution computed over a tuning dataset. # Output only. Dataset distributions for the user output tokens.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": "A String", # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
+            "manualMode": { # The configuration for manual routing. When manual routing is specified, the model will be selected based on the model name provided. # In this mode, the model is specified manually.
+              "modelName": "A String", # The name of the model to use. Only public LLM models are accepted.
             },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": 3.14, # Output only. Sum of a given population of values.
-        },
-      },
-      "supervisedTuningDataStats": { # Tuning data statistics for Supervised Tuning. # The SFT Tuning data stats.
-        "droppedExampleReasons": [ # Output only. For each index in `truncated_example_indices`, the user-facing reason why the example was dropped.
-          "A String",
-        ],
-        "totalBillableCharacterCount": "A String", # Output only. Number of billable characters in the tuning dataset.
-        "totalBillableTokenCount": "A String", # Output only. Number of billable tokens in the tuning dataset.
-        "totalTruncatedExampleCount": "A String", # Output only. The number of examples in the dataset that have been dropped. An example can be dropped for reasons including: too many tokens, contains an invalid image, contains too many images, etc.
-        "totalTuningCharacterCount": "A String", # Output only. Number of tuning characters in the tuning dataset.
-        "truncatedExampleIndices": [ # Output only. A partial sample of the indices (starting from 1) of the dropped examples.
-          "A String",
-        ],
-        "tuningDatasetExampleCount": "A String", # Output only. Number of examples in the tuning dataset.
-        "tuningStepCount": "A String", # Output only. Number of tuning steps for this Tuning Job.
-        "userDatasetExamples": [ # Output only. Sample user messages in the training dataset uri.
-          { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.
-            "parts": [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
-              { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
-                "codeExecutionResult": { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
-                  "outcome": "A String", # Required. Outcome of the code execution.
-                  "output": "A String", # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
-                },
-                "executableCode": { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
-                  "code": "A String", # Required. The code to be executed.
-                  "language": "A String", # Required. Programming language of the `code`.
-                },
-                "fileData": { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
-                  "displayName": "A String", # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                  "fileUri": "A String", # Required. The URI of the file in Google Cloud Storage.
-                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                },
-                "functionCall": { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
-                  "args": { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
-                    "a_key": "", # Properties of the object.
-                  },
-                  "id": "A String", # Optional. The unique id of the function call. If populated, the client to execute the `function_call` and return the response with the matching `id`.
-                  "name": "A String", # Optional. The name of the function to call. Matches FunctionDeclaration.name.
-                  "partialArgs": [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
-                    { # Partial argument value of the function call.
-                      "boolValue": True or False, # Optional. Represents a boolean value.
-                      "jsonPath": "A String", # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data".
-                      "nullValue": "A String", # Optional. Represents a null value.
-                      "numberValue": 3.14, # Optional. Represents a double value.
-                      "stringValue": "A String", # Optional. Represents a string value.
-                      "willContinue": True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+          },
+          "seed": 42, # Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
+          "speechConfig": { # Configuration for speech generation. # Optional. The speech generation config.
+            "languageCode": "A String", # Optional. The language code (ISO 639-1) for the speech synthesis.
+            "multiSpeakerVoiceConfig": { # Configuration for a multi-speaker text-to-speech request. # The configuration for a multi-speaker text-to-speech request. This field is mutually exclusive with `voice_config`.
+              "speakerVoiceConfigs": [ # Required. A list of configurations for the voices of the speakers. Exactly two speaker voice configurations must be provided.
+                { # Configuration for a single speaker in a multi-speaker setup.
+                  "speaker": "A String", # Required. The name of the speaker. This should be the same as the speaker name used in the prompt.
+                  "voiceConfig": { # Configuration for a voice. # Required. The configuration for the voice of this speaker.
+                    "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                      "voiceName": "A String", # The name of the prebuilt voice to use.
                     },
-                  ],
-                  "willContinue": True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
-                },
-                "functionResponse": { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
-                  "id": "A String", # Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call `id`.
-                  "name": "A String", # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
-                  "parts": [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
-                    { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
-                      "fileData": { # URI based data for function response. # URI based data.
-                        "displayName": "A String", # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                        "fileUri": "A String", # Required. URI.
-                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                      },
-                      "inlineData": { # Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. # Inline media bytes.
-                        "data": "A String", # Required. Raw bytes.
-                        "displayName": "A String", # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
-                        "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                      },
+                    "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                      "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                      "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
                     },
-                  ],
-                  "response": { # Required. The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.
-                    "a_key": "", # Properties of the object.
                   },
-                  "scheduling": "A String", # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
-                },
-                "inlineData": { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
-                  "data": "A String", # Required. The raw bytes of the data.
-                  "displayName": "A String", # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
-                  "mimeType": "A String", # Required. The IANA standard MIME type of the source data.
-                },
-                "mediaResolution": { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
-                  "level": "A String", # The tokenization quality used for given media.
-                },
-                "text": "A String", # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
-                "thought": True or False, # Optional. Indicates whether the `part` represents the model's thought process or reasoning.
-                "thoughtSignature": "A String", # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
-                "videoMetadata": { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
-                  "endOffset": "A String", # Optional. The end offset of the video.
-                  "fps": 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
-                  "startOffset": "A String", # Optional. The start offset of the video.
                 },
-              },
-            ],
-            "role": "A String", # Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.
-          },
-        ],
-        "userInputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user input tokens.
-          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": 3.14, # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
-            },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": "A String", # Output only. Sum of a given population of values.
-        },
-        "userMessagePerExampleDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the messages per example.
-          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": 3.14, # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
+              ],
             },
-          ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": "A String", # Output only. Sum of a given population of values.
-        },
-        "userOutputTokenDistribution": { # Dataset distribution for Supervised Tuning. # Output only. Dataset distributions for the user output tokens.
-          "billableSum": "A String", # Output only. Sum of a given population of values that are billable.
-          "buckets": [ # Output only. Defines the histogram bucket.
-            { # Dataset bucket used to create a histogram for the distribution given a population of values.
-              "count": 3.14, # Output only. Number of values in the bucket.
-              "left": 3.14, # Output only. Left bound of the bucket.
-              "right": 3.14, # Output only. Right bound of the bucket.
+            "voiceConfig": { # Configuration for a voice. # The configuration for the voice to use.
+              "prebuiltVoiceConfig": { # Configuration for a prebuilt voice. # The configuration for a prebuilt voice.
+                "voiceName": "A String", # The name of the prebuilt voice to use.
+              },
+              "replicatedVoiceConfig": { # The configuration for the replicated voice to use. # Optional. The configuration for a replicated voice. This enables users to replicate a voice from an audio sample.
+                "mimeType": "A String", # Optional. The mimetype of the voice sample. The only currently supported value is `audio/wav`. This represents 16-bit signed little-endian wav data, with a 24kHz sampling rate. `mime_type` will default to `audio/wav` if not set.
+                "voiceSampleAudio": "A String", # Optional. The sample of the custom voice.
+              },
             },
+          },
+          "stopSequences": [ # Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
+            "A String",
           ],
-          "max": 3.14, # Output only. The maximum of the population values.
-          "mean": 3.14, # Output only. The arithmetic mean of the values in the population.
-          "median": 3.14, # Output only. The median of the values in the population.
-          "min": 3.14, # Output only. The minimum of the population values.
-          "p5": 3.14, # Output only. The 5th percentile of the values in the population.
-          "p95": 3.14, # Output only. The 95th percentile of the values in the population.
-          "sum": "A String", # Output only. Sum of a given population of values.
+          "temperature": 3.14, # Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
+          "thinkingConfig": { # Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response. # Optional. Configuration for thinking features. An error will be returned if this field is set for models that don't support thinking.
+            "includeThoughts": True or False, # Optional. If true, the model will include its thoughts in the response. "Thoughts" are the intermediate steps the model takes to arrive at the final response. They can provide insights into the model's reasoning process and help with debugging. If this is true, thoughts are returned only when available.
+            "thinkingBudget": 42, # Optional. The token budget for the model's thinking process. The model will make a best effort to stay within this budget. This can be used to control the trade-off between response quality and latency.
+            "thinkingLevel": "A String", # Optional. The number of thoughts tokens that the model should generate.
+          },
+          "topK": 3.14, # Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
+          "topP": 3.14, # Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
         },
+        "samplingCount": 42, # Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
+      },
+      "autoraterPrompt": "A String", # Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt.
+      "autoraterResponseParseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex "`.*(.*?)`" will give you "2.0".
+        "parseType": "A String", # Defines how to parse sample response.
+        "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+      },
+      "exactMatchScorer": { # Scores autorater responses by using exact string match reward scorer. # Scores autorater responses by using string match reward scorer.
+        "correctAnswerReward": 3.14, # Assigns this reward score if parsed response string equals the expression.
+        "expression": "A String", # The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of "3", the expression becomes "3" and we will give 1.0 reward if parsed response string equals "3". and -1.0 reward if parsed response string does not equal "3".
+        "wrongAnswerReward": 3.14, # Assigns this reward score if parsed reward value does not equal the expression.
+      },
+      "parsedResponseConversionScorer": { # Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
       },
     },
-    "tuningJobMetadata": { # Tuning job metadata. # Output only. Tuning Job metadata.
-      "completedEpochCount": "A String", # Output only. The number of epochs that have been completed.
-      "completedStepCount": "A String", # Output only. The number of steps that have been completed. Set for Multi-Step RL.
+    "cloudRunRewardScorer": { # The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { "example": ReinforcementTuningExample, "response": Content, "metadata": { "step": int "tuning_job_id": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { "reward": float } Example HTTP Request Body: { "example": { "contents": [ { "role": "user", "parts": [ { "text": "What is the capital of France?" } ] } ], "references": { "answer": "Paris", } }, "response": { "parts": [ { "text": "London" } ] }, "metadata": { "step": 1 "tuning_job_id": 123456789 } } Example HTTP Response Body: { "reward": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service.
+      "cloudRunUri": "A String", # URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service.
     },
-    "tuningJobState": "A String", # Output only. The detail state of the tuning job (while the overall `JobState` is running).
-    "updateTime": "A String", # Output only. Time when the TuningJob was most recently updated.
-    "veoLoraTuningSpec": { # Tuning Spec for Veo LoRA Model Tuning. # Tuning Spec for Veo LoRA Tuning.
-      "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo LoRA.
-        "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
-        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
-        "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
-        "tuningTask": "A String", # The tuning task for Veo.
-        "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
-      },
-      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-      "videoOrientation": "A String", # Optional. The orientation of the video. Defaults to LANDSCAPE.
+    "codeExecutionRewardScorer": { # Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1) # ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases.
+      "pythonCodeSnippet": "A String", # Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example"references": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)
     },
-    "veoTuningSpec": { # Tuning Spec for Veo Model Tuning. # Tuning Spec for Veo Tuning.
-      "hyperParameters": { # Hyperparameters for Veo. # Optional. Hyperparameters for Veo.
-        "adapterSize": "A String", # Optional. The adapter size for LoRA tuning.
-        "epochCount": "A String", # Optional. Number of complete passes the model makes over the entire training dataset during training.
-        "learningRateMultiplier": 3.14, # Optional. Multiplier for adjusting the default learning rate.
-        "tuningSpeed": "A String", # The speed of the tuning job. Only supported for Veo 3.0 models.
-        "tuningTask": "A String", # The tuning task for Veo.
-        "veoDataMixtureRatio": 3.14, # Optional. The ratio of Google internal dataset to use in the training mixture, in range of `[0, 1)`. If `0.2`, it means 20% of Google internal dataset and 80% of user dataset will be used for training. If not set, the default value is 0.1.
+    "parseResponseConfig": { # Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: "Perform step by step thoughts first to problem A, finally output answer in ` ` block." And the sample response might look like: "`blahblah`". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: ".*(.*?)" ``` And we would have returned "blahblah" to reward scoring function. # Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of "`.*(.*?)`" to parse the sample response.
+      "parseType": "A String", # Defines how to parse sample response.
+      "regexExtractExpression": "A String", # Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.
+    },
+    "rewardName": "A String", # A unique reward name used to identify each single reinforcement tuning reward.
+    "stringMatchRewardScorer": { # ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated. # ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code.
+      "correctAnswerReward": 3.14, # Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward.
+      "jsonMatchExpression": { # JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name. # Uses json match expression to evaluate parsed response.
+        "keyName": "A String", # Json key name to find the value to match against.
+        "valueStringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # String match expression to match against the value of json key.
+          "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+          "matchOperation": "A String", # Match operation to use for evaluation.
+        },
       },
-      "trainingDatasetUri": "A String", # Required. Training dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
-      "validationDatasetUri": "A String", # Optional. Validation dataset used for tuning. The dataset can be specified as either a Cloud Storage path to a JSONL file or as the resource name of a Vertex Multimodal Dataset.
+      "stringMatchExpression": { # Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise. # Uses string match expression to evaluate parsed response.
+        "expression": "A String", # String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of "abcdef", the expression becomes .*abcdef.*
+        "matchOperation": "A String", # Match operation to use for evaluation.
+      },
+      "wrongAnswerReward": 3.14, # Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward.
     },
   },
 }
@@ -6973,23 +11875,17 @@ 

Method Details

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. + { # Response message for GenAiTuningService.ValidateReinforcementTuningReward. + "error": "A String", # Output only. In case of an error, this field will be populated with a detailed error message to help with debugging. + "overallReward": 3.14, # Output only. The overall weighted reward. For a `CompositeReinforcementTuningRewardConfig`, this is the weighted average of all rewards. For a `SingleReinforcementTuningRewardConfig`, this will be the value of the single reward. + "rewardDetails": { # Output only. Deprecated: Use `reward_info_details` instead. A map from reward name to the calculated reward for the reward function. This field will only be populated when a `CompositeReinforcementTuningRewardConfig` is provided in the request. It will not be set for a `SingleReinforcementTuningRewardConfig`. + "a_key": 3.14, }, - "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. + "rewardInfoDetails": { # A map from reward name to reward info. + "a_key": { # The reward info for a reward function. + "reward": 3.14, # Output only. The calculated reward for the reward function. + "userRequestedAuxInfo": "A String", # Optional. Output only. The user-requested auxiliary info for the reward function. + }, }, }
diff --git a/docs/dyn/aiplatform_v1beta1.publishers.models.html b/docs/dyn/aiplatform_v1beta1.publishers.models.html index e28dbd445e..713005b4c7 100644 --- a/docs/dyn/aiplatform_v1beta1.publishers.models.html +++ b/docs/dyn/aiplatform_v1beta1.publishers.models.html @@ -530,6 +530,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1129,6 +1135,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1700,8 +1712,8 @@

Method Details

}, "deploy": { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. # Optional. Deploy the PublisherModel to Vertex Endpoint. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -1845,10 +1857,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -1860,7 +1872,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -1893,8 +1905,8 @@

Method Details

"multiDeployVertex": [ # Optional. One click deployment configurations. { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -2038,10 +2050,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2053,7 +2065,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -2316,8 +2328,8 @@

Method Details

}, "deploy": { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. # Optional. Deploy the PublisherModel to Vertex Endpoint. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -2461,10 +2473,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2476,7 +2488,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -2509,8 +2521,8 @@

Method Details

"multiDeployVertex": [ # Optional. One click deployment configurations. { # Model metadata that is needed for UploadModel or DeployModel/CreateEndpoint requests. "artifactUri": "A String", # Optional. The path to the directory containing the Model artifact and any of its supporting files. - "automaticResources": { # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. + "automaticResources": { # A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. # A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number. "minReplicaCount": 42, # Immutable. The minimum number of replicas that will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error. }, "containerSpec": { # Specification of a container for serving predictions. Some fields in this message correspond to fields in the [Kubernetes Container v1 core specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). # Optional. The specification of the container that is to be used when deploying this Model in Vertex AI. Not present for Large Models. @@ -2654,10 +2666,10 @@

Method Details

}, "initialReplicaCount": 42, # Immutable. Number of initial replicas being deployed on when scaling the workload up from zero or when creating the workload in case min_replica_count = 0. When min_replica_count > 0 (meaning that the scale-to-zero feature is not enabled), initial_replica_count should not be set. When min_replica_count = 0 (meaning that the scale-to-zero feature is enabled), initial_replica_count should be larger than zero, but no greater than max_replica_count. "machineSpec": { # Specification of a single machine. # Required. Immutable. The specification of a single machine being used. - "acceleratorCount": 42, # The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. + "acceleratorCount": 42, # The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled. "acceleratorType": "A String", # Immutable. The type of accelerator(s) that may be attached to the machine as per accelerator_count. "gpuPartitionSize": "A String", # Optional. Immutable. The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to [Nvidia GPU Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) for the available partition sizes. If set, the accelerator_count should be set to 1. - "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. + "machineType": "A String", # Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. "minGpuDriverVersion": "A String", # Optional. Immutable. The minimum GPU driver version that this machine requires. For example, "535.104.06". If not specified, the default GPU driver version will be used by the underlying infrastructure. "multihostGpuNodeCount": 42, # Optional. Immutable. The number of nodes per replica for multihost GPU deployments. "reservationAffinity": { # A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. # Optional. Immutable. Configuration controlling how this resource pool consumes reservation. @@ -2669,7 +2681,7 @@

Method Details

}, "tpuTopology": "A String", # Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1"). }, - "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). + "maxReplicaCount": 42, # Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type). "minReplicaCount": 42, # Required. Immutable. The minimum number of machine replicas that will be always deployed on. This value must be greater than or equal to 1. If traffic increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. "requiredReplicaCount": 42, # Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial deployment/mutation is desired. If set, the deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. "scaleToZeroSpec": { # Specification for scale-to-zero feature. # Optional. Specification for scale-to-zero feature. @@ -3292,6 +3304,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.reasoningEngines.memories.html b/docs/dyn/aiplatform_v1beta1.reasoningEngines.memories.html index bbda6cbc8e..52cbb8003a 100644 --- a/docs/dyn/aiplatform_v1beta1.reasoningEngines.memories.html +++ b/docs/dyn/aiplatform_v1beta1.reasoningEngines.memories.html @@ -732,7 +732,7 @@

Method Details

"updateTime": "A String", # Output only. Represents the timestamp when this Memory was most recently updated. } - updateMask: string, Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact` + updateMask: string, Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type` x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html b/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html index 6a3f447a52..8d5df403ca 100644 --- a/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html +++ b/docs/dyn/aiplatform_v1beta1.reasoningEngines.sandboxEnvironmentTemplates.html @@ -135,6 +135,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -246,6 +254,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. @@ -300,6 +316,14 @@

Method Details

}, "defaultContainerEnvironment": { # The default sandbox runtime environment for default container workloads. # The sandbox environment for default container workloads. "defaultContainerCategory": "A String", # Required. The category of the default container image. + "resources": { # Message to define resource requests and limits (mirroring Kubernetes) for each sandbox instance created from this template. # Optional. Resource requests and limits for the default container. + "limits": { # Optional. The maximum amounts of compute resources allowed. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "500m", "1Gi"). + "a_key": "A String", + }, + "requests": { # Optional. The requested amounts of compute resources. Keys are resource names (e.g., "cpu", "memory"). Values are quantities (e.g., "250m", "512Mi"). + "a_key": "A String", + }, + }, }, "displayName": "A String", # Required. The display name of the SandboxEnvironmentTemplate. "egressControlConfig": { # Configuration for egress control of sandbox instances. # Optional. The configuration for egress control of this template. diff --git a/docs/dyn/aiplatform_v1beta1.v1beta1.html b/docs/dyn/aiplatform_v1beta1.v1beta1.html index 607a7de3e8..1e300e4f55 100644 --- a/docs/dyn/aiplatform_v1beta1.v1beta1.html +++ b/docs/dyn/aiplatform_v1beta1.v1beta1.html @@ -606,7 +606,7 @@

Method Details

The object takes the form of: { # Request message for EvaluationService.EvaluateInstances. - "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. + "autoraterConfig": { # The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset. # Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored. "autoraterModel": "A String", # Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}` "flipEnabled": True or False, # Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias. "generationConfig": { # Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output. # Optional. Configuration options for model generation and outputs. @@ -903,6 +903,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1222,6 +1228,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1614,6 +1626,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1844,6 +1862,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2166,6 +2190,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -2396,6 +2426,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -4588,6 +4624,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/aiplatform_v1beta1.vertexExpress.html b/docs/dyn/aiplatform_v1beta1.vertexExpress.html index dbbe4aaf13..d09da1f1c0 100644 --- a/docs/dyn/aiplatform_v1beta1.vertexExpress.html +++ b/docs/dyn/aiplatform_v1beta1.vertexExpress.html @@ -115,6 +115,7 @@

Method Details

"projectId": "A String", # Output only. The ID of the project. "projectNumber": "A String", # Output only. The number of the project. "region": "A String", # Output only. The region of the project. + "tier": "A String", # Output only. The tier of the project. }, } @@ -147,6 +148,7 @@

Method Details

"projectId": "A String", # Output only. The ID of the project. "projectNumber": "A String", # Output only. The number of the project. "region": "A String", # Output only. The region of the project. + "tier": "A String", # Output only. The tier of the project. } diff --git a/docs/dyn/androidmanagement_v1.enterprises.devices.html b/docs/dyn/androidmanagement_v1.enterprises.devices.html index 80d47d3e0c..a44635518d 100644 --- a/docs/dyn/androidmanagement_v1.enterprises.devices.html +++ b/docs/dyn/androidmanagement_v1.enterprises.devices.html @@ -170,9 +170,14 @@

Method Details

], "packageName": "A String", # Package name of the app. "packageSha256Hash": "A String", # The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number. - "signingKeyCertFingerprints": [ # The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. + "signingKeyCertFingerprints": [ # Deprecated. Use signingKeyCerts instead. The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. "A String", ], + "signingKeyCerts": [ # Output only. Signing key certificates of the app. + { # The application signing key certificate. + "signingKeyCertFingerprintSha256": "A String", # Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. + }, + ], "state": "A String", # Application state. "userFacingType": "A String", # Whether the app is user facing. "versionCode": 42, # The app version code, which can be used to determine whether one version is more recent than another. @@ -602,9 +607,14 @@

Method Details

], "packageName": "A String", # Package name of the app. "packageSha256Hash": "A String", # The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number. - "signingKeyCertFingerprints": [ # The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. + "signingKeyCertFingerprints": [ # Deprecated. Use signingKeyCerts instead. The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. "A String", ], + "signingKeyCerts": [ # Output only. Signing key certificates of the app. + { # The application signing key certificate. + "signingKeyCertFingerprintSha256": "A String", # Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. + }, + ], "state": "A String", # Application state. "userFacingType": "A String", # Whether the app is user facing. "versionCode": 42, # The app version code, which can be used to determine whether one version is more recent than another. @@ -902,9 +912,14 @@

Method Details

], "packageName": "A String", # Package name of the app. "packageSha256Hash": "A String", # The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number. - "signingKeyCertFingerprints": [ # The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. + "signingKeyCertFingerprints": [ # Deprecated. Use signingKeyCerts instead. The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. "A String", ], + "signingKeyCerts": [ # Output only. Signing key certificates of the app. + { # The application signing key certificate. + "signingKeyCertFingerprintSha256": "A String", # Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. + }, + ], "state": "A String", # Application state. "userFacingType": "A String", # Whether the app is user facing. "versionCode": 42, # The app version code, which can be used to determine whether one version is more recent than another. @@ -1184,9 +1199,14 @@

Method Details

], "packageName": "A String", # Package name of the app. "packageSha256Hash": "A String", # The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number. - "signingKeyCertFingerprints": [ # The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. + "signingKeyCertFingerprints": [ # Deprecated. Use signingKeyCerts instead. The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number. "A String", ], + "signingKeyCerts": [ # Output only. Signing key certificates of the app. + { # The application signing key certificate. + "signingKeyCertFingerprintSha256": "A String", # Required. The SHA-256 hash value of the signing key certificate of the app. This must be a valid SHA-256 hash value, i.e. 32 bytes. + }, + ], "state": "A String", # Application state. "userFacingType": "A String", # Whether the app is user facing. "versionCode": 42, # The app version code, which can be used to determine whether one version is more recent than another. diff --git a/docs/dyn/androidpublisher_v3.generatedapks.html b/docs/dyn/androidpublisher_v3.generatedapks.html index 05f8bad958..51493ed238 100644 --- a/docs/dyn/androidpublisher_v3.generatedapks.html +++ b/docs/dyn/androidpublisher_v3.generatedapks.html @@ -139,7 +139,7 @@

Method Details

{ # Response to list generated APKs. "generatedApks": [ # All generated APKs, grouped by the APK signing key. - { # Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. Next ID: 10 + { # Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. "certificateSha256Hash": "A String", # SHA256 hash of the APK signing public key certificate. "generatedAssetPackSlices": [ # List of asset pack slices which will be served for this app bundle, signed with a key corresponding to certificate_sha256_hash. { # Download metadata for an asset pack slice. diff --git a/docs/dyn/androidpublisher_v3.orders.html b/docs/dyn/androidpublisher_v3.orders.html index ce8992b4bb..1f6fb447e0 100644 --- a/docs/dyn/androidpublisher_v3.orders.html +++ b/docs/dyn/androidpublisher_v3.orders.html @@ -140,7 +140,7 @@

Method Details

"subscriptionDetails": { # Details of a subscription purchase. # Details of a subscription purchase. "basePlanId": "A String", # The base plan ID of the subscription. "offerId": "A String", # The offer ID for the current subscription offer. - "offerPhase": "A String", # The pricing phase for the billing period funded by this order. Deprecated. Use offer_phase_details instead. + "offerPhase": "A String", # Deprecated: Use offer_phase_details instead. The pricing phase for the billing period funded by this order. "offerPhaseDetails": { # Details of a pricing phase for the entitlement period funded by this order. # The pricing phase details for the entitlement period funded by this order. "baseDetails": { # Details of a base price pricing phase. # The order funds a base price period. }, @@ -298,7 +298,7 @@

Method Details

"subscriptionDetails": { # Details of a subscription purchase. # Details of a subscription purchase. "basePlanId": "A String", # The base plan ID of the subscription. "offerId": "A String", # The offer ID for the current subscription offer. - "offerPhase": "A String", # The pricing phase for the billing period funded by this order. Deprecated. Use offer_phase_details instead. + "offerPhase": "A String", # Deprecated: Use offer_phase_details instead. The pricing phase for the billing period funded by this order. "offerPhaseDetails": { # Details of a pricing phase for the entitlement period funded by this order. # The pricing phase details for the entitlement period funded by this order. "baseDetails": { # Details of a base price pricing phase. # The order funds a base price period. }, diff --git a/docs/dyn/androidpublisher_v3.purchases.subscriptions.html b/docs/dyn/androidpublisher_v3.purchases.subscriptions.html index 585b31d7b0..d55a5df645 100644 --- a/docs/dyn/androidpublisher_v3.purchases.subscriptions.html +++ b/docs/dyn/androidpublisher_v3.purchases.subscriptions.html @@ -79,13 +79,13 @@

Instance Methods

Acknowledges a subscription purchase.

cancel(packageName, subscriptionId, token, x__xgafv=None)

-

Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.

+

Deprecated: Use purchases.subscriptionsv2.cancel instead. Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.

close()

Close httplib2 connections.

defer(packageName, subscriptionId, token, body=None, x__xgafv=None)

-

Defers a user's subscription purchase until a specified future expiration time.

+

Deprecated: Use purchases.subscriptionsv2.defer instead. Defers a user's subscription purchase until a specified future expiration time.

get(packageName, subscriptionId, token, x__xgafv=None)

Deprecated: Use purchases.subscriptionsv2.get instead. Checks whether a user's subscription purchase is valid and returns its expiry time.

@@ -124,7 +124,7 @@

Method Details

cancel(packageName, subscriptionId, token, x__xgafv=None) -
Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.
+  
Deprecated: Use purchases.subscriptionsv2.cancel instead. Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.
 
 Args:
   packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
@@ -144,7 +144,7 @@ 

Method Details

defer(packageName, subscriptionId, token, body=None, x__xgafv=None) -
Defers a user's subscription purchase until a specified future expiration time.
+  
Deprecated: Use purchases.subscriptionsv2.defer instead. Defers a user's subscription purchase until a specified future expiration time.
 
 Args:
   packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
@@ -189,7 +189,7 @@ 

Method Details

Returns: An object of the form: - { # A SubscriptionPurchase resource indicates the status of a user's subscription purchase. + { # Deprecated: Use SubscriptionPurchaseV2 instead. A SubscriptionPurchase resource indicates the status of a user's subscription purchase. "acknowledgementState": 42, # The acknowledgement state of the subscription product. Possible values are: 0. Yet to be acknowledged 1. Acknowledged "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time. "autoResumeTimeMillis": "A String", # Time at which the subscription will be automatically resumed, in milliseconds since the Epoch. Only present if the user has requested to pause the subscription. diff --git a/docs/dyn/androidpublisher_v3.purchases.subscriptionsv2.html b/docs/dyn/androidpublisher_v3.purchases.subscriptionsv2.html index 9eda747c72..6f2274eb03 100644 --- a/docs/dyn/androidpublisher_v3.purchases.subscriptionsv2.html +++ b/docs/dyn/androidpublisher_v3.purchases.subscriptionsv2.html @@ -197,6 +197,11 @@

Method Details

"obfuscatedExternalAccountId": "A String", # An obfuscated version of the id that is uniquely associated with the user's account in your app. Present for the following purchases: * If account linking happened as part of the subscription purchase flow. * It was specified using https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid when the purchase was made. "obfuscatedExternalProfileId": "A String", # An obfuscated version of the id that is uniquely associated with the user's profile in your app. Only present if specified using https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid when the purchase was made. }, + "inGracePeriodStateContext": { # Additional context around subscriptions in IN_GRACE_PERIOD state. # Optional. Additional context around subscriptions in IN_GRACE_PERIOD state. Only present if the subscription currently has subscription_state SUBSCRIPTION_STATE_IN_GRACE_PERIOD. + "renewalDeclined": { # Context related to renewal declined scenario. # Optional. The payment for the renewal was declined. + "pendingOrderId": "A String", # Required. The ID of the pending or failed order causing the state. + }, + }, "kind": "A String", # This kind represents a SubscriptionPurchaseV2 object in the androidpublisher service. "latestOrderId": "A String", # Deprecated: Use line_items.latest_successful_order_id instead. The order id of the latest order associated with the purchase of the subscription. For autoRenewing subscription, this is the order id of signup order if it is not renewed yet, or the last recurring order id (success, pending, or declined order). For prepaid subscription, this is the order id associated with the queried purchase token. "lineItems": [ # Item-level info for a subscription purchase. The items in the same purchase should be either all with AutoRenewingPlan or all with PrepaidPlan. @@ -280,6 +285,11 @@

Method Details

}, ], "linkedPurchaseToken": "A String", # The purchase token of the old subscription if this subscription is one of the following: * Re-signup of a canceled but non-lapsed subscription * Upgrade/downgrade from a previous subscription. * Convert from prepaid to auto renewing subscription. * Convert from an auto renewing subscription to prepaid. * Topup a prepaid subscription. + "onHoldStateContext": { # Additional context around subscriptions in ON_HOLD state. # Optional. Additional context around subscriptions in ON_HOLD state. Only present if the subscription currently has subscription_state SUBSCRIPTION_STATE_ON_HOLD. + "renewalDeclined": { # Context related to renewal declined scenario. # Optional. The payment for the renewal was declined. + "pendingOrderId": "A String", # Required. The ID of the pending or failed order causing the state. + }, + }, "outOfAppPurchaseContext": { # Information specific to an out of app purchase. # Additional context for out of app purchases. This information is only present for re-subscription purchases (subscription purchases made after the previous subscription of the same product has expired) made through the Google Play subscriptions center. This field will be removed after you acknowledge the subscription. "expiredExternalAccountIdentifiers": { # User account identifier in the third-party service. # User account identifier from the last expired subscription for this SKU. "externalAccountId": "A String", # User account identifier in the third-party service. Only present if account linking happened as part of the subscription purchase flow. diff --git a/docs/dyn/apphub_v1.projects.locations.applications.html b/docs/dyn/apphub_v1.projects.locations.applications.html index 091cf0750f..c94e2a82fd 100644 --- a/docs/dyn/apphub_v1.projects.locations.applications.html +++ b/docs/dyn/apphub_v1.projects.locations.applications.html @@ -466,7 +466,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1.projects.locations.applications.services.html b/docs/dyn/apphub_v1.projects.locations.applications.services.html index fbd3d66499..3c1ed75af5 100644 --- a/docs/dyn/apphub_v1.projects.locations.applications.services.html +++ b/docs/dyn/apphub_v1.projects.locations.applications.services.html @@ -487,7 +487,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1.projects.locations.applications.workloads.html b/docs/dyn/apphub_v1.projects.locations.applications.workloads.html index 993dd8e168..6818dd6334 100644 --- a/docs/dyn/apphub_v1.projects.locations.applications.workloads.html +++ b/docs/dyn/apphub_v1.projects.locations.applications.workloads.html @@ -475,7 +475,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1.projects.locations.html b/docs/dyn/apphub_v1.projects.locations.html index 18552be9ed..59b7614d3c 100644 --- a/docs/dyn/apphub_v1.projects.locations.html +++ b/docs/dyn/apphub_v1.projects.locations.html @@ -301,7 +301,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1alpha.projects.locations.applications.html b/docs/dyn/apphub_v1alpha.projects.locations.applications.html index a8918cdce7..3c3299db50 100644 --- a/docs/dyn/apphub_v1alpha.projects.locations.applications.html +++ b/docs/dyn/apphub_v1alpha.projects.locations.applications.html @@ -514,7 +514,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1alpha.projects.locations.applications.services.html b/docs/dyn/apphub_v1alpha.projects.locations.applications.services.html index cc0f0508df..02bbf8d3fb 100644 --- a/docs/dyn/apphub_v1alpha.projects.locations.applications.services.html +++ b/docs/dyn/apphub_v1alpha.projects.locations.applications.services.html @@ -539,7 +539,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1alpha.projects.locations.applications.workloads.html b/docs/dyn/apphub_v1alpha.projects.locations.applications.workloads.html index 7f95d45e20..38c617b8bb 100644 --- a/docs/dyn/apphub_v1alpha.projects.locations.applications.workloads.html +++ b/docs/dyn/apphub_v1alpha.projects.locations.applications.workloads.html @@ -523,7 +523,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/apphub_v1alpha.projects.locations.html b/docs/dyn/apphub_v1alpha.projects.locations.html index 0930a657f9..e7d9c06e94 100644 --- a/docs/dyn/apphub_v1alpha.projects.locations.html +++ b/docs/dyn/apphub_v1alpha.projects.locations.html @@ -301,7 +301,7 @@

Method Details

} requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/artifactregistry_v1.projects.locations.html b/docs/dyn/artifactregistry_v1.projects.locations.html index 4446667285..0bda179824 100644 --- a/docs/dyn/artifactregistry_v1.projects.locations.html +++ b/docs/dyn/artifactregistry_v1.projects.locations.html @@ -98,7 +98,7 @@

Instance Methods

Retrieves the VPCSC Config for the Project.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -186,11 +186,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
index fc6e5ec206..63f304fcd2 100644
--- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
+++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html
@@ -129,6 +129,11 @@ 

Instance Methods

Returns the packages Resource.

+

+ prewarmedArtifacts() +

+

Returns the prewarmedArtifacts Resource.

+

pythonPackages()

@@ -144,6 +149,9 @@

Instance Methods

Returns the yumArtifacts Resource.

+

+ checkPrewarmedArtifact(repository, body=None, x__xgafv=None)

+

Checks an artifact streaming.

close()

Close httplib2 connections.

@@ -171,6 +179,12 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates a repository.

+

+ prewarmArtifact(repository, body=None, x__xgafv=None)

+

Prewarms an artifact for streaming.

+

+ removePrewarmedArtifact(repository, body=None, x__xgafv=None)

+

Removes an artifact from streaming.

setIamPolicy(resource, body=None, x__xgafv=None)

Updates the IAM policy for a given resource.

@@ -178,6 +192,38 @@

Instance Methods

testIamPermissions(resource, body=None, x__xgafv=None)

Tests if the caller has a list of permissions on a resource.

Method Details

+
+ checkPrewarmedArtifact(repository, body=None, x__xgafv=None) +
Checks an artifact streaming.
+
+Args:
+  repository: string, Required. The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for checking an artifact for streaming.
+  "streamLocation": "A String", # Optional. The location of the prewarmed artifact. multi-region is not supported for this field.
+  "tag": "A String", # Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}
+  "version": "A String", # Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for checking an artifact for streaming.
+  "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. # The prewarmed artifact that was checked.
+    "expirationTime": "A String", # The expiration time of the prewarmed artifact.
+    "location": "A String", # The location of the prewarmed artifact.
+    "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf
+  },
+}
+
+
close()
Close httplib2 connections.
@@ -1038,6 +1084,84 @@

Method Details

}
+
+ prewarmArtifact(repository, body=None, x__xgafv=None) +
Prewarms an artifact for streaming.
+
+Args:
+  repository: string, Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for prewarming an artifact for streaming.
+  "force": True or False, # Optional. If true, old artifact will be evicted to make room for the new artifact.
+  "retentionDays": "A String", # Optional. The retention days of the prewarmed artifact. If not specified, the artifact will be cached for 3 days.
+  "streamLocation": "A String", # Optional. The location to cache the artifact in. If not specified, the artifact will be cached in the same location as the artifact. multi-region is not supported for this field.
+  "tag": "A String", # Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}
+  "version": "A String", # Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}
+}
+
+  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.
+  },
+}
+
+ +
+ removePrewarmedArtifact(repository, body=None, x__xgafv=None) +
Removes an artifact from streaming.
+
+Args:
+  repository: string, Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for removing an artifact from streaming.
+  "streamLocation": "A String", # Optional. The location of the prewarmed artifact. multi-region is not supported for this field.
+  "tag": "A String", # Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}
+  "version": "A String", # Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for removing an artifact from streaming.
+  "prewarmedArtifact": { # PrewarmedArtifact represents a streamed artifact. # The prewarmed artifact that was removed.
+    "expirationTime": "A String", # The expiration time of the prewarmed artifact.
+    "location": "A String", # The location of the prewarmed artifact.
+    "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf
+  },
+}
+
+
setIamPolicy(resource, body=None, x__xgafv=None)
Updates the IAM policy for a given resource.
diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html
new file mode 100644
index 0000000000..7fc563a880
--- /dev/null
+++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.prewarmedArtifacts.html
@@ -0,0 +1,135 @@
+
+
+
+

Artifact Registry API . projects . locations . repositories . prewarmedArtifacts

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all streamed artifacts in a repository.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all streamed artifacts in a repository.
+
+Args:
+  parent: string, Required. The repository of the artifact to list. Format: projects/{project}/locations/{location}/repositories/{repository} (required)
+  filter: string, Optional. Filter should only support The location of the prewarmed artifacts. multi-region is not supported for this field.
+  pageSize: integer, Optional. The maximum number of prewarmed artifacts to return. Maximum page size is 1,000. Default page size is 100.
+  pageToken: string, Optional. The next_page_token value returned from a previous list request, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for listing artifacts for streaming.
+  "nextPageToken": "A String", # The token to retrieve the next page of prewarmed artifacts, or empty if there are no more streamings to return.
+  "prewarmedArtifacts": [ # The prewarmed artifacts.
+    { # PrewarmedArtifact represents a streamed artifact.
+      "expirationTime": "A String", # The expiration time of the prewarmed artifact.
+      "location": "A String", # The location of the prewarmed artifact.
+      "uri": "A String", # URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/artifactregistry_v1beta1.projects.locations.html b/docs/dyn/artifactregistry_v1beta1.projects.locations.html index 9f3ce173f8..85a63bf71c 100644 --- a/docs/dyn/artifactregistry_v1beta1.projects.locations.html +++ b/docs/dyn/artifactregistry_v1beta1.projects.locations.html @@ -92,7 +92,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/artifactregistry_v1beta2.projects.locations.html b/docs/dyn/artifactregistry_v1beta2.projects.locations.html
index 551c3d2bad..39f285e15e 100644
--- a/docs/dyn/artifactregistry_v1beta2.projects.locations.html
+++ b/docs/dyn/artifactregistry_v1beta2.projects.locations.html
@@ -92,7 +92,7 @@ 

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
index ac6a9a988e..692b8825f7 100644
--- a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
@@ -77,6 +77,9 @@ 

Instance Methods

acknowledge(name, body=None, x__xgafv=None)

Acknowledges an existing violation. By acknowledging a violation, users acknowledge the existence of a compliance violation in their workload and decide to ignore it due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted.

+

+ batchAcknowledgeViolations(parent, body=None, x__xgafv=None)

+

Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.

close()

Close httplib2 connections.

@@ -117,6 +120,35 @@

Method Details

}
+
+ batchAcknowledgeViolations(parent, body=None, x__xgafv=None) +
Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.
+
+Args:
+  parent: string, Optional. The parent resource shared by all violations being acknowledged. Format: organizations/{organization}/locations/{location}/workloads/{workload} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for acknowledging the violations in a batch
+  "acknowledgeType": "A String", # Optional. Acknowledge type of specified violations.
+  "comment": "A String", # Required. Business justification explaining the need for violations acknowledgement
+  "names": [ # Required. The resource names of the Violations to acknowledge. Format for each name: organizations/{organization}/locations/{location}/workloads/{workload}/violations/{violation}
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for batch violation acknowledgement
+}
+
+
close()
Close httplib2 connections.
diff --git a/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html index 1e332fb44b..e05c198619 100644 --- a/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html +++ b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html @@ -77,6 +77,9 @@

Instance Methods

acknowledge(name, body=None, x__xgafv=None)

Acknowledges an existing violation. By acknowledging a violation, users acknowledge the existence of a compliance violation in their workload and decide to ignore it due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted.

+

+ batchAcknowledgeViolations(parent, body=None, x__xgafv=None)

+

Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.

close()

Close httplib2 connections.

@@ -117,6 +120,35 @@

Method Details

}
+
+ batchAcknowledgeViolations(parent, body=None, x__xgafv=None) +
Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.
+
+Args:
+  parent: string, Optional. The parent resource shared by all violations being acknowledged. Format: organizations/{organization}/locations/{location}/workloads/{workload} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for acknowledging the violations in a batch
+  "acknowledgeType": "A String", # Optional. Acknowledge type of specified violations.
+  "comment": "A String", # Required. Business justification explaining the need for violations acknowledgement
+  "names": [ # Required. The resource names of the Violations to acknowledge. Format for each name: organizations/{organization}/locations/{location}/workloads/{workload}/violations/{violation}
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for batch violation acknowledgement
+}
+
+
close()
Close httplib2 connections.
diff --git a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html index 97718e7bf7..eaacc53c46 100644 --- a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html +++ b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.backups.html @@ -1530,6 +1530,7 @@

Method Details

}, "computeInstanceTargetEnvironment": { # ComputeInstanceTargetEnvironment represents Compute Engine target environment to be used during restore. # Compute Engine target environment to be used during restore. "project": "A String", # Required. Target project for the Compute Engine instance. + "useProjectServiceAccount": True or False, # Optional. Whether to use the project service account for the Compute Engine instance restore. "zone": "A String", # Required. The zone of the Compute Engine instance. }, "diskRestoreProperties": { # DiskRestoreProperties represents the properties of a Disk restore. # Disk properties to be overridden during restore. @@ -1570,6 +1571,7 @@

Method Details

}, "diskTargetEnvironment": { # DiskTargetEnvironment represents the target environment for the disk. # Disk target environment to be used during restore. "project": "A String", # Required. Target project for the disk. + "useProjectServiceAccount": True or False, # Optional. Whether to use the project service account for the disk restore. "zone": "A String", # Required. Target zone for the disk. }, "regionDiskTargetEnvironment": { # RegionDiskTargetEnvironment represents the target environment for the disk. # Region disk target environment to be used during restore. @@ -1578,6 +1580,7 @@

Method Details

"replicaZones": [ # Required. Target URLs of the replica zones for the disk. "A String", ], + "useProjectServiceAccount": True or False, # Optional. Whether to use the project service account for the disk restore. }, "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). } diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html index 3d7ff425bd..3dc8134086 100644 --- a/docs/dyn/bigquery_v2.jobs.html +++ b/docs/dyn/bigquery_v2.jobs.html @@ -266,11 +266,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -530,11 +542,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -749,6 +773,9 @@

Method Details

}, "functionStats": [ # Function level stats for GenAi Functions. See https://docs.cloud.google.com/bigquery/docs/generative-ai-overview { # Provides statistics for each Ai function call within a query. + "cacheStats": { # Provides cache statistics for a GenAi function call. # Cache stats for the function. + "numCacheHitRows": "A String", # Number of rows served from cache. + }, "costOptimizationStats": { # Provides cost optimization statistics for a GenAi function call. # Cost optimization stats if applied on the rows processed by the function. "message": "A String", # System generated message to provide insights into cost optimization state. "numCostOptimizedRows": "A String", # Number of rows inferred via cost optimized workflow. @@ -1355,6 +1382,20 @@

Method Details

"stageId": "A String", # Output only. The stage id that the insight mapped to. }, ], + "tableChangeInsights": [ # Output only. Performance insights for table-level attributes that changed compared to previous runs. + { # Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table. + "metadataCacheNotUsedButUsedPreviously": True or False, # Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash. + "metadataCacheStalenessInsight": { # Column Metadata Index staleness detailed infnormation. # Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash. + "avgPreviousStalenessMs": "A String", # Output only. Average column metadata index staleness of previous runs with the same query hash. + "stalenessPercentageIncrease": 3.14, # Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash. + }, + "tableReference": { # Output only. The table that was queried. + "datasetId": "A String", # Required. The ID of the dataset containing this table. + "projectId": "A String", # Required. The ID of the project containing this table. + "tableId": "A String", # Required. The ID of the table. The ID can contain Unicode characters in category L (letter), M (mark), N (number), Pc (connector, including underscore), Pd (dash), and Zs (space). For more information, see [General Category](https://wikipedia.org/wiki/Unicode_character_property#General_Category). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as `sample_table$20190123`. + }, + }, + ], }, "queryInfo": { # Query optimization information for a QUERY job. # Output only. Query optimization information for a QUERY job. "optimizationDetails": { # Output only. Information about query optimizations. @@ -1441,11 +1482,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -1849,11 +1902,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2113,11 +2178,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2332,6 +2409,9 @@

Method Details

}, "functionStats": [ # Function level stats for GenAi Functions. See https://docs.cloud.google.com/bigquery/docs/generative-ai-overview { # Provides statistics for each Ai function call within a query. + "cacheStats": { # Provides cache statistics for a GenAi function call. # Cache stats for the function. + "numCacheHitRows": "A String", # Number of rows served from cache. + }, "costOptimizationStats": { # Provides cost optimization statistics for a GenAi function call. # Cost optimization stats if applied on the rows processed by the function. "message": "A String", # System generated message to provide insights into cost optimization state. "numCostOptimizedRows": "A String", # Number of rows inferred via cost optimized workflow. @@ -2938,6 +3018,20 @@

Method Details

"stageId": "A String", # Output only. The stage id that the insight mapped to. }, ], + "tableChangeInsights": [ # Output only. Performance insights for table-level attributes that changed compared to previous runs. + { # Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table. + "metadataCacheNotUsedButUsedPreviously": True or False, # Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash. + "metadataCacheStalenessInsight": { # Column Metadata Index staleness detailed infnormation. # Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash. + "avgPreviousStalenessMs": "A String", # Output only. Average column metadata index staleness of previous runs with the same query hash. + "stalenessPercentageIncrease": 3.14, # Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash. + }, + "tableReference": { # Output only. The table that was queried. + "datasetId": "A String", # Required. The ID of the dataset containing this table. + "projectId": "A String", # Required. The ID of the project containing this table. + "tableId": "A String", # Required. The ID of the table. The ID can contain Unicode characters in category L (letter), M (mark), N (number), Pc (connector, including underscore), Pd (dash), and Zs (space). For more information, see [General Category](https://wikipedia.org/wiki/Unicode_character_property#General_Category). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as `sample_table$20190123`. + }, + }, + ], }, "queryInfo": { # Query optimization information for a QUERY job. # Output only. Query optimization information for a QUERY job. "optimizationDetails": { # Output only. Information about query optimizations. @@ -3024,11 +3118,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3315,11 +3421,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3528,11 +3646,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3792,11 +3922,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -4011,6 +4153,9 @@

Method Details

}, "functionStats": [ # Function level stats for GenAi Functions. See https://docs.cloud.google.com/bigquery/docs/generative-ai-overview { # Provides statistics for each Ai function call within a query. + "cacheStats": { # Provides cache statistics for a GenAi function call. # Cache stats for the function. + "numCacheHitRows": "A String", # Number of rows served from cache. + }, "costOptimizationStats": { # Provides cost optimization statistics for a GenAi function call. # Cost optimization stats if applied on the rows processed by the function. "message": "A String", # System generated message to provide insights into cost optimization state. "numCostOptimizedRows": "A String", # Number of rows inferred via cost optimized workflow. @@ -4617,6 +4762,20 @@

Method Details

"stageId": "A String", # Output only. The stage id that the insight mapped to. }, ], + "tableChangeInsights": [ # Output only. Performance insights for table-level attributes that changed compared to previous runs. + { # Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table. + "metadataCacheNotUsedButUsedPreviously": True or False, # Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash. + "metadataCacheStalenessInsight": { # Column Metadata Index staleness detailed infnormation. # Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash. + "avgPreviousStalenessMs": "A String", # Output only. Average column metadata index staleness of previous runs with the same query hash. + "stalenessPercentageIncrease": 3.14, # Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash. + }, + "tableReference": { # Output only. The table that was queried. + "datasetId": "A String", # Required. The ID of the dataset containing this table. + "projectId": "A String", # Required. The ID of the project containing this table. + "tableId": "A String", # Required. The ID of the table. The ID can contain Unicode characters in category L (letter), M (mark), N (number), Pc (connector, including underscore), Pd (dash), and Zs (space). For more information, see [General Category](https://wikipedia.org/wiki/Unicode_character_property#General_Category). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as `sample_table$20190123`. + }, + }, + ], }, "queryInfo": { # Query optimization information for a QUERY job. # Output only. Query optimization information for a QUERY job. "optimizationDetails": { # Output only. Information about query optimizations. @@ -4703,11 +4862,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -5082,11 +5253,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -5346,11 +5529,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -5565,6 +5760,9 @@

Method Details

}, "functionStats": [ # Function level stats for GenAi Functions. See https://docs.cloud.google.com/bigquery/docs/generative-ai-overview { # Provides statistics for each Ai function call within a query. + "cacheStats": { # Provides cache statistics for a GenAi function call. # Cache stats for the function. + "numCacheHitRows": "A String", # Number of rows served from cache. + }, "costOptimizationStats": { # Provides cost optimization statistics for a GenAi function call. # Cost optimization stats if applied on the rows processed by the function. "message": "A String", # System generated message to provide insights into cost optimization state. "numCostOptimizedRows": "A String", # Number of rows inferred via cost optimized workflow. @@ -6171,6 +6369,20 @@

Method Details

"stageId": "A String", # Output only. The stage id that the insight mapped to. }, ], + "tableChangeInsights": [ # Output only. Performance insights for table-level attributes that changed compared to previous runs. + { # Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table. + "metadataCacheNotUsedButUsedPreviously": True or False, # Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash. + "metadataCacheStalenessInsight": { # Column Metadata Index staleness detailed infnormation. # Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash. + "avgPreviousStalenessMs": "A String", # Output only. Average column metadata index staleness of previous runs with the same query hash. + "stalenessPercentageIncrease": 3.14, # Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash. + }, + "tableReference": { # Output only. The table that was queried. + "datasetId": "A String", # Required. The ID of the dataset containing this table. + "projectId": "A String", # Required. The ID of the project containing this table. + "tableId": "A String", # Required. The ID of the table. The ID can contain Unicode characters in category L (letter), M (mark), N (number), Pc (connector, including underscore), Pd (dash), and Zs (space). For more information, see [General Category](https://wikipedia.org/wiki/Unicode_character_property#General_Category). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as `sample_table$20190123`. + }, + }, + ], }, "queryInfo": { # Query optimization information for a QUERY job. # Output only. Query optimization information for a QUERY job. "optimizationDetails": { # Output only. Information about query optimizations. @@ -6257,11 +6469,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -6659,11 +6883,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -6923,11 +7159,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -7144,6 +7392,9 @@

Method Details

}, "functionStats": [ # Function level stats for GenAi Functions. See https://docs.cloud.google.com/bigquery/docs/generative-ai-overview { # Provides statistics for each Ai function call within a query. + "cacheStats": { # Provides cache statistics for a GenAi function call. # Cache stats for the function. + "numCacheHitRows": "A String", # Number of rows served from cache. + }, "costOptimizationStats": { # Provides cost optimization statistics for a GenAi function call. # Cost optimization stats if applied on the rows processed by the function. "message": "A String", # System generated message to provide insights into cost optimization state. "numCostOptimizedRows": "A String", # Number of rows inferred via cost optimized workflow. @@ -7750,6 +8001,20 @@

Method Details

"stageId": "A String", # Output only. The stage id that the insight mapped to. }, ], + "tableChangeInsights": [ # Output only. Performance insights for table-level attributes that changed compared to previous runs. + { # Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table. + "metadataCacheNotUsedButUsedPreviously": True or False, # Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash. + "metadataCacheStalenessInsight": { # Column Metadata Index staleness detailed infnormation. # Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash. + "avgPreviousStalenessMs": "A String", # Output only. Average column metadata index staleness of previous runs with the same query hash. + "stalenessPercentageIncrease": 3.14, # Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash. + }, + "tableReference": { # Output only. The table that was queried. + "datasetId": "A String", # Required. The ID of the dataset containing this table. + "projectId": "A String", # Required. The ID of the project containing this table. + "tableId": "A String", # Required. The ID of the table. The ID can contain Unicode characters in category L (letter), M (mark), N (number), Pc (connector, including underscore), Pd (dash), and Zs (space). For more information, see [General Category](https://wikipedia.org/wiki/Unicode_character_property#General_Category). The maximum length is 1,024 characters. Certain operations allow suffixing of the table ID with a partition decorator, such as `sample_table$20190123`. + }, + }, + ], }, "queryInfo": { # Query optimization information for a QUERY job. # Output only. Query optimization information for a QUERY job. "optimizationDetails": { # Output only. Information about query optimizations. @@ -7836,11 +8101,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -8224,11 +8501,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. diff --git a/docs/dyn/bigquery_v2.routines.html b/docs/dyn/bigquery_v2.routines.html index 8e9090dba6..67a38c32e9 100644 --- a/docs/dyn/bigquery_v2.routines.html +++ b/docs/dyn/bigquery_v2.routines.html @@ -185,6 +185,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. @@ -371,6 +372,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. @@ -498,6 +500,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. @@ -640,6 +643,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. @@ -902,6 +906,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. @@ -1029,6 +1034,7 @@

Method Details

"externalRuntimeOptions": { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages) "containerCpu": 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) "containerMemory": "A String", # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of "M", "G", "Mi" and "Gi" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits) + "containerRequestConcurrency": "A String", # Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used. "maxBatchingRows": "A String", # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "runtimeConnection": "A String", # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```"projects/{project_id}/locations/{location_id}/connections/{connection_id}"``` "runtimeVersion": "A String", # Optional. Language runtime version. Example: `python-3.11`. diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html index a43b26573c..885c4ec298 100644 --- a/docs/dyn/bigquery_v2.tables.html +++ b/docs/dyn/bigquery_v2.tables.html @@ -291,11 +291,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -456,11 +468,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -812,11 +836,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -977,11 +1013,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -1274,11 +1322,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -1439,11 +1499,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -1844,11 +1916,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2009,11 +2093,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2307,11 +2403,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2472,11 +2580,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -2888,11 +3008,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3053,11 +3185,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3351,11 +3495,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. @@ -3516,11 +3672,23 @@

Method Details

], }, "collation": "A String", # Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior. + "dataGovernanceTagsInfo": { # Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag. + "dataGovernanceTags": { # Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/pii" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "sensitive". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: "123456789012/pii": "sensitive", "myProject/cost_center": "sales" + "a_key": "A String", + }, + }, "dataPolicies": [ # Optional. Data policies attached to this field, used for field-level access control. { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. }, ], + "dataPolicyList": { # A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). # Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information. + "dataPolicies": [ # Contains a list of data policy options. At most 9 data policies are allowed per field. + { # Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column). + "name": "A String", # Data policy resource name in the form of projects/project_id/locations/location_id/dataPolicies/data_policy_id. + }, + ], + }, "defaultValueExpression": "A String", # Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field. "description": "A String", # Optional. The field description. The maximum length is 1,024 characters. "fields": [ # Optional. Describes the nested schema fields if the type property is set to RECORD. diff --git a/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.html b/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.html index de1e406bbb..5b5c779003 100644 --- a/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.html +++ b/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.html @@ -149,6 +149,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -215,6 +220,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -303,6 +313,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -379,6 +394,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -460,6 +480,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -527,6 +552,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -600,6 +630,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq @@ -660,6 +695,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq diff --git a/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.runs.html b/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.runs.html index 767714ab68..f6ea634b01 100644 --- a/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.runs.html +++ b/docs/dyn/bigquerydatatransfer_v1.projects.locations.transferConfigs.runs.html @@ -148,6 +148,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq @@ -210,6 +215,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq diff --git a/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.html b/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.html index ba6d36e144..cd8f8c1bdb 100644 --- a/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.html +++ b/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.html @@ -149,6 +149,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -215,6 +220,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -303,6 +313,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -379,6 +394,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -460,6 +480,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -527,6 +552,11 @@

Method Details

"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. }, "managedTableType": "A String", # The classification of the destination table. + "metadataDestination": { # The metadata destination of the transfer config. # The metadata destination of the transfer config. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. "nextRunTime": "A String", # Output only. Next time when data transfer will run. "notificationPubsubTopic": "A String", # Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` @@ -600,6 +630,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq @@ -660,6 +695,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq diff --git a/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.runs.html b/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.runs.html index 5036a52350..dd0841630b 100644 --- a/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.runs.html +++ b/docs/dyn/bigquerydatatransfer_v1.projects.transferConfigs.runs.html @@ -148,6 +148,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq @@ -210,6 +215,11 @@

Method Details

], "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. }, + "metadataDestination": { # The metadata destination of the transfer config. # Output only. The metadata destination of the transfer run. + "dataplexConfiguration": { # Configuration for Dataplex destination. # The Dataplex Universal Catalog configuration. + "entryGroup": "A String", # Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`. + }, + }, "name": "A String", # Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run. "notificationPubsubTopic": "A String", # Output only. Pub/Sub topic where a notification will be sent after this transfer run finishes. The format for specifying a pubsub topic is: `projects/{project_id}/topics/{topic_id}` "params": { # Output only. Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html index c899763fac..52018bcb2f 100644 --- a/docs/dyn/bigtableadmin_v2.projects.instances.tables.html +++ b/docs/dyn/bigtableadmin_v2.projects.instances.tables.html @@ -186,7 +186,7 @@

Method Details

"table": { # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. # Required. The Table to create. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. @@ -407,7 +407,7 @@

Method Details

{ # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. @@ -711,7 +711,7 @@

Method Details

{ # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. @@ -1007,7 +1007,7 @@

Method Details

{ # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. @@ -1533,7 +1533,7 @@

Method Details

{ # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. @@ -1754,7 +1754,7 @@

Method Details

{ # A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster. "automatedBackupPolicy": { # Defines an automated backup policy for a table # If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled. "frequency": "A String", # How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. - "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances. + "locations": [ # Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances. "A String", ], "retentionPeriod": "A String", # Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. diff --git a/docs/dyn/bigtableadmin_v2.projects.instances.tables.schemaBundles.html b/docs/dyn/bigtableadmin_v2.projects.instances.tables.schemaBundles.html index 0febadc908..83367f7658 100644 --- a/docs/dyn/bigtableadmin_v2.projects.instances.tables.schemaBundles.html +++ b/docs/dyn/bigtableadmin_v2.projects.instances.tables.schemaBundles.html @@ -122,7 +122,7 @@

Method Details

{ # A named collection of related schemas. "etag": "A String", # Optional. The etag for this schema bundle. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. The server returns an ABORTED error on a mismatched etag. "name": "A String", # Identifier. The unique name identifying this schema bundle. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}` - "protoSchema": { # Represents a protobuf schema. # Schema for Protobufs. + "protoSchema": { # Represents a collection of protobuf schemas. # Schema for Protobufs. "protoDescriptors": "A String", # Required. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto), which could include multiple proto files. To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with `--include_imports` and `--descriptor_set_out`. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.pb \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). }, } @@ -193,7 +193,7 @@

Method Details

{ # A named collection of related schemas. "etag": "A String", # Optional. The etag for this schema bundle. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. The server returns an ABORTED error on a mismatched etag. "name": "A String", # Identifier. The unique name identifying this schema bundle. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}` - "protoSchema": { # Represents a protobuf schema. # Schema for Protobufs. + "protoSchema": { # Represents a collection of protobuf schemas. # Schema for Protobufs. "protoDescriptors": "A String", # Required. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto), which could include multiple proto files. To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with `--include_imports` and `--descriptor_set_out`. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.pb \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). }, }
@@ -283,7 +283,7 @@

Method Details

{ # A named collection of related schemas. "etag": "A String", # Optional. The etag for this schema bundle. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. The server returns an ABORTED error on a mismatched etag. "name": "A String", # Identifier. The unique name identifying this schema bundle. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}` - "protoSchema": { # Represents a protobuf schema. # Schema for Protobufs. + "protoSchema": { # Represents a collection of protobuf schemas. # Schema for Protobufs. "protoDescriptors": "A String", # Required. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto), which could include multiple proto files. To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with `--include_imports` and `--descriptor_set_out`. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.pb \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). }, }, @@ -317,7 +317,7 @@

Method Details

{ # A named collection of related schemas. "etag": "A String", # Optional. The etag for this schema bundle. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. The server returns an ABORTED error on a mismatched etag. "name": "A String", # Identifier. The unique name identifying this schema bundle. Values are of the form `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}` - "protoSchema": { # Represents a protobuf schema. # Schema for Protobufs. + "protoSchema": { # Represents a collection of protobuf schemas. # Schema for Protobufs. "protoDescriptors": "A String", # Required. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto), which could include multiple proto files. To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with `--include_imports` and `--descriptor_set_out`. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.pb \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). }, } diff --git a/docs/dyn/blogger_v3.blogUserInfos.html b/docs/dyn/blogger_v3.blogUserInfos.html index ae83467953..0ae0d2a9ef 100644 --- a/docs/dyn/blogger_v3.blogUserInfos.html +++ b/docs/dyn/blogger_v3.blogUserInfos.html @@ -72,7 +72,7 @@ -

Blogger API . blogUserInfos

+

blogger API . blogUserInfos

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.blogs.html b/docs/dyn/blogger_v3.blogs.html index 2652132339..00783a7f28 100644 --- a/docs/dyn/blogger_v3.blogs.html +++ b/docs/dyn/blogger_v3.blogs.html @@ -72,7 +72,7 @@ -

Blogger API . blogs

+

blogger API . blogs

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.comments.html b/docs/dyn/blogger_v3.comments.html index 880f66cf76..0759b2a0ec 100644 --- a/docs/dyn/blogger_v3.comments.html +++ b/docs/dyn/blogger_v3.comments.html @@ -72,7 +72,7 @@ -

Blogger API . comments

+

blogger API . comments

Instance Methods

approve(blogId, postId, commentId, x__xgafv=None)

diff --git a/docs/dyn/blogger_v3.html b/docs/dyn/blogger_v3.html index 9f14da132f..7fa99faec2 100644 --- a/docs/dyn/blogger_v3.html +++ b/docs/dyn/blogger_v3.html @@ -72,7 +72,7 @@ -

Blogger API

+

blogger API

Instance Methods

blogUserInfos() diff --git a/docs/dyn/blogger_v3.pageViews.html b/docs/dyn/blogger_v3.pageViews.html index 81fc3cd4dd..bf73a5e101 100644 --- a/docs/dyn/blogger_v3.pageViews.html +++ b/docs/dyn/blogger_v3.pageViews.html @@ -72,7 +72,7 @@ -

Blogger API . pageViews

+

blogger API . pageViews

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.pages.html b/docs/dyn/blogger_v3.pages.html index 6ee70433c0..306cd8055c 100644 --- a/docs/dyn/blogger_v3.pages.html +++ b/docs/dyn/blogger_v3.pages.html @@ -72,7 +72,7 @@ -

Blogger API . pages

+

blogger API . pages

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.postUserInfos.html b/docs/dyn/blogger_v3.postUserInfos.html index 3a32ba2537..bea92d50de 100644 --- a/docs/dyn/blogger_v3.postUserInfos.html +++ b/docs/dyn/blogger_v3.postUserInfos.html @@ -72,7 +72,7 @@ -

Blogger API . postUserInfos

+

blogger API . postUserInfos

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.posts.html b/docs/dyn/blogger_v3.posts.html index ffd9d2ccf1..44b7c59757 100644 --- a/docs/dyn/blogger_v3.posts.html +++ b/docs/dyn/blogger_v3.posts.html @@ -72,7 +72,7 @@ -

Blogger API . posts

+

blogger API . posts

Instance Methods

close()

diff --git a/docs/dyn/blogger_v3.users.html b/docs/dyn/blogger_v3.users.html index f92fa607c9..ebbe88e38b 100644 --- a/docs/dyn/blogger_v3.users.html +++ b/docs/dyn/blogger_v3.users.html @@ -72,7 +72,7 @@ -

Blogger API . users

+

blogger API . users

Instance Methods

close()

diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html index 8f1e38099a..f19b7eec7c 100644 --- a/docs/dyn/calendar_v3.events.html +++ b/docs/dyn/calendar_v3.events.html @@ -173,6 +173,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -480,6 +484,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -782,6 +790,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -1088,6 +1100,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -1399,6 +1415,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -1737,6 +1757,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -2141,6 +2165,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -2480,6 +2508,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -2787,6 +2819,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -3099,6 +3135,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -3415,6 +3455,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -3722,6 +3766,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. @@ -4034,6 +4082,10 @@

Method Details

"attendees": [ # The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. { "additionalGuests": 0, # Number of additional guests. Optional. The default is 0. + "asyncOperation": "", # If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. + # Possible values are: + # - "inProgress" - The asynchronous operation is in progress. + # - (not present) - Otherwise. "comment": "A String", # The attendee's response comment. Optional. "displayName": "A String", # The attendee's name, if available. Optional. "email": "A String", # The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. diff --git a/docs/dyn/ces_v1.projects.locations.apps.agents.html b/docs/dyn/ces_v1.projects.locations.apps.agents.html index 079cc020bc..609365d4d6 100644 --- a/docs/dyn/ces_v1.projects.locations.apps.agents.html +++ b/docs/dyn/ces_v1.projects.locations.apps.agents.html @@ -185,6 +185,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -310,6 +311,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -461,6 +463,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -598,6 +601,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -741,6 +745,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -866,6 +871,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, diff --git a/docs/dyn/ces_v1.projects.locations.apps.html b/docs/dyn/ces_v1.projects.locations.apps.html index a5ac1d9dad..1a291b4fc0 100644 --- a/docs/dyn/ces_v1.projects.locations.apps.html +++ b/docs/dyn/ces_v1.projects.locations.apps.html @@ -104,6 +104,11 @@

Instance Methods

Returns the guardrails Resource.

+

+ message() +

+

Returns the message Resource.

+

sessions()

@@ -277,11 +282,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -305,7 +310,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -710,11 +715,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -738,7 +743,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -1021,11 +1026,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1049,7 +1054,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -1292,11 +1297,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1320,7 +1325,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -1542,11 +1547,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1570,7 +1575,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, diff --git a/docs/dyn/ces_v1.projects.locations.apps.message.html b/docs/dyn/ces_v1.projects.locations.apps.message.html new file mode 100644 index 0000000000..2020f5e79d --- /dev/null +++ b/docs/dyn/ces_v1.projects.locations.apps.message.html @@ -0,0 +1,285 @@ + + + +

Gemini Enterprise for Customer Experience API . projects . locations . apps . message

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ send(tenant, body=None, x__xgafv=None)

+

Sends a message to an agent.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ send(tenant, body=None, x__xgafv=None) +
Sends a message to an agent.
+
+Args:
+  tenant: string, Optional. Tenant ID, provided as a path parameter. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a request for the `SendMessage` method.
+  "configuration": { # Configuration of a send message request. # Configuration for the send request.
+    "acceptedOutputModes": [ # A list of media types the client is prepared to accept for response parts. Agents SHOULD use this to tailor their output.
+      "A String",
+    ],
+    "historyLength": 42, # The maximum number of most recent messages from the task's history to retrieve in the response. An unset value means the client does not impose any limit. A value of zero is a request to not include any messages. The server MUST NOT return more messages than the provided value, but MAY apply a lower limit.
+    "returnImmediately": True or False, # If `true`, the operation returns immediately after creating the task, even if processing is still in progress. If `false` (default), the operation MUST wait until the task reaches a terminal (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or interrupted (`INPUT_REQUIRED`, `AUTH_REQUIRED`) state before returning.
+    "taskPushNotificationConfig": { # A container associating a push notification configuration with a specific task. # Configuration for the agent to send push notifications for task updates. Task id should be empty when sending this configuration in a `SendMessage` request.
+      "authentication": { # Defines authentication details, used for push notifications. # Authentication information required to send the notification.
+        "credentials": "A String", # Push Notification credentials. Format depends on the scheme (e.g., token for Bearer).
+        "scheme": "A String", # Required. HTTP Authentication Scheme from the [IANA registry](https://www.iana.org/assignments/http-authschemes/). Examples: `Bearer`, `Basic`, `Digest`. Scheme names are case-insensitive per [RFC 9110 Section 11.1](https://www.rfc-editor.org/rfc/rfc9110#section-11.1).
+      },
+      "id": "A String", # The push notification configuration details. A unique identifier (e.g. UUID) for this push notification configuration.
+      "taskId": "A String", # The ID of the task this configuration is associated with.
+      "tenant": "A String", # Optional. Tenant ID.
+      "token": "A String", # A token unique for this task or session.
+      "url": "A String", # Required. The URL where the notification should be sent.
+    },
+  },
+  "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # Required. The message to send to the agent.
+    "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+    "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+      "A String",
+    ],
+    "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+    "metadata": { # Optional. Any metadata to provide along with the message.
+      "a_key": "", # Properties of the object.
+    },
+    "parts": [ # Required. Parts is the container of the message content.
+      { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+        "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+        "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+        "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+        "metadata": { # Optional. metadata associated with this part.
+          "a_key": "", # Properties of the object.
+        },
+        "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+        "text": "A String", # The string content of the `text` part.
+        "url": "A String", # A `url` pointing to the file's content.
+      },
+    ],
+    "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+      "A String",
+    ],
+    "role": "A String", # Required. Identifies the sender of the message.
+    "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+  },
+  "metadata": { # A flexible key-value map for passing additional context or parameters.
+    "a_key": "", # Properties of the object.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents the response for the `SendMessage` method.
+  "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # A message from the agent.
+    "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+    "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+      "A String",
+    ],
+    "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+    "metadata": { # Optional. Any metadata to provide along with the message.
+      "a_key": "", # Properties of the object.
+    },
+    "parts": [ # Required. Parts is the container of the message content.
+      { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+        "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+        "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+        "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+        "metadata": { # Optional. metadata associated with this part.
+          "a_key": "", # Properties of the object.
+        },
+        "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+        "text": "A String", # The string content of the `text` part.
+        "url": "A String", # A `url` pointing to the file's content.
+      },
+    ],
+    "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+      "A String",
+    ],
+    "role": "A String", # Required. Identifies the sender of the message.
+    "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+  },
+  "task": { # `Task` is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history. # The task created or updated by the message.
+    "artifacts": [ # A set of output artifacts for a `Task`.
+      { # Artifacts represent task outputs.
+        "artifactId": "A String", # Required. Unique identifier (e.g. UUID) for the artifact. It must be unique within a task.
+        "description": "A String", # Optional. A human readable description of the artifact.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
+          "A String",
+        ],
+        "metadata": { # Optional. Metadata included with the artifact.
+          "a_key": "", # Properties of the object.
+        },
+        "name": "A String", # A human readable name for the artifact.
+        "parts": [ # Required. The content of the artifact. Must contain at least one part.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+      },
+    ],
+    "contextId": "A String", # Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages).
+    "history": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a `Task`.
+      { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it.
+        "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+          "A String",
+        ],
+        "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+        "metadata": { # Optional. Any metadata to provide along with the message.
+          "a_key": "", # Properties of the object.
+        },
+        "parts": [ # Required. Parts is the container of the message content.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+        "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+          "A String",
+        ],
+        "role": "A String", # Required. Identifies the sender of the message.
+        "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+      },
+    ],
+    "id": "A String", # Required. Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
+    "metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
+      "a_key": "", # Properties of the object.
+    },
+    "status": { # A container for the status of a task # Required. The current status of a `Task`, including `state` and a `message`.
+      "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # A message associated with the status.
+        "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+          "A String",
+        ],
+        "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+        "metadata": { # Optional. Any metadata to provide along with the message.
+          "a_key": "", # Properties of the object.
+        },
+        "parts": [ # Required. Parts is the container of the message content.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+        "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+          "A String",
+        ],
+        "role": "A String", # Required. Identifies the sender of the message.
+        "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+      },
+      "state": "A String", # Required. The current state of this task.
+      "timestamp": "A String", # ISO 8601 Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
+    },
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/ces_v1.projects.locations.apps.tools.html b/docs/dyn/ces_v1.projects.locations.apps.tools.html index 47017a728b..0b8c21dc97 100644 --- a/docs/dyn/ces_v1.projects.locations.apps.tools.html +++ b/docs/dyn/ces_v1.projects.locations.apps.tools.html @@ -403,6 +403,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -440,6 +441,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -499,6 +501,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -558,6 +563,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -911,6 +919,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -948,6 +957,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1007,6 +1017,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1066,6 +1079,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1445,6 +1461,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1482,6 +1499,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1541,6 +1559,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1600,6 +1621,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1966,6 +1990,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2003,6 +2028,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2062,6 +2088,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2121,6 +2150,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2491,6 +2523,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2528,6 +2561,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2587,6 +2621,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2646,6 +2683,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2999,6 +3039,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -3036,6 +3077,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -3095,6 +3137,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -3154,6 +3199,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` diff --git a/docs/dyn/ces_v1.projects.locations.apps.toolsets.html b/docs/dyn/ces_v1.projects.locations.apps.toolsets.html index d212b41072..68534ad20d 100644 --- a/docs/dyn/ces_v1.projects.locations.apps.toolsets.html +++ b/docs/dyn/ces_v1.projects.locations.apps.toolsets.html @@ -190,6 +190,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -330,6 +406,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -496,6 +648,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -649,6 +877,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -806,6 +1110,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -946,6 +1326,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -1011,6 +1467,7 @@

Method Details

The object takes the form of: { # Request message for ToolService.RetrieveTools. + "bypassPersistenceConfig": True or False, # Optional. If true, the returned tools will contain raw descriptions and schemas directly from the server, bypassing any stored persistence configurations (overrides/snapshots). "toolIds": [ # Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. "A String", ], @@ -1319,6 +1776,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1356,6 +1814,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1415,6 +1874,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1474,6 +1936,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` diff --git a/docs/dyn/ces_v1.projects.locations.apps.versions.html b/docs/dyn/ces_v1.projects.locations.apps.versions.html index 147f6b987b..cad1bc4cb7 100644 --- a/docs/dyn/ces_v1.projects.locations.apps.versions.html +++ b/docs/dyn/ces_v1.projects.locations.apps.versions.html @@ -194,6 +194,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -340,11 +341,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -368,7 +369,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -940,6 +941,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -977,6 +979,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1036,6 +1039,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1095,6 +1101,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1224,6 +1233,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -1374,6 +1459,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -1520,11 +1606,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1548,7 +1634,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -2120,6 +2206,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2157,6 +2244,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2216,6 +2304,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2275,6 +2366,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2404,6 +2498,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -2579,6 +2749,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -2725,11 +2896,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -2753,7 +2924,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -3325,6 +3496,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -3362,6 +3534,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -3421,6 +3594,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -3480,6 +3656,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -3609,6 +3788,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -3771,6 +4026,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -3917,11 +4173,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -3945,7 +4201,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -4517,6 +4773,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -4554,6 +4811,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -4613,6 +4871,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -4672,6 +4933,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -4801,6 +5065,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.agents.html b/docs/dyn/ces_v1beta.projects.locations.apps.agents.html index 7423a7d144..204ef8a141 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.agents.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.agents.html @@ -185,6 +185,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -310,6 +311,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -461,6 +463,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -598,6 +601,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -741,6 +745,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -866,6 +871,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.evaluationRuns.html b/docs/dyn/ces_v1beta.projects.locations.apps.evaluationRuns.html index 57b352d4dc..98d9e46d85 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.evaluationRuns.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.evaluationRuns.html @@ -228,6 +228,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationDataset": "A String", # Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` "evaluationResults": [ # Output only. The evaluation results that are part of this run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}` @@ -300,6 +301,7 @@

Method Details

], }, "name": "A String", # Identifier. The unique identifier of the evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}` + "operation": "A String", # Output only. The operation that created this evaluation run. Format: `projects/{project}/locations/{location}/operations/{operation}` "optimizationConfig": { # Configuration for running the optimization step after the evaluation run. # Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. "assistantSession": "A String", # Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}` "errorMessage": "A String", # Output only. The error message if the optimization run failed. @@ -383,6 +385,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationDataset": "A String", # Output only. The evaluation dataset that this run is associated with. This field is mutually exclusive with `evaluations`. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationDatasets/{evaluationDataset}` "evaluationResults": [ # Output only. The evaluation results that are part of this run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluations/{evaluation}/results/{result}` @@ -455,6 +458,7 @@

Method Details

], }, "name": "A String", # Identifier. The unique identifier of the evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}` + "operation": "A String", # Output only. The operation that created this evaluation run. Format: `projects/{project}/locations/{location}/operations/{operation}` "optimizationConfig": { # Configuration for running the optimization step after the evaluation run. # Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run. "assistantSession": "A String", # Output only. The assistant session to use for the optimization based on this evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}` "errorMessage": "A String", # Output only. The error message if the optimization run failed. diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.html b/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.html index b6bca7bc5f..60549d12de 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.html @@ -458,6 +458,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -496,6 +497,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -1043,6 +1045,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -1081,6 +1084,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -2055,6 +2059,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -2093,6 +2098,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -2640,6 +2646,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -2678,6 +2685,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -3728,6 +3736,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -3766,6 +3775,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -4313,6 +4323,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -4351,6 +4362,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -5340,6 +5352,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -5378,6 +5391,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -5925,6 +5939,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -5963,6 +5978,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -6955,6 +6971,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -6993,6 +7010,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -7540,6 +7558,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -7578,6 +7597,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -8552,6 +8572,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -8590,6 +8611,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -9137,6 +9159,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -9175,6 +9198,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.results.html b/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.results.html index 7b995601eb..1506eec291 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.results.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.evaluations.results.html @@ -211,6 +211,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -249,6 +250,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. @@ -817,6 +819,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "evaluationMetricsThresholds": { # Threshold settings for metrics in an Evaluation. # Output only. The evaluation thresholds for the result. "goldenEvaluationMetricsThresholds": { # Settings for golden evaluations. # Optional. The golden evaluation metrics thresholds. @@ -855,6 +858,7 @@

Method Details

"errorMessage": "A String", # Output only. The error message. "errorType": "A String", # Output only. The type of error. "sessionId": "A String", # Output only. The session ID for the conversation that caused the error. + "userFacingErrorMessage": "A String", # Output only. The user facing error message. }, "expectationOutcome": [ # Output only. The outcome of each expectation. { # Specifies the expectation and the result of that expectation. diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.html b/docs/dyn/ces_v1beta.projects.locations.apps.html index 312890b074..8657932d4e 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.html @@ -124,6 +124,11 @@

Instance Methods

Returns the guardrails Resource.

+

+ message() +

+

Returns the message Resource.

+

scheduledEvaluationRuns()

@@ -354,11 +359,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -382,7 +387,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -753,6 +758,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -1143,6 +1149,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1180,6 +1187,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1239,6 +1247,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1298,6 +1309,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1448,6 +1462,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -1691,11 +1781,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1719,7 +1809,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -2093,11 +2183,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -2121,7 +2211,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -2404,11 +2494,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -2432,7 +2522,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -2694,11 +2784,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -2722,7 +2812,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.message.html b/docs/dyn/ces_v1beta.projects.locations.apps.message.html new file mode 100644 index 0000000000..c0742277a5 --- /dev/null +++ b/docs/dyn/ces_v1beta.projects.locations.apps.message.html @@ -0,0 +1,285 @@ + + + +

Gemini Enterprise for Customer Experience API . projects . locations . apps . message

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ send(tenant, body=None, x__xgafv=None)

+

Sends a message to an agent.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ send(tenant, body=None, x__xgafv=None) +
Sends a message to an agent.
+
+Args:
+  tenant: string, Optional. Tenant ID, provided as a path parameter. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a request for the `SendMessage` method.
+  "configuration": { # Configuration of a send message request. # Configuration for the send request.
+    "acceptedOutputModes": [ # A list of media types the client is prepared to accept for response parts. Agents SHOULD use this to tailor their output.
+      "A String",
+    ],
+    "historyLength": 42, # The maximum number of most recent messages from the task's history to retrieve in the response. An unset value means the client does not impose any limit. A value of zero is a request to not include any messages. The server MUST NOT return more messages than the provided value, but MAY apply a lower limit.
+    "returnImmediately": True or False, # If `true`, the operation returns immediately after creating the task, even if processing is still in progress. If `false` (default), the operation MUST wait until the task reaches a terminal (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or interrupted (`INPUT_REQUIRED`, `AUTH_REQUIRED`) state before returning.
+    "taskPushNotificationConfig": { # A container associating a push notification configuration with a specific task. # Configuration for the agent to send push notifications for task updates. Task id should be empty when sending this configuration in a `SendMessage` request.
+      "authentication": { # Defines authentication details, used for push notifications. # Authentication information required to send the notification.
+        "credentials": "A String", # Push Notification credentials. Format depends on the scheme (e.g., token for Bearer).
+        "scheme": "A String", # Required. HTTP Authentication Scheme from the [IANA registry](https://www.iana.org/assignments/http-authschemes/). Examples: `Bearer`, `Basic`, `Digest`. Scheme names are case-insensitive per [RFC 9110 Section 11.1](https://www.rfc-editor.org/rfc/rfc9110#section-11.1).
+      },
+      "id": "A String", # The push notification configuration details. A unique identifier (e.g. UUID) for this push notification configuration.
+      "taskId": "A String", # The ID of the task this configuration is associated with.
+      "tenant": "A String", # Optional. Tenant ID.
+      "token": "A String", # A token unique for this task or session.
+      "url": "A String", # Required. The URL where the notification should be sent.
+    },
+  },
+  "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # Required. The message to send to the agent.
+    "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+    "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+      "A String",
+    ],
+    "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+    "metadata": { # Optional. Any metadata to provide along with the message.
+      "a_key": "", # Properties of the object.
+    },
+    "parts": [ # Required. Parts is the container of the message content.
+      { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+        "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+        "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+        "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+        "metadata": { # Optional. metadata associated with this part.
+          "a_key": "", # Properties of the object.
+        },
+        "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+        "text": "A String", # The string content of the `text` part.
+        "url": "A String", # A `url` pointing to the file's content.
+      },
+    ],
+    "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+      "A String",
+    ],
+    "role": "A String", # Required. Identifies the sender of the message.
+    "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+  },
+  "metadata": { # A flexible key-value map for passing additional context or parameters.
+    "a_key": "", # Properties of the object.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents the response for the `SendMessage` method.
+  "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # A message from the agent.
+    "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+    "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+      "A String",
+    ],
+    "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+    "metadata": { # Optional. Any metadata to provide along with the message.
+      "a_key": "", # Properties of the object.
+    },
+    "parts": [ # Required. Parts is the container of the message content.
+      { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+        "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+        "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+        "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+        "metadata": { # Optional. metadata associated with this part.
+          "a_key": "", # Properties of the object.
+        },
+        "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+        "text": "A String", # The string content of the `text` part.
+        "url": "A String", # A `url` pointing to the file's content.
+      },
+    ],
+    "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+      "A String",
+    ],
+    "role": "A String", # Required. Identifies the sender of the message.
+    "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+  },
+  "task": { # `Task` is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history. # The task created or updated by the message.
+    "artifacts": [ # A set of output artifacts for a `Task`.
+      { # Artifacts represent task outputs.
+        "artifactId": "A String", # Required. Unique identifier (e.g. UUID) for the artifact. It must be unique within a task.
+        "description": "A String", # Optional. A human readable description of the artifact.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Artifact.
+          "A String",
+        ],
+        "metadata": { # Optional. Metadata included with the artifact.
+          "a_key": "", # Properties of the object.
+        },
+        "name": "A String", # A human readable name for the artifact.
+        "parts": [ # Required. The content of the artifact. Must contain at least one part.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+      },
+    ],
+    "contextId": "A String", # Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages).
+    "history": [ # protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a `Task`.
+      { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it.
+        "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+          "A String",
+        ],
+        "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+        "metadata": { # Optional. Any metadata to provide along with the message.
+          "a_key": "", # Properties of the object.
+        },
+        "parts": [ # Required. Parts is the container of the message content.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+        "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+          "A String",
+        ],
+        "role": "A String", # Required. Identifies the sender of the message.
+        "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+      },
+    ],
+    "id": "A String", # Required. Unique identifier (e.g. UUID) for the task, generated by the server for a new task.
+    "metadata": { # protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.
+      "a_key": "", # Properties of the object.
+    },
+    "status": { # A container for the status of a task # Required. The current status of a `Task`, including `state` and a `message`.
+      "message": { # `Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it. # A message associated with the status.
+        "contextId": "A String", # Optional. The context id of the message. If set, the message will be associated with the given context.
+        "extensions": [ # The URIs of extensions that are present or contributed to this Message.
+          "A String",
+        ],
+        "messageId": "A String", # Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.
+        "metadata": { # Optional. Any metadata to provide along with the message.
+          "a_key": "", # Properties of the object.
+        },
+        "parts": [ # Required. Parts is the container of the message content.
+          { # `Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).
+            "data": "", # Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).
+            "filename": "A String", # An optional `filename` for the file (e.g., "document.pdf").
+            "mediaType": "A String", # The `media_type` (MIME type) of the part content (e.g., "text/plain", "application/json", "image/png"). This field is available for all part types.
+            "metadata": { # Optional. metadata associated with this part.
+              "a_key": "", # Properties of the object.
+            },
+            "raw": "A String", # The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.
+            "text": "A String", # The string content of the `text` part.
+            "url": "A String", # A `url` pointing to the file's content.
+          },
+        ],
+        "referenceTaskIds": [ # A list of task IDs that this message references for additional context.
+          "A String",
+        ],
+        "role": "A String", # Required. Identifies the sender of the message.
+        "taskId": "A String", # Optional. The task id of the message. If set, the message will be associated with the given task.
+      },
+      "state": "A String", # Required. The current state of this task.
+      "timestamp": "A String", # ISO 8601 Timestamp when the status was recorded. Example: "2023-10-27T10:00:00Z"
+    },
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.tools.html b/docs/dyn/ces_v1beta.projects.locations.apps.tools.html index 211c230b68..256b01a495 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.tools.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.tools.html @@ -403,6 +403,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -440,6 +441,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -499,6 +501,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -558,6 +563,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -911,6 +919,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -948,6 +957,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1007,6 +1017,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1066,6 +1079,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1445,6 +1461,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1482,6 +1499,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1541,6 +1559,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1600,6 +1621,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1966,6 +1990,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2003,6 +2028,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2062,6 +2088,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2121,6 +2150,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2491,6 +2523,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2528,6 +2561,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2587,6 +2621,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2646,6 +2683,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2999,6 +3039,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -3036,6 +3077,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -3095,6 +3137,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -3154,6 +3199,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.toolsets.html b/docs/dyn/ces_v1beta.projects.locations.apps.toolsets.html index 77db71a499..747e2560bb 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.toolsets.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.toolsets.html @@ -190,6 +190,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -330,6 +406,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -496,6 +648,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -649,6 +877,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -806,6 +1110,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -946,6 +1326,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -1011,6 +1467,7 @@

Method Details

The object takes the form of: { # Request message for ToolService.RetrieveTools. + "bypassPersistenceConfig": True or False, # Optional. If true, the returned tools will contain raw descriptions and schemas directly from the server, bypassing any stored persistence configurations (overrides/snapshots). "toolIds": [ # Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned. "A String", ], @@ -1319,6 +1776,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1356,6 +1814,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1415,6 +1874,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1474,6 +1936,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` diff --git a/docs/dyn/ces_v1beta.projects.locations.apps.versions.html b/docs/dyn/ces_v1beta.projects.locations.apps.versions.html index fb79646571..3dab947b2d 100644 --- a/docs/dyn/ces_v1beta.projects.locations.apps.versions.html +++ b/docs/dyn/ces_v1beta.projects.locations.apps.versions.html @@ -194,6 +194,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -380,11 +381,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -408,7 +409,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -980,6 +981,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -1017,6 +1019,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -1076,6 +1079,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -1135,6 +1141,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -1264,6 +1273,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -1414,6 +1499,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -1600,11 +1686,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -1628,7 +1714,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -2200,6 +2286,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -2237,6 +2324,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -2296,6 +2384,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -2355,6 +2446,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -2484,6 +2578,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -2659,6 +2829,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -2845,11 +3016,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -2873,7 +3044,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -3445,6 +3616,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -3482,6 +3654,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -3541,6 +3714,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -3600,6 +3776,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -3729,6 +3908,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. @@ -3891,6 +4146,7 @@

Method Details

"inputVariableMapping": { # Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input. "a_key": "A String", }, + "languageCodeVariable": "A String", # Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used. "outputVariableMapping": { # Optional. The mapping of the Dialogflow session parameters names to the app variables names to be sent back to the CES agent after the Dialogflow agent execution ends. "a_key": "A String", }, @@ -4077,11 +4333,11 @@

Method Details

}, "locked": True or False, # Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. "loggingSettings": { # Settings to describe the logging behaviors for the app. # Optional. Logging settings of the app. - "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. + "audioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, - "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. + "bigqueryExportSettings": { # Settings to describe the BigQuery export behaviors for the app. # Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig. "dataset": "A String", # Optional. The BigQuery **dataset ID** to export the data to. "enabled": True or False, # Optional. Indicates whether the BigQuery export is enabled. "project": "A String", # Optional. The **project ID** of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant `roles/bigquery.admin` role to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. @@ -4105,7 +4361,7 @@

Method Details

"enableRedaction": True or False, # Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. "inspectTemplate": "A String", # Optional. [DLP](https://cloud.google.com/dlp/docs) inspect template name to configure detection of sensitive data types. Format: `projects/{project}/locations/{location}/inspectTemplates/{inspect_template}` }, - "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes. + "unredactedAudioRecordingConfig": { # Configuration for how the audio interactions should be recorded. # Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes. "gcsBucket": "A String", # Optional. The [Cloud Storage](https://cloud.google.com/storage) bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant `storage.objects.create` permission to the CES service agent `service-@gcp-sa-ces.iam.gserviceaccount.com`. "gcsPathPrefix": "A String", # Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix `$project/$location/$app/$date/$session/` will be used. }, @@ -4677,6 +4933,7 @@

Method Details

"uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. }, "name": "A String", # Required. The name of the MCP tool. + "nameOverride": "A String", # Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override. "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Optional. The schema of the output arguments of the MCP tool. "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. @@ -4714,6 +4971,7 @@

Method Details

"serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter. "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. }, + "state": "A String", # Output only. The dynamic availability state of the tool on the external server. "tlsConfig": { # The TLS configuration. # Optional. The TLS configuration. Includes the custom server certificates that the client should trust. "caCerts": [ # Required. Specifies a list of allowed custom CA certificates for HTTPS verification. { # The CA certificate. @@ -4773,6 +5031,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "remoteAgentTool": { # Represents a tool that allows the agent to call another remote agent. # Optional. The remote agent tool. "agentCard": { # AgentCard conveys key information about a remote agent. It is a trimmed version of the AgentCard defined in the A2A protocol https://a2a-protocol.org/dev/specification/#441-agentcard # Required. The agent card of the remote agent that this tool invokes. @@ -4832,6 +5093,9 @@

Method Details

"description": "A String", # Output only. The description of the Python function, parsed from the python code's docstring. "name": "A String", # Optional. The name of the Python function to execute. Must match a Python function name defined in the python code. Case sensitive. If the name is not provided, the first function defined in the python code will be used. "pythonCode": "A String", # Optional. The Python code to execute for the tool. + "serviceDirectoryConfig": { # Configuration for tools using Service Directory. # Optional. Service Directory configuration for the tool. + "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}`. Location of the service directory must be the same as the location of the app. + }, }, "pythonScript": "A String", # Deprecated: Use `python_function` instead. "sourceToolName": "A String", # Optional. The resource name of the tool that provides the data for the widget (e.g., a search tool or a custom function). Format: `projects/{project}/locations/{location}/agents/{agent}/tools/{tool}` @@ -4961,6 +5225,82 @@

Method Details

}, ], }, + "toolOverrides": [ # Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic. + { # Overrides associated with a given tool in a Toolset. This enables "pinning" or "overriding" of tool definitions from the external dynamic server. + "descriptionOverride": "A String", # Optional. If present, this tool uses this description instead of the original description from the server. + "nameOverride": "A String", # Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools. + "snapshot": { # Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden. # Output only. If present, this tool is "Pinned" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present. + "description": "A String", # Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`. + "inputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the input arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + "outputSchema": { # Represents a select subset of an OpenAPI 3.0 schema object. # Output only. The schema of the output arguments of the MCP tool. + "additionalProperties": # Object with schema name: Schema # Optional. Can either be a boolean or an object, controls the presence of additional properties. + "anyOf": [ # Optional. The value should be validated against any (one or more) of the subschemas in the list. + # Object with schema name: Schema + ], + "default": "", # Optional. Default value of the data. + "defs": { # Optional. A map of definitions for use by `ref`. Only allowed at the root of the schema. + "a_key": # Object with schema name: Schema + }, + "description": "A String", # Optional. The description of the data. + "enum": [ # Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} + "A String", + ], + "items": # Object with schema name: Schema # Optional. Schema of the elements of Type.ARRAY. + "maxItems": "A String", # Optional. Maximum number of the elements for Type.ARRAY. + "maximum": 3.14, # Optional. Maximum value for Type.INTEGER and Type.NUMBER. + "minItems": "A String", # Optional. Minimum number of the elements for Type.ARRAY. + "minimum": 3.14, # Optional. Minimum value for Type.INTEGER and Type.NUMBER. + "nullable": True or False, # Optional. Indicates if the value may be null. + "prefixItems": [ # Optional. Schemas of initial elements of Type.ARRAY. + # Object with schema name: Schema + ], + "properties": { # Optional. Properties of Type.OBJECT. + "a_key": # Object with schema name: Schema + }, + "ref": "A String", # Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root `defs`. For example, the following schema defines a reference to a schema node named "Pet": ``` type: object properties: pet: ref: #/defs/Pet defs: Pet: type: object properties: name: type: string ``` The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. + "required": [ # Optional. Required properties of Type.OBJECT. + "A String", + ], + "title": "A String", # Optional. The title of the schema. + "type": "A String", # Required. The type of the data. + "uniqueItems": True or False, # Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. + }, + }, + "tool": "A String", # Required. The original name of the tool as it is emitted by the MCP server. + }, + ], }, "name": "A String", # Identifier. The unique identifier of the toolset. Format: `projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}` "openApiToolset": { # A toolset that contains a list of tools that are defined by an OpenAPI schema. # Optional. A toolset that contains a list of tools that are defined by an OpenAPI schema. diff --git a/docs/dyn/chat_v1.spaces.html b/docs/dyn/chat_v1.spaces.html index c64485467c..72e96bfdd7 100644 --- a/docs/dyn/chat_v1.spaces.html +++ b/docs/dyn/chat_v1.spaces.html @@ -1115,6 +1115,7 @@

Method Details

{ # Request to create a space and add specified users to it. "memberships": [ # Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). diff --git a/docs/dyn/chat_v1.spaces.members.html b/docs/dyn/chat_v1.spaces.members.html index 9d4a8bbaaa..727670f7aa 100644 --- a/docs/dyn/chat_v1.spaces.members.html +++ b/docs/dyn/chat_v1.spaces.members.html @@ -111,6 +111,7 @@

Method Details

The object takes the form of: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -138,6 +139,7 @@

Method Details

An object of the form: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -172,6 +174,7 @@

Method Details

An object of the form: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -206,6 +209,7 @@

Method Details

An object of the form: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -247,6 +251,7 @@

Method Details

{ # Response to list memberships of the space. "memberships": [ # Unordered list. List of memberships in the requested (or first) page. { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -292,6 +297,7 @@

Method Details

The object takes the form of: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -320,6 +326,7 @@

Method Details

An object of the form: { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html index dba94f40da..8c18c309f7 100644 --- a/docs/dyn/chat_v1.spaces.messages.html +++ b/docs/dyn/chat_v1.spaces.messages.html @@ -3148,7 +3148,7 @@

Method Details

Allowed values NOTIFICATION_TYPE_NONE - Default behavior. Notification behavior is similar to when the human user sends the message using the Chat UI: no notification is sent to the human sender. NOTIFICATION_TYPE_FORCE_NOTIFY - Force notify recipients. This bypasses users' space notification settings and [Chat Do Not Disturb settings](https://support.google.com/chat/answer/9093489). This option does not bypass device-level Do Not Disturb settings. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). - NOTIFICATION_TYPE_SILENT - Silence the notification as if the recipients have [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489) enabled or have muted the space. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). + NOTIFICATION_TYPE_SILENT - Do not notify recipients, and do not mark the message as unread. This behaves similarly to the user muting the conversation or enabling [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489). Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). messageId: string, Optional. A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message `name` field). The value for this field must meet the following requirements: * Begins with `client-`. For example, `client-custom-name` is a valid custom ID, but `custom-name` is not. * Contains up to 63 characters and only lowercase letters, numbers, and hyphens. * Is unique within a space. A Chat app can't use the same custom ID for different messages. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). messageReplyOption: string, Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread. Allowed values diff --git a/docs/dyn/chat_v1.spaces.spaceEvents.html b/docs/dyn/chat_v1.spaces.spaceEvents.html index cf3a03450c..59adef3b23 100644 --- a/docs/dyn/chat_v1.spaces.spaceEvents.html +++ b/docs/dyn/chat_v1.spaces.spaceEvents.html @@ -113,6 +113,7 @@

Method Details

"memberships": [ # A list of new memberships. { # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`. "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The new membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -136,6 +137,7 @@

Method Details

"memberships": [ # A list of deleted memberships. { # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The deleted membership. Only the `name` and `state` fields are populated. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -159,6 +161,7 @@

Method Details

"memberships": [ # A list of updated memberships. { # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The updated membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -180,6 +183,7 @@

Method Details

}, "membershipCreatedEventData": { # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`. # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The new membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -199,6 +203,7 @@

Method Details

}, "membershipDeletedEventData": { # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The deleted membership. Only the `name` and `state` fields are populated. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -218,6 +223,7 @@

Method Details

}, "membershipUpdatedEventData": { # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The updated membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18672,6 +18678,7 @@

Method Details

"memberships": [ # A list of new memberships. { # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`. "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The new membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18695,6 +18702,7 @@

Method Details

"memberships": [ # A list of deleted memberships. { # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The deleted membership. Only the `name` and `state` fields are populated. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18718,6 +18726,7 @@

Method Details

"memberships": [ # A list of updated memberships. { # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The updated membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18739,6 +18748,7 @@

Method Details

}, "membershipCreatedEventData": { # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`. # Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The new membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18758,6 +18768,7 @@

Method Details

}, "membershipDeletedEventData": { # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` # Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The deleted membership. Only the `name` and `state` fields are populated. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). @@ -18777,6 +18788,7 @@

Method Details

}, "membershipUpdatedEventData": { # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` # Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` "membership": { # Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. # The updated membership. + "affiliation": "A String", # Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. "createTime": "A String", # Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. "deleteTime": "A String", # Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. "groupMember": { # A Google Group in Google Chat. # Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). diff --git a/docs/dyn/chromemanagement_v1.customers.enterprise.html b/docs/dyn/chromemanagement_v1.customers.enterprise.html new file mode 100644 index 0000000000..7927d0602e --- /dev/null +++ b/docs/dyn/chromemanagement_v1.customers.enterprise.html @@ -0,0 +1,91 @@ + + + +

Chrome Management API . customers . enterprise

+

Instance Methods

+

+ securityInsights() +

+

Returns the securityInsights Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/chromemanagement_v1.customers.enterprise.securityInsights.html b/docs/dyn/chromemanagement_v1.customers.enterprise.securityInsights.html new file mode 100644 index 0000000000..16c4a16f44 --- /dev/null +++ b/docs/dyn/chromemanagement_v1.customers.enterprise.securityInsights.html @@ -0,0 +1,167 @@ + + + +

Chrome Management API . customers . enterprise . securityInsights

+

Instance Methods

+

+ checkEnablementStatus(customer, x__xgafv=None)

+

Gets the setting state of the insights feature for the customer.

+

+ close()

+

Close httplib2 connections.

+

+ disable(customer, body=None, x__xgafv=None)

+

Disables insights for the customer.

+

+ enable(customer, body=None, x__xgafv=None)

+

Enables insights for the customer and sets up required chrome connectors.

+

Method Details

+
+ checkEnablementStatus(customer, x__xgafv=None) +
Gets the setting state of the insights feature for the customer.
+
+Args:
+  customer: string, Required. The customer to check the enablement status for. Format: customers/{customer_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response from checking the enablement status of insights for the customer.
+  "insightsState": "A String", # The state of the insights feature.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ disable(customer, body=None, x__xgafv=None) +
Disables insights for the customer.
+
+Args:
+  customer: string, Required. The customer to disable insights for. Format: customers/{customer} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to disable insights for the customer.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response from disabling insights for the customer.
+  "insightsState": "A String", # The state of the insights feature.
+}
+
+ +
+ enable(customer, body=None, x__xgafv=None) +
Enables insights for the customer and sets up required chrome connectors.
+
+Args:
+  customer: string, Required. The customer to enable insights for. Format: customers/{customer} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to enable insights for the customer.
+  "targetOus": [ # Optional. The Organizational Units to set up required connectors for. Organizational Units are provided as paths relative to root. If this field is not set, connectors will be set up at root OU (as if it were set to ["/"]). Example: ["/corp/sales", "/eng"]
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response from enabling insights for the customer.
+  "insightsState": "A String", # The state of the insights feature.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/chromemanagement_v1.customers.html b/docs/dyn/chromemanagement_v1.customers.html index 3ae579587a..af370e4627 100644 --- a/docs/dyn/chromemanagement_v1.customers.html +++ b/docs/dyn/chromemanagement_v1.customers.html @@ -89,6 +89,11 @@

Instance Methods

Returns the connectorConfigs Resource.

+

+ enterprise() +

+

Returns the enterprise Resource.

+

profiles()

diff --git a/docs/dyn/chromemanagement_v1.customers.reports.html b/docs/dyn/chromemanagement_v1.customers.reports.html index 971c672850..ca964951c8 100644 --- a/docs/dyn/chromemanagement_v1.customers.reports.html +++ b/docs/dyn/chromemanagement_v1.customers.reports.html @@ -95,6 +95,12 @@

Instance Methods

countChromeHardwareFleetDevices(customer, orgUnitId=None, readMask=None, x__xgafv=None)

Counts of devices with a specific hardware specification from the requested hardware type (for example model name, processor type). Further information can be found here https://support.google.com/chrome/a/answer/10564947

+

+ countChromeProfileVersions(customer, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Generate report of installed Chrome versions on managed profiles.

+

+ countChromeProfileVersions_next()

+

Retrieves the next page of results.

countChromeVersions(customer, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None)

Generate report of installed Chrome versions.

@@ -325,6 +331,53 @@

Method Details

}
+
+ countChromeProfileVersions(customer, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None) +
Generate report of installed Chrome versions on managed profiles.
+
+Args:
+  customer: string, Required. Customer id or "my_customer" to use the customer associated to the account making the request. (required)
+  filter: string, Optional. Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date
+  orgUnitId: string, The ID of the organizational unit. If omitted, all data will be returned.
+  pageSize: integer, Optional. Maximum number of results to return. Maximum and default are 100.
+  pageToken: string, Optional. Token to specify the page of the request to be returned.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response containing requested managed profile versions details and counts.
+  "nextPageToken": "A String", # Token to specify the next page of the request.
+  "profileBrowserVersions": [ # List of all browser versions reported for profiles and their install counts.
+    { # Describes a browser version and its install count.
+      "channel": "A String", # Output only. The release channel of the installed browser.
+      "count": "A String", # Output only. Count grouped by device_system and major version
+      "deviceOsVersion": "A String", # Output only. Version of the system-specified operating system.
+      "system": "A String", # Output only. The device operating system.
+      "version": "A String", # Output only. The full version of the installed browser.
+    },
+  ],
+  "totalSize": 42, # Total number browser versions matching request.
+}
+
+ +
+ countChromeProfileVersions_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.
+        
+
+
countChromeVersions(customer, filter=None, orgUnitId=None, pageSize=None, pageToken=None, x__xgafv=None)
Generate report of installed Chrome versions.
@@ -460,6 +513,7 @@ 

Method Details

"permissions": [ # Output only. Permissions of the installed app. "A String", ], + "profileCount": "A String", # Output only. Count of Chrome Profiles with this app installed. "riskAssessment": { # Risk assessment data about an extension/app. # Output only. If available, the risk assessment data about this extension. "entries": [ # Individual risk assessments. { # One risk assessment entry. diff --git a/docs/dyn/chromewebstore_v2.publishers.items.html b/docs/dyn/chromewebstore_v2.publishers.items.html index 4602342485..2f9cb34e14 100644 --- a/docs/dyn/chromewebstore_v2.publishers.items.html +++ b/docs/dyn/chromewebstore_v2.publishers.items.html @@ -171,6 +171,7 @@

Method Details

The object takes the form of: { # Request message for PublishItem. + "blockOnWarnings": True or False, # Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the `error.details`. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset. "deployInfos": [ # Optional. Additional deploy information including the desired initial percentage rollout. Defaults to the current value saved in the developer dashboard if unset. { # Deployment information for a specific release channel. Used in requests to update deployment parameters. "deployPercentage": 42, # Required. The current deploy percentage for the release channel (nonnegative number between 0 and 100). @@ -192,6 +193,14 @@

Method Details

"itemId": "A String", # Output only. The ID of the item. "name": "A String", # The name of the item that was submitted "state": "A String", # Output only. The current state of the submission. + "warningInfo": { # Message containing details on warnings encountered during PublishItem. # Output only. Non-blocking warnings encountered during the request. + "warnings": [ # All warnings encountered during the request. + { # Represents a single warning encountered during the request. + "description": "A String", # A description of the warning. Developers should use this message to understand the warning and take appropriate action to resolve the issue. + "reason": "A String", # The reason for the warning. This is a constant value that identifies the proximate cause of the warning. + }, + ], + }, }
diff --git a/docs/dyn/cloudbuild_v1.projects.builds.html b/docs/dyn/cloudbuild_v1.projects.builds.html index fd24f87902..6c76399f5c 100644 --- a/docs/dyn/cloudbuild_v1.projects.builds.html +++ b/docs/dyn/cloudbuild_v1.projects.builds.html @@ -349,6 +349,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -582,6 +589,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -817,6 +831,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1050,6 +1071,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1316,6 +1344,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1549,6 +1584,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1790,6 +1832,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -2023,6 +2072,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", diff --git a/docs/dyn/cloudbuild_v1.projects.locations.builds.html b/docs/dyn/cloudbuild_v1.projects.locations.builds.html index 1369e52572..cf86ac8393 100644 --- a/docs/dyn/cloudbuild_v1.projects.locations.builds.html +++ b/docs/dyn/cloudbuild_v1.projects.locations.builds.html @@ -348,6 +348,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -581,6 +588,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -816,6 +830,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1049,6 +1070,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1315,6 +1343,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1548,6 +1583,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1789,6 +1831,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -2022,6 +2071,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", diff --git a/docs/dyn/cloudbuild_v1.projects.locations.triggers.html b/docs/dyn/cloudbuild_v1.projects.locations.triggers.html index a364db7cb5..f570cf5ce4 100644 --- a/docs/dyn/cloudbuild_v1.projects.locations.triggers.html +++ b/docs/dyn/cloudbuild_v1.projects.locations.triggers.html @@ -337,6 +337,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -570,6 +577,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -988,6 +1002,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1221,6 +1242,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1667,6 +1695,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1900,6 +1935,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -2330,6 +2372,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -2563,6 +2612,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -2998,6 +3054,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -3231,6 +3294,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -3651,6 +3721,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -3884,6 +3961,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", diff --git a/docs/dyn/cloudbuild_v1.projects.triggers.html b/docs/dyn/cloudbuild_v1.projects.triggers.html index 98b5b8689e..e65a4d2c9e 100644 --- a/docs/dyn/cloudbuild_v1.projects.triggers.html +++ b/docs/dyn/cloudbuild_v1.projects.triggers.html @@ -337,6 +337,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -570,6 +577,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -988,6 +1002,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1221,6 +1242,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -1667,6 +1695,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -1900,6 +1935,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -2330,6 +2372,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -2563,6 +2612,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -2999,6 +3055,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -3232,6 +3295,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", @@ -3650,6 +3720,13 @@

Method Details

"buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order corresponding to build step indices. [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders) can produce this output by writing to `$BUILDER_OUTPUT/output`. Only the first 50KB of data is stored. Note that the `$BUILDER_OUTPUT` variable is read-only and can't be substituted. "A String", ], + "buildStepResults": { # Results for build steps. step_id -> + "a_key": { # Results for a build step. + "results": { # Results for a build step. + "a_key": "A String", + }, + }, + }, "genericArtifacts": [ # Output only. Generic artifacts uploaded to Artifact Registry at the end of the build. { # A generic artifact uploaded to Artifact Registry using the GenericArtifact directive. "artifactFingerprint": { # Container message for hashes of byte content of files, used in SourceProvenance messages to verify integrity of source input to the build. # Output only. The hash of the whole artifact. @@ -3883,6 +3960,13 @@

Method Details

"endTime": "A String", # End of time span. "startTime": "A String", # Start of time span. }, + "results": [ # Declaration of results for this build step. + { # StepResult is the declaration of a result for a build step. + "attestationContent": "A String", # Optional. The content of the attestation to be generated. + "attestationType": "A String", # Optional. The type of attestation to be generated. + "name": "A String", # Required. The name of the result. + }, + ], "script": "A String", # A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args. "secretEnv": [ # A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's `Secret`. "A String", diff --git a/docs/dyn/cloudbuild_v2.projects.locations.html b/docs/dyn/cloudbuild_v2.projects.locations.html index 812834db18..a05e85e9a7 100644 --- a/docs/dyn/cloudbuild_v2.projects.locations.html +++ b/docs/dyn/cloudbuild_v2.projects.locations.html @@ -92,7 +92,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/clouddeploy_v1.projects.locations.customTargetTypes.html b/docs/dyn/clouddeploy_v1.projects.locations.customTargetTypes.html
index cdaab116e4..463fc7c17d 100644
--- a/docs/dyn/clouddeploy_v1.projects.locations.customTargetTypes.html
+++ b/docs/dyn/clouddeploy_v1.projects.locations.customTargetTypes.html
@@ -166,7 +166,6 @@ 

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -181,7 +180,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -324,7 +322,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -339,7 +336,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -466,7 +462,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -481,7 +476,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -569,7 +563,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -584,7 +577,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, diff --git a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.html b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.html index 7e6a60fb38..abacf1bafd 100644 --- a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.html +++ b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.html @@ -161,7 +161,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -201,7 +201,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -241,7 +240,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -263,7 +261,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -283,7 +280,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -309,7 +305,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -348,7 +343,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -370,7 +364,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -393,7 +386,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -456,7 +448,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -493,7 +484,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -515,7 +505,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -535,7 +524,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -661,7 +649,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -701,7 +689,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -741,7 +728,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -763,7 +749,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -783,7 +768,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -809,7 +793,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -848,7 +831,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -870,7 +852,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -893,7 +874,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -956,7 +936,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -993,7 +972,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1015,7 +993,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1035,7 +1012,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1144,7 +1120,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -1184,7 +1160,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1224,7 +1199,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1246,7 +1220,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1266,7 +1239,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1292,7 +1264,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1331,7 +1302,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1353,7 +1323,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1376,7 +1345,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1439,7 +1407,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1476,7 +1443,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1498,7 +1464,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1518,7 +1483,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1588,7 +1552,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -1628,7 +1592,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1668,7 +1631,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1690,7 +1652,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1710,7 +1671,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1736,7 +1696,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1775,7 +1734,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1797,7 +1755,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1820,7 +1777,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1883,7 +1839,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1920,7 +1875,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1942,7 +1896,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1962,7 +1915,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2097,7 +2049,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2140,7 +2091,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2162,7 +2112,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2183,7 +2132,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2211,7 +2159,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2254,7 +2201,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2276,7 +2222,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2297,7 +2242,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2326,7 +2270,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2369,7 +2312,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2391,7 +2333,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2412,7 +2353,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2438,7 +2378,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2481,7 +2420,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2503,7 +2441,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2524,7 +2461,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2550,7 +2486,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2593,7 +2528,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2615,7 +2549,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2636,7 +2569,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2662,7 +2594,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2705,7 +2636,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2727,7 +2657,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2748,7 +2677,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2774,7 +2702,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2817,7 +2744,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2839,7 +2765,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2860,7 +2785,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2969,7 +2893,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3012,7 +2935,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3034,7 +2956,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3055,7 +2976,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3083,7 +3003,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3126,7 +3045,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3148,7 +3066,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3169,7 +3086,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3198,7 +3114,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3241,7 +3156,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3263,7 +3177,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3284,7 +3197,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3310,7 +3222,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3353,7 +3264,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3375,7 +3285,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3396,7 +3305,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3422,7 +3330,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3465,7 +3372,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3487,7 +3393,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3508,7 +3413,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3534,7 +3438,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3577,7 +3480,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3599,7 +3501,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3620,7 +3521,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3646,7 +3546,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -3689,7 +3588,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3711,7 +3609,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -3732,7 +3629,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], diff --git a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.html b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.html index 77495399b5..5f64c934b4 100644 --- a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.html +++ b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.html @@ -246,7 +246,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -261,7 +260,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -293,7 +291,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -333,7 +331,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -373,7 +370,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -395,7 +391,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -415,7 +410,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -441,7 +435,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -480,7 +473,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -502,7 +494,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -525,7 +516,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -588,7 +578,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -625,7 +614,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -647,7 +635,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -667,7 +654,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -687,7 +673,7 @@

Method Details

}, "description": "A String", # Optional. Description of the `Release`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -984,7 +970,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -999,7 +984,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1031,7 +1015,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -1071,7 +1055,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1111,7 +1094,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1133,7 +1115,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1153,7 +1134,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1179,7 +1159,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1218,7 +1197,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1240,7 +1218,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1263,7 +1240,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1326,7 +1302,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1363,7 +1338,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1385,7 +1359,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1405,7 +1378,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1425,7 +1397,7 @@

Method Details

}, "description": "A String", # Optional. Description of the `Release`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -1697,7 +1669,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, "render": { # A Task represents a unit of work that is executed as part of a Job. # Optional. The task responsible for render operations. If not provided then Cloud Deploy will perform its default rendering operation. @@ -1712,7 +1683,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1744,7 +1714,7 @@

Method Details

"createTime": "A String", # Output only. Time at which the pipeline was created. "description": "A String", # Optional. Description of the `DeliveryPipeline`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `DeliveryPipeline`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}`. The `deliveryPipeline` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` @@ -1784,7 +1754,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1824,7 +1793,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1846,7 +1814,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1866,7 +1833,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1892,7 +1858,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1931,7 +1896,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1953,7 +1917,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1976,7 +1939,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2039,7 +2001,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2076,7 +2037,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2098,7 +2058,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2118,7 +2077,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2138,7 +2096,7 @@

Method Details

}, "description": "A String", # Optional. Description of the `Release`. Max length is 255 characters. "etag": "A String", # This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. - "labels": { # Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. + "labels": { # Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. "a_key": "A String", }, "name": "A String", # Identifier. Name of the `Release`. Format is `projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}`. The `release` component must match `[a-z]([a-z0-9-]{0,61}[a-z0-9])?` diff --git a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.html b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.html index 2f976afbe5..7bd2324c7d 100644 --- a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.html +++ b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.html @@ -278,7 +278,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -321,7 +320,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -343,7 +341,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -364,7 +361,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -392,7 +388,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -435,7 +430,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -457,7 +451,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -478,7 +471,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -507,7 +499,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -550,7 +541,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -572,7 +562,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -593,7 +582,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -619,7 +607,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -662,7 +649,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -684,7 +670,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -705,7 +690,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -731,7 +715,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -774,7 +757,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -796,7 +778,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -817,7 +798,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -843,7 +823,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -886,7 +865,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -908,7 +886,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -929,7 +906,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -955,7 +931,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -998,7 +973,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1020,7 +994,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1041,7 +1014,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1181,7 +1153,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1224,7 +1195,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1246,7 +1216,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1267,7 +1236,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1295,7 +1263,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1338,7 +1305,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1360,7 +1326,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1381,7 +1346,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1410,7 +1374,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1453,7 +1416,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1475,7 +1437,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1496,7 +1457,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1522,7 +1482,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1565,7 +1524,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1587,7 +1545,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1608,7 +1565,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1634,7 +1590,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1677,7 +1632,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1699,7 +1653,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1720,7 +1673,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1746,7 +1698,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1789,7 +1740,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1811,7 +1761,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1832,7 +1781,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1858,7 +1806,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -1901,7 +1848,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1923,7 +1869,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -1944,7 +1889,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2087,7 +2031,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2130,7 +2073,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2152,7 +2094,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2173,7 +2114,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2201,7 +2141,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2244,7 +2183,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2266,7 +2204,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2287,7 +2224,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2316,7 +2252,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2359,7 +2294,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2381,7 +2315,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2402,7 +2335,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2428,7 +2360,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2471,7 +2402,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2493,7 +2423,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2514,7 +2443,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2540,7 +2468,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2583,7 +2510,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2605,7 +2531,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2626,7 +2551,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2652,7 +2576,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2695,7 +2618,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2717,7 +2639,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2738,7 +2659,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2764,7 +2684,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -2807,7 +2726,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2829,7 +2747,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], @@ -2850,7 +2767,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, ], diff --git a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.html b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.html index 175365a62d..7cbec0284c 100644 --- a/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.html +++ b/docs/dyn/clouddeploy_v1.projects.locations.deliveryPipelines.releases.rollouts.jobRuns.html @@ -159,7 +159,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, @@ -321,7 +320,6 @@

Method Details

"a_key": "A String", }, "image": "A String", # Required. Image is the container image to use. - "script": "A String", # Optional. Shell script to execute. If provided then command and args cannot be specified. }, }, }, diff --git a/docs/dyn/cloudidentity_v1.policies.html b/docs/dyn/cloudidentity_v1.policies.html index dbd1ec446f..f1b125edab 100644 --- a/docs/dyn/cloudidentity_v1.policies.html +++ b/docs/dyn/cloudidentity_v1.policies.html @@ -115,7 +115,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -211,7 +211,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -229,8 +229,8 @@

Method Details

List policies.
 
 Args:
-  filter: string, Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == "customers/{customer}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.
-  pageSize: integer, Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.
+  filter: string, Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`.
+  pageSize: integer, Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.
   pageToken: string, Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -249,7 +249,7 @@ 

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -293,7 +293,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. diff --git a/docs/dyn/cloudidentity_v1beta1.policies.html b/docs/dyn/cloudidentity_v1beta1.policies.html index 962675c3f9..6510c6a583 100644 --- a/docs/dyn/cloudidentity_v1beta1.policies.html +++ b/docs/dyn/cloudidentity_v1beta1.policies.html @@ -115,7 +115,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -211,7 +211,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -229,8 +229,8 @@

Method Details

List policies.
 
 Args:
-  filter: string, Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == "customers/{customer}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.
-  pageSize: integer, Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.
+  filter: string, Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`.
+  pageSize: integer, Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.
   pageToken: string, Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -249,7 +249,7 @@ 

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. @@ -293,7 +293,7 @@

Method Details

"policyQuery": { # PolicyQuery # Required. The PolicyQuery the Setting applies to. "group": "A String", # Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. "orgUnit": "A String", # Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. - "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + "query": "A String", # Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. "sortOrder": 3.14, # Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). }, "setting": { # Setting # Required. The Setting configured by this Policy. diff --git a/docs/dyn/cloudkms_v1.folders.html b/docs/dyn/cloudkms_v1.folders.html index dece1463c1..87534408e1 100644 --- a/docs/dyn/cloudkms_v1.folders.html +++ b/docs/dyn/cloudkms_v1.folders.html @@ -100,7 +100,7 @@

Method Details

Returns the AutokeyConfig for a folder or project.
 
 Args:
-  name: string, Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. (required)
+  name: string, Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -113,7 +113,7 @@ 

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. }
@@ -148,7 +148,7 @@

Method Details

Updates the AutokeyConfig for a folder or a project. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey.
 
 Args:
-  name: string, Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. (required)
+  name: string, Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -156,7 +156,7 @@ 

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. } @@ -173,7 +173,7 @@

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. }
diff --git a/docs/dyn/cloudkms_v1.projects.html b/docs/dyn/cloudkms_v1.projects.html index 2c62a4d2dc..c7cca8d64f 100644 --- a/docs/dyn/cloudkms_v1.projects.html +++ b/docs/dyn/cloudkms_v1.projects.html @@ -114,7 +114,7 @@

Method Details

Returns the AutokeyConfig for a folder or project.
 
 Args:
-  name: string, Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. (required)
+  name: string, Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -127,7 +127,7 @@ 

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. }
@@ -238,7 +238,7 @@

Method Details

Updates the AutokeyConfig for a folder or a project. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey.
 
 Args:
-  name: string, Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. (required)
+  name: string, Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -246,7 +246,7 @@ 

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. } @@ -263,7 +263,7 @@

Method Details

"etag": "A String", # Optional. A checksum computed by the server based on the value of other fields. This may be sent on update requests to ensure that the client has an up-to-date value before proceeding. The request will be rejected with an ABORTED error on a mismatched etag. "keyProject": "A String", # Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new CryptoKey when a KeyHandle is created. On UpdateAutokeyConfig, the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on this key project. Once configured, for Cloud KMS Autokey to function properly, this key project must have the Cloud KMS API activated and the Cloud KMS Service Agent for this key project must be granted the `cloudkms.admin` role (or pertinent permissions). A request with an empty key project field will clear the configuration. "keyProjectResolutionMode": "A String", # Optional. KeyProjectResolutionMode for the AutokeyConfig. Valid values are `DEDICATED_KEY_PROJECT`, `RESOURCE_PROJECT`, or `DISABLED`. - "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`. + "name": "A String", # Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`. "state": "A String", # Output only. The state for the AutokeyConfig. }
diff --git a/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html b/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html index c8087e05ef..1a9457bb34 100644 --- a/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html +++ b/docs/dyn/cloudkms_v1.projects.locations.keyRings.importJobs.html @@ -81,7 +81,7 @@

Instance Methods

create(parent, body=None, importJobId=None, x__xgafv=None)

Create a new ImportJob within a KeyRing. ImportJob.import_method is required.

- get(name, x__xgafv=None)

+ get(name, publicKeyFormat=None, x__xgafv=None)

Returns metadata for a given ImportJob.

getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)

@@ -138,8 +138,10 @@

Method Details

"name": "A String", # Output only. The resource name for this ImportJob in the format `projects/*/locations/*/keyRings/*/importJobs/*`. "protectionLevel": "A String", # Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. "publicKey": { # The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. # Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE. - "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). + "data": "A String", # Output only. Contains the public key, formatted according to the PublicKey.PublicKeyFormat specified in the KeyManagementService.GetImportJob request. + "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). This field gets populated by default for RSA-based import methods, if no public_key_format is specified in the request. If you want to retrieve the wrapping key of an ImportJob in some other format, use KeyManagementService.GetImportJob and set the public_key_format to the desired public key format. }, + "publicKeyFormat": "A String", # Output only. Specifies the WrappingPublicKey format provided by the customer in the KeyManagementService.GetImportJob request. "state": "A String", # Output only. The current state of the ImportJob, indicating if it can be used. } @@ -177,18 +179,27 @@

Method Details

"name": "A String", # Output only. The resource name for this ImportJob in the format `projects/*/locations/*/keyRings/*/importJobs/*`. "protectionLevel": "A String", # Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. "publicKey": { # The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. # Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE. - "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). + "data": "A String", # Output only. Contains the public key, formatted according to the PublicKey.PublicKeyFormat specified in the KeyManagementService.GetImportJob request. + "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). This field gets populated by default for RSA-based import methods, if no public_key_format is specified in the request. If you want to retrieve the wrapping key of an ImportJob in some other format, use KeyManagementService.GetImportJob and set the public_key_format to the desired public key format. }, + "publicKeyFormat": "A String", # Output only. Specifies the WrappingPublicKey format provided by the customer in the KeyManagementService.GetImportJob request. "state": "A String", # Output only. The current state of the ImportJob, indicating if it can be used. }
- get(name, x__xgafv=None) + get(name, publicKeyFormat=None, x__xgafv=None)
Returns metadata for a given ImportJob.
 
 Args:
   name: string, Required. The name of the ImportJob to get. (required)
+  publicKeyFormat: string, Optional. Specifies the WrappingPublicKey format. If not specified: * For RSA-based import methods, the wrapping key will be returned in PEM format * For pure ML-KEM-based import methods, the wrapping key will be returned in the raw bytes format specified in FIPS-203 * For X-Wing-based import methods, the wrapping key will be returned in the raw bytes format specified in https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem.
+    Allowed values
+      PUBLIC_KEY_FORMAT_UNSPECIFIED - If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.
+      PEM - The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.
+      DER - The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208).
+      NIST_PQC - This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205).
+      XWING_RAW_BYTES - The returned public key is in raw bytes format defined in its standard https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -222,8 +233,10 @@ 

Method Details

"name": "A String", # Output only. The resource name for this ImportJob in the format `projects/*/locations/*/keyRings/*/importJobs/*`. "protectionLevel": "A String", # Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. "publicKey": { # The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. # Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE. - "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). + "data": "A String", # Output only. Contains the public key, formatted according to the PublicKey.PublicKeyFormat specified in the KeyManagementService.GetImportJob request. + "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). This field gets populated by default for RSA-based import methods, if no public_key_format is specified in the request. If you want to retrieve the wrapping key of an ImportJob in some other format, use KeyManagementService.GetImportJob and set the public_key_format to the desired public key format. }, + "publicKeyFormat": "A String", # Output only. Specifies the WrappingPublicKey format provided by the customer in the KeyManagementService.GetImportJob request. "state": "A String", # Output only. The current state of the ImportJob, indicating if it can be used. }
@@ -321,8 +334,10 @@

Method Details

"name": "A String", # Output only. The resource name for this ImportJob in the format `projects/*/locations/*/keyRings/*/importJobs/*`. "protectionLevel": "A String", # Required. Immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into. "publicKey": { # The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod. # Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE. - "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). + "data": "A String", # Output only. Contains the public key, formatted according to the PublicKey.PublicKeyFormat specified in the KeyManagementService.GetImportJob request. + "pem": "A String", # The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). This field gets populated by default for RSA-based import methods, if no public_key_format is specified in the request. If you want to retrieve the wrapping key of an ImportJob in some other format, use KeyManagementService.GetImportJob and set the public_key_format to the desired public key format. }, + "publicKeyFormat": "A String", # Output only. Specifies the WrappingPublicKey format provided by the customer in the KeyManagementService.GetImportJob request. "state": "A String", # Output only. The current state of the ImportJob, indicating if it can be used. }, ], diff --git a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.customRanges.html b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.customRanges.html index 03220c4355..d0c1bb8f4b 100644 --- a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.customRanges.html +++ b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.customRanges.html @@ -112,30 +112,30 @@

Method Details

Creates a new CustomRange in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource name where the CustomRange will be created. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing CustomRange object
+{ # A CustomRange represents a user-defined IP address range.
   "attributes": [ # Optional. The attributes of the CustomRange.
-    { # Message describing Attribute object
-      "key": "A String", # Required. Key of attribute
-      "value": "A String", # Required. Value of attribute
+    { # A key-value pair representing a custom attribute associated with a resource.
+      "key": "A String", # Required. The key of the attribute.
+      "value": "A String", # Required. The value of the attribute.
     },
   ],
-  "description": "A String", # Optional. Description of the CustomRange.
+  "description": "A String", # Optional. The description of the CustomRange.
   "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange.
   "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange.
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
-  "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range}
-  "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm}
-  "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified.
+  "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.
+  "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange.
+  "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange.
+  "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified.
 }
 
-  customRangeId: string, Required. Id of the requesting object.
+  customRangeId: string, Required. The ID to use for the CustomRange, which will become the final segment of the resource name.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
@@ -171,7 +171,7 @@ 

Method Details

Deletes a single CustomRange.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the CustomRange to delete. (required)
   force: boolean, Optional. If set to true, all associated resources will be deleted.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
@@ -208,7 +208,7 @@ 

Method Details

Finds free IP ranges in a single CustomRange.
 
 Args:
-  name: string, Required. Name of the CustomRange. (required)
+  name: string, Required. The resource name of the CustomRange to search within. (required)
   cidrPrefixLength: integer, Required. The prefix length of the free IP ranges to find.
   rangeCount: integer, Optional. The number of free IP ranges to find.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
@@ -220,8 +220,8 @@ 

Method Details

Returns: An object of the form: - { # Message for the response to finding free IP ranges. - "freeIpCidrRanges": [ # Output only. Free IP CIDR ranges found in the CustomRange. + { # Response message for the CloudNumberRegistry.FindCustomRangeFreeIpRanges method. + "freeIpCidrRanges": [ # Output only. The free IP CIDR ranges found. "A String", ], }
@@ -232,7 +232,7 @@

Method Details

Gets details of a single CustomRange.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the CustomRange to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -241,23 +241,23 @@ 

Method Details

Returns: An object of the form: - { # Message describing CustomRange object + { # A CustomRange represents a user-defined IP address range. "attributes": [ # Optional. The attributes of the CustomRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "description": "A String", # Optional. Description of the CustomRange. + "description": "A String", # Optional. The description of the CustomRange. "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range} - "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm} - "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. + "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. + "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. + "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. }
@@ -266,8 +266,8 @@

Method Details

Lists CustomRanges in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListCustomRangesRequest (required)
-  filter: string, Optional. Filtering results.
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  filter: string, Optional. Filter expression to filter the results.
   orderBy: string, Optional. Hint for how to order the results.
   pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return.
@@ -279,28 +279,28 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing CustomRanges - "customRanges": [ # The list of CustomRange - { # Message describing CustomRange object + { # Response message for the CloudNumberRegistry.ListCustomRanges method. + "customRanges": [ # The list of CustomRanges. + { # A CustomRange represents a user-defined IP address range. "attributes": [ # Optional. The attributes of the CustomRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "description": "A String", # Optional. Description of the CustomRange. + "description": "A String", # Optional. The description of the CustomRange. "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range} - "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm} - "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. + "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. + "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. + "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. + "nextPageToken": "A String", # A token to retrieve the next page of results, or empty if there are no more results in the list. "unreachable": [ # Locations that could not be reached. "A String", ], @@ -326,27 +326,27 @@

Method Details

Updates the parameters of a single CustomRange.
 
 Args:
-  name: string, Required. Identifier. name of resource (required)
+  name: string, Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing CustomRange object
+{ # A CustomRange represents a user-defined IP address range.
   "attributes": [ # Optional. The attributes of the CustomRange.
-    { # Message describing Attribute object
-      "key": "A String", # Required. Key of attribute
-      "value": "A String", # Required. Value of attribute
+    { # A key-value pair representing a custom attribute associated with a resource.
+      "key": "A String", # Required. The key of the attribute.
+      "value": "A String", # Required. The value of the attribute.
     },
   ],
-  "description": "A String", # Optional. Description of the CustomRange.
+  "description": "A String", # Optional. The description of the CustomRange.
   "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange.
   "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange.
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
-  "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range}
-  "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm}
-  "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified.
+  "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.
+  "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange.
+  "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange.
+  "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified.
 }
 
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
@@ -385,7 +385,7 @@ 

Method Details

Gets the details of a single CustomRange and its utilization.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the CustomRange. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -394,29 +394,29 @@ 

Method Details

Returns: An object of the form: - { # Message for the response to getting the utilization of a CustomRange - "customRange": { # Message describing CustomRange object # The CustomRange resource. + { # Response message for the CloudNumberRegistry.ShowCustomRangeUtilization method. + "customRange": { # A CustomRange represents a user-defined IP address range. # The CustomRange resource. "attributes": [ # Optional. The attributes of the CustomRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "description": "A String", # Optional. Description of the CustomRange. + "description": "A String", # Optional. The description of the CustomRange. "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range} - "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm} - "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. + "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. + "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. + "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. }, - "rangeUtilization": { # Message for the utilization of an IP range # The utilization of the CustomRange. - "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the range. - "totalProduced": "A String", # Output only. The total number of IP addresses produced in the range. - "usage": 3.14, # Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. + "rangeUtilization": { # Utilization metrics for an IP Range, including consumed and produced address counts. # The utilization details of the CustomRange. + "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the Range. + "totalProduced": "A String", # Output only. The total number of IP addresses produced in the Range. + "usage": 3.14, # Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. }, }
diff --git a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.discoveredRanges.html b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.discoveredRanges.html index 785a088ca8..d642e11a27 100644 --- a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.discoveredRanges.html +++ b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.discoveredRanges.html @@ -103,7 +103,7 @@

Method Details

Finds free IP ranges in a single DiscoveredRange.
 
 Args:
-  name: string, Required. Name of the DiscoveredRange. (required)
+  name: string, Required. The resource name of the DiscoveredRange to search within. (required)
   cidrPrefixLength: integer, Required. The prefix length of the free IP ranges to find.
   rangeCount: integer, Optional. The number of free IP ranges to find.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
@@ -115,8 +115,8 @@ 

Method Details

Returns: An object of the form: - { # Message for the response to finding free IP ranges. - "freeIpCidrRanges": [ # Output only. Free IP CIDR ranges found in the DiscoveredRange. + { # Response message for the CloudNumberRegistry.FindDiscoveredRangeFreeIpRanges method. + "freeIpCidrRanges": [ # Output only. The free IP CIDR ranges found. "A String", ], }
@@ -127,7 +127,7 @@

Method Details

Gets details of a single DiscoveredRange.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the DiscoveredRange to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -136,36 +136,36 @@ 

Method Details

Returns: An object of the form: - { # Message describing DiscoveredRange object + { # A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. "attributes": [ # Optional. The attributes of the DiscoveredRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "childCidrOverlapAllowed": True or False, # Output only. If true, allow child ranges of this range to overlap with each other. - "createTime": "A String", # Output only. [Output only] Create time stamp + "childCidrOverlapAllowed": True or False, # Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. + "createTime": "A String", # Output only. The time at which the DiscoveredRange was created. "description": "A String", # Optional. Description of the DiscoveredRange. - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the DiscoveredRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the DiscoveredRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. Name of the DiscoveredRange. - "parentRange": "A String", # Optional. The parent range of the DiscoveredRange. - "realm": "A String", # Optional. The realm of the DiscoveredRange. - "registryBook": "A String", # Output only. The registry book of the DiscoveredRange. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "parentRange": "A String", # Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "realm": "A String", # Optional. The Realm of the DiscoveredRange. + "registryBook": "A String", # Output only. The RegistryBook of the DiscoveredRange. + "updateTime": "A String", # Output only. The time at which the DiscoveredRange was last updated. }
@@ -174,8 +174,8 @@

Method Details

Lists DiscoveredRanges in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListDiscoveredRangesRequest (required)
-  filter: string, Optional. Filtering results.
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  filter: string, Optional. Filter expression to filter the results.
   orderBy: string, Optional. Hint for how to order the results.
   pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return.
@@ -187,41 +187,41 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing DiscoveredRanges - "discoveredRanges": [ # The list of DiscoveredRange - { # Message describing DiscoveredRange object + { # Response message for the CloudNumberRegistry.ListDiscoveredRanges method. + "discoveredRanges": [ # The list of DiscoveredRanges. + { # A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. "attributes": [ # Optional. The attributes of the DiscoveredRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "childCidrOverlapAllowed": True or False, # Output only. If true, allow child ranges of this range to overlap with each other. - "createTime": "A String", # Output only. [Output only] Create time stamp + "childCidrOverlapAllowed": True or False, # Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. + "createTime": "A String", # Output only. The time at which the DiscoveredRange was created. "description": "A String", # Optional. Description of the DiscoveredRange. - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the DiscoveredRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the DiscoveredRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. Name of the DiscoveredRange. - "parentRange": "A String", # Optional. The parent range of the DiscoveredRange. - "realm": "A String", # Optional. The realm of the DiscoveredRange. - "registryBook": "A String", # Output only. The registry book of the DiscoveredRange. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "parentRange": "A String", # Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "realm": "A String", # Optional. The Realm of the DiscoveredRange. + "registryBook": "A String", # Output only. The RegistryBook of the DiscoveredRange. + "updateTime": "A String", # Output only. The time at which the DiscoveredRange was last updated. }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. + "nextPageToken": "A String", # A token to retrieve the next page of results, or empty if there are no more results in the list. "unreachable": [ # Locations that could not be reached. "A String", ], @@ -247,7 +247,7 @@

Method Details

Gets the details of a single DiscoveredRange and its utilization.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the DiscoveredRange. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -256,42 +256,42 @@ 

Method Details

Returns: An object of the form: - { # Message for the response to getting the utilization of a DiscoveredRange - "discoveredRange": { # Message describing DiscoveredRange object # The DiscoveredRange resource. + { # Response message for the CloudNumberRegistry.ShowDiscoveredRangeUtilization method. + "discoveredRange": { # A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. # The DiscoveredRange resource. "attributes": [ # Optional. The attributes of the DiscoveredRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "childCidrOverlapAllowed": True or False, # Output only. If true, allow child ranges of this range to overlap with each other. - "createTime": "A String", # Output only. [Output only] Create time stamp + "childCidrOverlapAllowed": True or False, # Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. + "createTime": "A String", # Output only. The time at which the DiscoveredRange was created. "description": "A String", # Optional. Description of the DiscoveredRange. - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the DiscoveredRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the DiscoveredRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. Name of the DiscoveredRange. - "parentRange": "A String", # Optional. The parent range of the DiscoveredRange. - "realm": "A String", # Optional. The realm of the DiscoveredRange. - "registryBook": "A String", # Output only. The registry book of the DiscoveredRange. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "parentRange": "A String", # Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "realm": "A String", # Optional. The Realm of the DiscoveredRange. + "registryBook": "A String", # Output only. The RegistryBook of the DiscoveredRange. + "updateTime": "A String", # Output only. The time at which the DiscoveredRange was last updated. }, - "rangeUtilization": { # Message for the utilization of an IP range # The utilization of the DiscoveredRange. - "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the range. - "totalProduced": "A String", # Output only. The total number of IP addresses produced in the range. - "usage": 3.14, # Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. + "rangeUtilization": { # Utilization metrics for an IP Range, including consumed and produced address counts. # The utilization details of the DiscoveredRange. + "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the Range. + "totalProduced": "A String", # Output only. The total number of IP addresses produced in the Range. + "usage": 3.14, # Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. }, }
diff --git a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.ipamAdminScopes.html b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.ipamAdminScopes.html index 299566dd84..2eb718ae5f 100644 --- a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.ipamAdminScopes.html +++ b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.ipamAdminScopes.html @@ -76,7 +76,7 @@

Cloud Number Registry API . <

Instance Methods

checkAvailability(parent, scopes=None, x__xgafv=None)

-

Checks the availability of IPAM admin scopes in a given project and location.

+

Checks the availability of IpamAdminScopes in a given project and location.

cleanup(name, body=None, x__xgafv=None)

Cleans up a single IpamAdminScope.

@@ -97,7 +97,7 @@

Instance Methods

Gets details of a single IpamAdminScope.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

List all IPAM admin scopes in a given project and location.

+

Lists IpamAdminScopes in a given project and location.

list_next()

Retrieves the next page of results.

@@ -107,11 +107,11 @@

Instance Methods

Method Details

checkAvailability(parent, scopes=None, x__xgafv=None) -
Checks the availability of IPAM admin scopes in a given project and location.
+  
Checks the availability of IpamAdminScopes in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for the IpamAdminScopes. (required)
-  scopes: string, Required. The scopes of the IpamAdminScopes to look for. (repeated)
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  scopes: string, Required. The administrative scopes to check for availability. (repeated)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -120,9 +120,9 @@ 

Method Details

Returns: An object of the form: - { # Message for response to checking the availability of IpamAdminScopes + { # Response message for the CloudNumberRegistry.CheckAvailabilityIpamAdminScopes method. "scopeAvailabilities": [ # The details of the requested scopes. - { # Message for the availability of an IpamAdminScope + { # Availability details for a specific IpamAdminScope. "adminProject": "A String", # The admin project of the IpamAdminScope if it exists. "availability": "A String", # The availability of the scope. "scope": "A String", # The scope of the IpamAdminScope. @@ -136,11 +136,11 @@

Method Details

Cleans up a single IpamAdminScope.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the IpamAdminScope to clean up. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for cleaning up a IpamAdminScope
+{ # Request message for the CloudNumberRegistry.CleanupIpamAdminScope method.
   "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
 }
 
@@ -183,27 +183,27 @@ 

Method Details

Creates a new IpamAdminScope in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource name where the IpamAdminScope will be created. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing IpamAdminScope object
-  "createTime": "A String", # Output only. [Output only] Create time stamp
-  "enabledAddonPlatforms": [ # Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.
+{ # An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking.
+  "createTime": "A String", # Output only. The time at which the IpamAdminScope was created.
+  "enabledAddonPlatforms": [ # Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.
     "A String",
   ],
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
+  "name": "A String", # Required. Identifier. The resource name of the IpamAdminScope.
   "scopes": [ # Required. Administrative scopes enabled for IP address discovery and management. For example, "organizations/1234567890". Minimum of 1 scope is required. In preview, only one organization scope is allowed.
     "A String",
   ],
   "state": "A String", # Output only. State of resource discovery pipeline.
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "updateTime": "A String", # Output only. The time at which the IpamAdminScope was last updated.
 }
 
-  ipamAdminScopeId: string, Required. Id of the requesting object.
+  ipamAdminScopeId: string, Required. The ID to use for the IpamAdminScope, which will become the final segment of the resource name.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
@@ -239,7 +239,7 @@ 

Method Details

Deletes a single IpamAdminScope.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the IpamAdminScope to delete. (required)
   force: boolean, Optional. If set to true, all associated resources will be deleted.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
@@ -276,11 +276,11 @@ 

Method Details

Disables a single IpamAdminScope.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the IpamAdminScope to disable. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for disabling a IpamAdminScope
+{ # Request message for the CloudNumberRegistry.DisableIpamAdminScope method.
   "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
 }
 
@@ -318,7 +318,7 @@ 

Method Details

Gets details of a single IpamAdminScope.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the IpamAdminScope to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -327,31 +327,31 @@ 

Method Details

Returns: An object of the form: - { # Message describing IpamAdminScope object - "createTime": "A String", # Output only. [Output only] Create time stamp - "enabledAddonPlatforms": [ # Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. + { # An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking. + "createTime": "A String", # Output only. The time at which the IpamAdminScope was created. + "enabledAddonPlatforms": [ # Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. "A String", ], - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource + "name": "A String", # Required. Identifier. The resource name of the IpamAdminScope. "scopes": [ # Required. Administrative scopes enabled for IP address discovery and management. For example, "organizations/1234567890". Minimum of 1 scope is required. In preview, only one organization scope is allowed. "A String", ], "state": "A String", # Output only. State of resource discovery pipeline. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "updateTime": "A String", # Output only. The time at which the IpamAdminScope was last updated. }
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
List all IPAM admin scopes in a given project and location.
+  
Lists IpamAdminScopes in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListIpamAdminScopesRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Optional. Hint for how to order the results
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  filter: string, Optional. Filter expression to filter the results.
+  orderBy: string, Optional. Hint for how to order the results.
   pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return.
   x__xgafv: string, V1 error format.
@@ -362,25 +362,25 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing ipamAdminScopes - "ipamAdminScopes": [ # The list of IpamAdminScope - { # Message describing IpamAdminScope object - "createTime": "A String", # Output only. [Output only] Create time stamp - "enabledAddonPlatforms": [ # Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. + { # Response message for the CloudNumberRegistry.ListIpamAdminScopes method. + "ipamAdminScopes": [ # The list of IpamAdminScopes. + { # An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking. + "createTime": "A String", # Output only. The time at which the IpamAdminScope was created. + "enabledAddonPlatforms": [ # Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. "A String", ], - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource + "name": "A String", # Required. Identifier. The resource name of the IpamAdminScope. "scopes": [ # Required. Administrative scopes enabled for IP address discovery and management. For example, "organizations/1234567890". Minimum of 1 scope is required. In preview, only one organization scope is allowed. "A String", ], "state": "A String", # Output only. State of resource discovery pipeline. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "updateTime": "A String", # Output only. The time at which the IpamAdminScope was last updated. }, ], - "nextPageToken": "A String", # A token identifying a page of results the server should return. + "nextPageToken": "A String", # A token to retrieve the next page of results, or empty if there are no more results in the list. "unreachable": [ # Locations that could not be reached. "A String", ], @@ -406,24 +406,24 @@

Method Details

Updates the parameters of a single IpamAdminScope.
 
 Args:
-  name: string, Required. Identifier. name of resource (required)
+  name: string, Required. Identifier. The resource name of the IpamAdminScope. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing IpamAdminScope object
-  "createTime": "A String", # Output only. [Output only] Create time stamp
-  "enabledAddonPlatforms": [ # Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.
+{ # An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking.
+  "createTime": "A String", # Output only. The time at which the IpamAdminScope was created.
+  "enabledAddonPlatforms": [ # Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.
     "A String",
   ],
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
+  "name": "A String", # Required. Identifier. The resource name of the IpamAdminScope.
   "scopes": [ # Required. Administrative scopes enabled for IP address discovery and management. For example, "organizations/1234567890". Minimum of 1 scope is required. In preview, only one organization scope is allowed.
     "A String",
   ],
   "state": "A String", # Output only. State of resource discovery pipeline.
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "updateTime": "A String", # Output only. The time at which the IpamAdminScope was last updated.
 }
 
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
diff --git a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.realms.html b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.realms.html
index 3dee6d520f..b1f2917c41 100644
--- a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.realms.html
+++ b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.realms.html
@@ -106,38 +106,38 @@ 

Method Details

Creates a new Realm in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource name where the Realm will be created. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Realm object
+{ # A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap.
   "aggregatedData": { # Aggregated data for the Realm. # Output only. Aggregated data for the Realm. Populated only when the view is AGGREGATE.
-    "customRangesCount": 42, # Output only. Number of custom ranges in the Realm.
-    "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the Realm.
+    "customRangesCount": 42, # Output only. Number of CustomRanges in the Realm.
+    "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the Realm.
   },
-  "createTime": "A String", # Output only. [Output only] Create time stamp
-  "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Discovery metadata of the realm.
+  "createTime": "A String", # Output only. The time at which the Realm was created.
+  "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Discovery metadata of the Realm.
     "createTime": "A String", # Output only. The time when the resource was created.
     "eventTime": "A String", # Output only. The time when the event happened.
     "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}".
     "resourceUri": "A String", # Output only. The resource uri of the discovered resource.
     "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource.
-    "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6".
+    "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6".
     "state": "A String", # Output only. The state of the resource.
     "updateTime": "A String", # Output only. The time when the resource was last modified.
   },
-  "ipVersion": "A String", # Optional. IP version of the realm.
-  "labels": { # Optional. Labels as key value pairs
+  "ipVersion": "A String", # Optional. IP version of the Realm.
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "managementType": "A String", # Required. Management type of realm.
-  "name": "A String", # Required. Identifier. Unique name/ID of the realm
-  "registryBook": "A String", # Required. URI of the registry book that claims the realm.
-  "trafficType": "A String", # Required. Traffic type of realm.
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "managementType": "A String", # Required. Management type of the Realm.
+  "name": "A String", # Required. Identifier. The resource name of the Realm.
+  "registryBook": "A String", # Required. Name of the RegistryBook that claims the Realm.
+  "trafficType": "A String", # Required. Traffic type of the Realm.
+  "updateTime": "A String", # Output only. The time at which the Realm was last updated.
 }
 
-  realmId: string, Required. Id of the requesting object.
+  realmId: string, Required. The ID to use for the Realm, which will become the final segment of the resource name.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -173,7 +173,7 @@ 

Method Details

Deletes a single Realm.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the Realm to delete. (required)
   force: boolean, Optional. If set to true, all associated resources will be deleted.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.
   x__xgafv: string, V1 error format.
@@ -210,8 +210,8 @@ 

Method Details

Gets details of a single Realm.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  view: string, Optional. The view of the Realm.
+  name: string, Required. The resource name of the Realm to retrieve. (required)
+  view: string, Optional. The view of the Realm to retrieve.
     Allowed values
       REALM_VIEW_UNSPECIFIED - Unspecified view. Defaults to BASIC.
       BASIC - Basic view.
@@ -225,31 +225,31 @@ 

Method Details

Returns: An object of the form: - { # Message describing Realm object + { # A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap. "aggregatedData": { # Aggregated data for the Realm. # Output only. Aggregated data for the Realm. Populated only when the view is AGGREGATE. - "customRangesCount": 42, # Output only. Number of custom ranges in the Realm. - "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the Realm. + "customRangesCount": 42, # Output only. Number of CustomRanges in the Realm. + "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the Realm. }, - "createTime": "A String", # Output only. [Output only] Create time stamp - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Discovery metadata of the realm. + "createTime": "A String", # Output only. The time at which the Realm was created. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Discovery metadata of the Realm. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, - "ipVersion": "A String", # Optional. IP version of the realm. - "labels": { # Optional. Labels as key value pairs + "ipVersion": "A String", # Optional. IP version of the Realm. + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "managementType": "A String", # Required. Management type of realm. - "name": "A String", # Required. Identifier. Unique name/ID of the realm - "registryBook": "A String", # Required. URI of the registry book that claims the realm. - "trafficType": "A String", # Required. Traffic type of realm. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "managementType": "A String", # Required. Management type of the Realm. + "name": "A String", # Required. Identifier. The resource name of the Realm. + "registryBook": "A String", # Required. Name of the RegistryBook that claims the Realm. + "trafficType": "A String", # Required. Traffic type of the Realm. + "updateTime": "A String", # Output only. The time at which the Realm was last updated. }
@@ -258,12 +258,12 @@

Method Details

Lists Realms in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListRealmsRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Optional. Hint for how to order the results
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  filter: string, Optional. Filter expression to filter the results.
+  orderBy: string, Optional. Hint for how to order the results.
   pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return.
-  view: string, Optional. The view of the Realm.
+  view: string, Optional. The view of the Realm to retrieve.
     Allowed values
       REALM_VIEW_UNSPECIFIED - Unspecified view. Defaults to BASIC.
       BASIC - Basic view.
@@ -277,34 +277,34 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing Realms + { # Response message for the CloudNumberRegistry.ListRealms method. "nextPageToken": "A String", # A token identifying a page of results the server should return. - "realms": [ # The list of Realm - { # Message describing Realm object + "realms": [ # The list of Realms. + { # A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap. "aggregatedData": { # Aggregated data for the Realm. # Output only. Aggregated data for the Realm. Populated only when the view is AGGREGATE. - "customRangesCount": 42, # Output only. Number of custom ranges in the Realm. - "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the Realm. + "customRangesCount": 42, # Output only. Number of CustomRanges in the Realm. + "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the Realm. }, - "createTime": "A String", # Output only. [Output only] Create time stamp - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Discovery metadata of the realm. + "createTime": "A String", # Output only. The time at which the Realm was created. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Discovery metadata of the Realm. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, - "ipVersion": "A String", # Optional. IP version of the realm. - "labels": { # Optional. Labels as key value pairs + "ipVersion": "A String", # Optional. IP version of the Realm. + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "managementType": "A String", # Required. Management type of realm. - "name": "A String", # Required. Identifier. Unique name/ID of the realm - "registryBook": "A String", # Required. URI of the registry book that claims the realm. - "trafficType": "A String", # Required. Traffic type of realm. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "managementType": "A String", # Required. Management type of the Realm. + "name": "A String", # Required. Identifier. The resource name of the Realm. + "registryBook": "A String", # Required. Name of the RegistryBook that claims the Realm. + "trafficType": "A String", # Required. Traffic type of the Realm. + "updateTime": "A String", # Output only. The time at which the Realm was last updated. }, ], "unreachable": [ # Locations that could not be reached. @@ -332,35 +332,35 @@

Method Details

Updates the parameters of a single Realm.
 
 Args:
-  name: string, Required. Identifier. Unique name/ID of the realm (required)
+  name: string, Required. Identifier. The resource name of the Realm. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing Realm object
+{ # A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap.
   "aggregatedData": { # Aggregated data for the Realm. # Output only. Aggregated data for the Realm. Populated only when the view is AGGREGATE.
-    "customRangesCount": 42, # Output only. Number of custom ranges in the Realm.
-    "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the Realm.
+    "customRangesCount": 42, # Output only. Number of CustomRanges in the Realm.
+    "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the Realm.
   },
-  "createTime": "A String", # Output only. [Output only] Create time stamp
-  "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Discovery metadata of the realm.
+  "createTime": "A String", # Output only. The time at which the Realm was created.
+  "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Discovery metadata of the Realm.
     "createTime": "A String", # Output only. The time when the resource was created.
     "eventTime": "A String", # Output only. The time when the event happened.
     "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}".
     "resourceUri": "A String", # Output only. The resource uri of the discovered resource.
     "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource.
-    "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6".
+    "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6".
     "state": "A String", # Output only. The state of the resource.
     "updateTime": "A String", # Output only. The time when the resource was last modified.
   },
-  "ipVersion": "A String", # Optional. IP version of the realm.
-  "labels": { # Optional. Labels as key value pairs
+  "ipVersion": "A String", # Optional. IP version of the Realm.
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "managementType": "A String", # Required. Management type of realm.
-  "name": "A String", # Required. Identifier. Unique name/ID of the realm
-  "registryBook": "A String", # Required. URI of the registry book that claims the realm.
-  "trafficType": "A String", # Required. Traffic type of realm.
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "managementType": "A String", # Required. Management type of the Realm.
+  "name": "A String", # Required. Identifier. The resource name of the Realm.
+  "registryBook": "A String", # Required. Name of the RegistryBook that claims the Realm.
+  "trafficType": "A String", # Required. Traffic type of the Realm.
+  "updateTime": "A String", # Output only. The time at which the Realm was last updated.
 }
 
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.
diff --git a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.registryBooks.html b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.registryBooks.html
index 0148b99ebd..6df505d02c 100644
--- a/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.registryBooks.html
+++ b/docs/dyn/cloudnumberregistry_v1alpha.projects.locations.registryBooks.html
@@ -112,31 +112,31 @@ 

Method Details

Creates a new RegistryBook in a given project and location.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The parent resource name where the RegistryBook will be created. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing RegistryBook object
+{ # A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges.
   "aggregatedData": { # Aggregated data for the RegistryBook. # Output only. Aggregated data for the RegistryBook. Populated only when the view is AGGREGATE.
-    "customRangesCount": 42, # Output only. Number of custom ranges in the RegistryBook.
-    "customRealmsCount": 42, # Output only. Number of custom realms in the RegistryBook.
-    "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the RegistryBook.
-    "discoveredRealmsCount": 42, # Output only. Number of discovered realms in the RegistryBook.
+    "customRangesCount": 42, # Output only. Number of CustomRanges in the RegistryBook.
+    "customRealmsCount": 42, # Output only. Number of custom Realms in the RegistryBook.
+    "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the RegistryBook.
+    "discoveredRealmsCount": 42, # Output only. Number of discovered Realms in the RegistryBook.
     "uniqueScopesCount": 42, # Output only. Number of scopes unique to the RegistryBook.
   },
   "claimedScopes": [ # Optional. List of scopes claimed by the RegistryBook. In Preview, Only project scope is supported. Each scope is in the format of projects/{project}. Each scope can only be claimed once.
     "A String",
   ],
-  "createTime": "A String", # Output only. [Output only] Create time stamp
+  "createTime": "A String", # Output only. The time at which the RegistryBook was created.
   "isDefault": True or False, # Output only. Whether the RegistryBook is the default one.
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "name": "A String", # Required. Identifier. The resource name of the RegistryBook.
+  "updateTime": "A String", # Output only. The time at which the RegistryBook was last updated.
 }
 
-  registryBookId: string, Required. Id of the requesting object.
+  registryBookId: string, Required. The ID to use for the RegistryBook, which will become the final segment of the resource name.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
@@ -172,7 +172,7 @@ 

Method Details

Deletes a single RegistryBook.
 
 Args:
-  name: string, Required. Name of the resource (required)
+  name: string, Required. The resource name of the RegistryBook to delete. (required)
   force: boolean, Optional. If set to true, all associated resources will be deleted.
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
@@ -209,8 +209,8 @@ 

Method Details

Gets details of a single RegistryBook.
 
 Args:
-  name: string, Required. Name of the resource (required)
-  view: string, Optional. The view of the RegistryBook.
+  name: string, Required. The resource name of the RegistryBook to retrieve. (required)
+  view: string, Optional. The view of the RegistryBook to retrieve.
     Allowed values
       REGISTRY_BOOK_VIEW_UNSPECIFIED - Unspecified view. Defaults to BASIC.
       BASIC - Basic view.
@@ -224,24 +224,24 @@ 

Method Details

Returns: An object of the form: - { # Message describing RegistryBook object + { # A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges. "aggregatedData": { # Aggregated data for the RegistryBook. # Output only. Aggregated data for the RegistryBook. Populated only when the view is AGGREGATE. - "customRangesCount": 42, # Output only. Number of custom ranges in the RegistryBook. - "customRealmsCount": 42, # Output only. Number of custom realms in the RegistryBook. - "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the RegistryBook. - "discoveredRealmsCount": 42, # Output only. Number of discovered realms in the RegistryBook. + "customRangesCount": 42, # Output only. Number of CustomRanges in the RegistryBook. + "customRealmsCount": 42, # Output only. Number of custom Realms in the RegistryBook. + "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the RegistryBook. + "discoveredRealmsCount": 42, # Output only. Number of discovered Realms in the RegistryBook. "uniqueScopesCount": 42, # Output only. Number of scopes unique to the RegistryBook. }, "claimedScopes": [ # Optional. List of scopes claimed by the RegistryBook. In Preview, Only project scope is supported. Each scope is in the format of projects/{project}. Each scope can only be claimed once. "A String", ], - "createTime": "A String", # Output only. [Output only] Create time stamp + "createTime": "A String", # Output only. The time at which the RegistryBook was created. "isDefault": True or False, # Output only. Whether the RegistryBook is the default one. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the RegistryBook. + "updateTime": "A String", # Output only. The time at which the RegistryBook was last updated. }
@@ -250,12 +250,12 @@

Method Details

Lists RegistryBooks in a given project and location.
 
 Args:
-  parent: string, Required. Parent value for ListRegistryBooksRequest (required)
-  filter: string, Optional. Filtering results
-  orderBy: string, Optional. Hint for how to order the results
+  parent: string, Required. The parent resource name, for example `projects/*/locations/*`. (required)
+  filter: string, Optional. Filter expression to filter the results.
+  orderBy: string, Optional. Hint for how to order the results.
   pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   pageToken: string, Optional. A token identifying a page of results the server should return.
-  view: string, Optional. The view of the RegistryBook.
+  view: string, Optional. The view of the RegistryBook to retrieve.
     Allowed values
       REGISTRY_BOOK_VIEW_UNSPECIFIED - Unspecified view. Defaults to BASIC.
       BASIC - Basic view.
@@ -269,27 +269,27 @@ 

Method Details

Returns: An object of the form: - { # Message for response to listing RegistryBooks + { # Response message for the CloudNumberRegistry.ListRegistryBooks method. "nextPageToken": "A String", # A token identifying a page of results the server should return. "registryBooks": [ # The list of RegistryBook - { # Message describing RegistryBook object + { # A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges. "aggregatedData": { # Aggregated data for the RegistryBook. # Output only. Aggregated data for the RegistryBook. Populated only when the view is AGGREGATE. - "customRangesCount": 42, # Output only. Number of custom ranges in the RegistryBook. - "customRealmsCount": 42, # Output only. Number of custom realms in the RegistryBook. - "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the RegistryBook. - "discoveredRealmsCount": 42, # Output only. Number of discovered realms in the RegistryBook. + "customRangesCount": 42, # Output only. Number of CustomRanges in the RegistryBook. + "customRealmsCount": 42, # Output only. Number of custom Realms in the RegistryBook. + "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the RegistryBook. + "discoveredRealmsCount": 42, # Output only. Number of discovered Realms in the RegistryBook. "uniqueScopesCount": 42, # Output only. Number of scopes unique to the RegistryBook. }, "claimedScopes": [ # Optional. List of scopes claimed by the RegistryBook. In Preview, Only project scope is supported. Each scope is in the format of projects/{project}. Each scope can only be claimed once. "A String", ], - "createTime": "A String", # Output only. [Output only] Create time stamp + "createTime": "A String", # Output only. The time at which the RegistryBook was created. "isDefault": True or False, # Output only. Whether the RegistryBook is the default one. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the RegistryBook. + "updateTime": "A String", # Output only. The time at which the RegistryBook was last updated. }, ], "unreachable": [ # Locations that could not be reached. @@ -317,28 +317,28 @@

Method Details

Updates the parameters of a single RegistryBook.
 
 Args:
-  name: string, Required. Identifier. name of resource (required)
+  name: string, Required. Identifier. The resource name of the RegistryBook. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message describing RegistryBook object
+{ # A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges.
   "aggregatedData": { # Aggregated data for the RegistryBook. # Output only. Aggregated data for the RegistryBook. Populated only when the view is AGGREGATE.
-    "customRangesCount": 42, # Output only. Number of custom ranges in the RegistryBook.
-    "customRealmsCount": 42, # Output only. Number of custom realms in the RegistryBook.
-    "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the RegistryBook.
-    "discoveredRealmsCount": 42, # Output only. Number of discovered realms in the RegistryBook.
+    "customRangesCount": 42, # Output only. Number of CustomRanges in the RegistryBook.
+    "customRealmsCount": 42, # Output only. Number of custom Realms in the RegistryBook.
+    "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the RegistryBook.
+    "discoveredRealmsCount": 42, # Output only. Number of discovered Realms in the RegistryBook.
     "uniqueScopesCount": 42, # Output only. Number of scopes unique to the RegistryBook.
   },
   "claimedScopes": [ # Optional. List of scopes claimed by the RegistryBook. In Preview, Only project scope is supported. Each scope is in the format of projects/{project}. Each scope can only be claimed once.
     "A String",
   ],
-  "createTime": "A String", # Output only. [Output only] Create time stamp
+  "createTime": "A String", # Output only. The time at which the RegistryBook was created.
   "isDefault": True or False, # Output only. Whether the RegistryBook is the default one.
-  "labels": { # Optional. Labels as key value pairs
+  "labels": { # Optional. User-defined labels.
     "a_key": "A String",
   },
-  "name": "A String", # Required. Identifier. name of resource
-  "updateTime": "A String", # Output only. [Output only] Update time stamp
+  "name": "A String", # Required. Identifier. The resource name of the RegistryBook.
+  "updateTime": "A String", # Output only. The time at which the RegistryBook was last updated.
 }
 
   requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
@@ -377,19 +377,19 @@ 

Method Details

Searches IP resources in a given RegistryBook.
 
 Args:
-  name: string, Required. The name of the RegistryBook to search in. (required)
+  name: string, Required. The resource name of the RegistryBook to search in. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Message for searching IP resources
-  "orderBy": "A String", # Optional. Hint for how to order the results
+{ # Request message for the CloudNumberRegistry.SearchIpResources method.
+  "orderBy": "A String", # Optional. Hint for how to order the results. Supported sort fields are: - `name`: Sort alphabetically by the resource name. - `create_time`: Sort by the creation timestamp of the resource. - `update_time`: Sort by the last update timestamp of the resource. Supported directions are `asc` (ascending) and `desc` (descending). If unspecified, direction defaults to `asc`. Only sorting by a single field is supported.
   "pageSize": 42, # Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
   "pageToken": "A String", # Optional. A token identifying a page of results the server should return.
-  "query": "A String", # Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for ranges are: - `realm`: The realm name to search in. - `ip_address`: The IP address to search for within ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent range of the range to search for. - `attribute_text`: The attribute text to search for within ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for realms are: - `ip_version`: The IP version to search for. Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range`
-  "searchResourceTypes": [ # Optional. The type of resources to search for. If not specified, the server will return ranges.
+  "query": "A String", # Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., "CNR", "USER"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR`
+  "searchResourceTypes": [ # Optional. The type of resources to search for. If not specified, the server will return Ranges.
     "A String",
   ],
-  "showUtilization": True or False, # Optional. Whether to show the utilization of the ranges in the response.
+  "showUtilization": True or False, # Optional. Whether to show the utilization of the Ranges in the response.
 }
 
   x__xgafv: string, V1 error format.
@@ -400,149 +400,149 @@ 

Method Details

Returns: An object of the form: - { # Message for response to searching IP resources + { # Response message for the CloudNumberRegistry.SearchIpResources method. "nextPageToken": "A String", # A token identifying a page of results the server should return. - "ranges": [ # Deprecated: Use results field instead. The list of ranges matching the search query. - { # Message describing either a CustomRange or a DiscoveredRange. - "customRange": { # Message describing CustomRange object # A custom range. + "ranges": [ # Deprecated: Use results field instead. The list of Ranges matching the search query. + { # Represents either a CustomRange or a DiscoveredRange. + "customRange": { # A CustomRange represents a user-defined IP address range. # A CustomRange. "attributes": [ # Optional. The attributes of the CustomRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "description": "A String", # Optional. Description of the CustomRange. + "description": "A String", # Optional. The description of the CustomRange. "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range} - "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm} - "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. + "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. + "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. + "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. }, - "discoveredRange": { # Message describing DiscoveredRange object # A discovered range. + "discoveredRange": { # A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. # A DiscoveredRange. "attributes": [ # Optional. The attributes of the DiscoveredRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "childCidrOverlapAllowed": True or False, # Output only. If true, allow child ranges of this range to overlap with each other. - "createTime": "A String", # Output only. [Output only] Create time stamp + "childCidrOverlapAllowed": True or False, # Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. + "createTime": "A String", # Output only. The time at which the DiscoveredRange was created. "description": "A String", # Optional. Description of the DiscoveredRange. - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the DiscoveredRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the DiscoveredRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. Name of the DiscoveredRange. - "parentRange": "A String", # Optional. The parent range of the DiscoveredRange. - "realm": "A String", # Optional. The realm of the DiscoveredRange. - "registryBook": "A String", # Output only. The registry book of the DiscoveredRange. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "parentRange": "A String", # Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "realm": "A String", # Optional. The Realm of the DiscoveredRange. + "registryBook": "A String", # Output only. The RegistryBook of the DiscoveredRange. + "updateTime": "A String", # Output only. The time at which the DiscoveredRange was last updated. }, - "utilization": { # Message for the utilization of an IP range # The utilization of the range. - "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the range. - "totalProduced": "A String", # Output only. The total number of IP addresses produced in the range. - "usage": 3.14, # Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. + "utilization": { # Utilization metrics for an IP Range, including consumed and produced address counts. # The utilization of the Range. + "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the Range. + "totalProduced": "A String", # Output only. The total number of IP addresses produced in the Range. + "usage": 3.14, # Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. }, }, ], "results": [ # The list of results matching the search query. - { # A result matching the search query, which can be either a range or a realm. - "range": { # Message describing either a CustomRange or a DiscoveredRange. # A range matching the search query. - "customRange": { # Message describing CustomRange object # A custom range. + { # A result matching the search query, which can be either a Range or a Realm. + "range": { # Represents either a CustomRange or a DiscoveredRange. # A Range matching the search query. + "customRange": { # A CustomRange represents a user-defined IP address range. # A CustomRange. "attributes": [ # Optional. The attributes of the CustomRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "description": "A String", # Optional. Description of the CustomRange. + "description": "A String", # Optional. The description of the CustomRange. "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the CustomRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the CustomRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. name of resource - "parentRange": "A String", # Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range} - "realm": "A String", # Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm} - "registryBook": "A String", # Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + "name": "A String", # Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. + "parentRange": "A String", # Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. + "realm": "A String", # Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. + "registryBook": "A String", # Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. }, - "discoveredRange": { # Message describing DiscoveredRange object # A discovered range. + "discoveredRange": { # A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. # A DiscoveredRange. "attributes": [ # Optional. The attributes of the DiscoveredRange. - { # Message describing Attribute object - "key": "A String", # Required. Key of attribute - "value": "A String", # Required. Value of attribute + { # A key-value pair representing a custom attribute associated with a resource. + "key": "A String", # Required. The key of the attribute. + "value": "A String", # Required. The value of the attribute. }, ], - "childCidrOverlapAllowed": True or False, # Output only. If true, allow child ranges of this range to overlap with each other. - "createTime": "A String", # Output only. [Output only] Create time stamp + "childCidrOverlapAllowed": True or False, # Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. + "createTime": "A String", # Output only. The time at which the DiscoveredRange was created. "description": "A String", # Optional. Description of the DiscoveredRange. - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Owner metadata for this DiscoveredRange. A unique set of metadata is associated with each DiscoveredRange. If an IP range is shared by multiple resources (e.g., an Address resource and an Instance resource, or multiple ForwardingRules),separate DiscoveredRanges are created, each with a distinct owner. This ensures each DiscoveredRange has its own unique set of attributes, labels, create time and update time. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, "ipv4CidrRange": "A String", # Optional. The IPv4 CIDR range of the DiscoveredRange. "ipv6CidrRange": "A String", # Optional. The IPv6 CIDR range of the DiscoveredRange. - "labels": { # Optional. Labels as key value pairs + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "name": "A String", # Required. Identifier. Name of the DiscoveredRange. - "parentRange": "A String", # Optional. The parent range of the DiscoveredRange. - "realm": "A String", # Optional. The realm of the DiscoveredRange. - "registryBook": "A String", # Output only. The registry book of the DiscoveredRange. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "name": "A String", # Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "parentRange": "A String", # Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`. + "realm": "A String", # Optional. The Realm of the DiscoveredRange. + "registryBook": "A String", # Output only. The RegistryBook of the DiscoveredRange. + "updateTime": "A String", # Output only. The time at which the DiscoveredRange was last updated. }, - "utilization": { # Message for the utilization of an IP range # The utilization of the range. - "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the range. - "totalProduced": "A String", # Output only. The total number of IP addresses produced in the range. - "usage": 3.14, # Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. + "utilization": { # Utilization metrics for an IP Range, including consumed and produced address counts. # The utilization of the Range. + "totalConsumed": "A String", # Output only. The total number of IP addresses consumed in the Range. + "totalProduced": "A String", # Output only. The total number of IP addresses produced in the Range. + "usage": 3.14, # Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. }, }, - "realm": { # Message describing Realm object # A realm matching the search query. + "realm": { # A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap. # A Realm matching the search query. "aggregatedData": { # Aggregated data for the Realm. # Output only. Aggregated data for the Realm. Populated only when the view is AGGREGATE. - "customRangesCount": 42, # Output only. Number of custom ranges in the Realm. - "discoveredRangesCount": 42, # Output only. Number of discovered ranges in the Realm. + "customRangesCount": 42, # Output only. Number of CustomRanges in the Realm. + "discoveredRangesCount": 42, # Output only. Number of DiscoveredRanges in the Realm. }, - "createTime": "A String", # Output only. [Output only] Create time stamp - "discoveryMetadata": { # Discovery metadata of the discovered resource. # Output only. Discovery metadata of the realm. + "createTime": "A String", # Output only. The time at which the Realm was created. + "discoveryMetadata": { # Metadata about a discovered resource, tracking event times, state, and source information. # Output only. Discovery metadata of the Realm. "createTime": "A String", # Output only. The time when the resource was created. "eventTime": "A String", # Output only. The time when the event happened. "resource": "A String", # Output only. The resource name of the discovered resource, should be API-agnostic. Example: "projects/{project_number}/networks/{network_id}". "resourceUri": "A String", # Output only. The resource uri of the discovered resource. "sourceId": "A String", # Output only. The canonical google.aip.dev/122 name of the source resource. - "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + "sourceSubId": "A String", # Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". "state": "A String", # Output only. The state of the resource. "updateTime": "A String", # Output only. The time when the resource was last modified. }, - "ipVersion": "A String", # Optional. IP version of the realm. - "labels": { # Optional. Labels as key value pairs + "ipVersion": "A String", # Optional. IP version of the Realm. + "labels": { # Optional. User-defined labels. "a_key": "A String", }, - "managementType": "A String", # Required. Management type of realm. - "name": "A String", # Required. Identifier. Unique name/ID of the realm - "registryBook": "A String", # Required. URI of the registry book that claims the realm. - "trafficType": "A String", # Required. Traffic type of realm. - "updateTime": "A String", # Output only. [Output only] Update time stamp + "managementType": "A String", # Required. Management type of the Realm. + "name": "A String", # Required. Identifier. The resource name of the Realm. + "registryBook": "A String", # Required. Name of the RegistryBook that claims the Realm. + "trafficType": "A String", # Required. Traffic type of the Realm. + "updateTime": "A String", # Output only. The time at which the Realm was last updated. }, }, ], diff --git a/docs/dyn/cloudscheduler_v1.projects.locations.html b/docs/dyn/cloudscheduler_v1.projects.locations.html index f6368c086d..30c155f283 100644 --- a/docs/dyn/cloudscheduler_v1.projects.locations.html +++ b/docs/dyn/cloudscheduler_v1.projects.locations.html @@ -95,7 +95,7 @@

Instance Methods

Gets the Scheduler config in the project/region.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -157,11 +157,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html b/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html
index ecd10475ed..d83a33cf0f 100644
--- a/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html
+++ b/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html
@@ -128,7 +128,7 @@ 

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -138,7 +138,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -202,7 +202,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -212,7 +212,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -301,7 +301,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -311,7 +311,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -386,7 +386,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -396,7 +396,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -479,7 +479,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -489,7 +489,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -554,7 +554,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -564,7 +564,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -641,7 +641,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -651,7 +651,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -728,7 +728,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -738,7 +738,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -815,7 +815,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -825,7 +825,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. diff --git a/docs/dyn/cloudscheduler_v1beta1.projects.locations.html b/docs/dyn/cloudscheduler_v1beta1.projects.locations.html index 301adee1c8..50872ef5fd 100644 --- a/docs/dyn/cloudscheduler_v1beta1.projects.locations.html +++ b/docs/dyn/cloudscheduler_v1beta1.projects.locations.html @@ -92,7 +92,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
index 7472fb5423..03e0153e2c 100644
--- a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
+++ b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html
@@ -128,7 +128,7 @@ 

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -138,7 +138,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -203,7 +203,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -213,7 +213,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -304,7 +304,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -314,7 +314,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -392,7 +392,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -402,7 +402,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -486,7 +486,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -496,7 +496,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -562,7 +562,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -572,7 +572,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -650,7 +650,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -660,7 +660,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -738,7 +738,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -748,7 +748,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. @@ -827,7 +827,7 @@

Method Details

"version": "A String", # App version. By default, the job is sent to the version which is the default version when the job is attempted. }, "body": "A String", # Body. HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It will result in invalid argument error to set a body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. + "headers": { # HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `"AppEngine-Google; (+http://code.google.com/appengine)"`. This header can be modified, but Cloud Scheduler will append `"AppEngine-Google; (+http://code.google.com/appengine)"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler. "a_key": "A String", }, "httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. @@ -837,7 +837,7 @@

Method Details

"description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. - "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. + "headers": { # HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `"Google-Cloud-Scheduler"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `"application/octet-stream"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `"application/json"`. The total size of headers must be less than 80KB. "a_key": "A String", }, "httpMethod": "A String", # Which HTTP method to use for the request. diff --git a/docs/dyn/cloudsupport_v2.cases.attachments.html b/docs/dyn/cloudsupport_v2.cases.attachments.html index 3bfad47568..d73f6f2ec2 100644 --- a/docs/dyn/cloudsupport_v2.cases.attachments.html +++ b/docs/dyn/cloudsupport_v2.cases.attachments.html @@ -77,6 +77,9 @@

Instance Methods

close()

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

@@ -89,6 +92,35 @@

Method Details

Close httplib2 connections.
+
+ get(name, x__xgafv=None) +
Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```
+
+Args:
+  name: string, Required. The name of the attachment to get. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Attachment contains metadata about a file that was uploaded to a case - it is NOT a file itself. That being said, the name of an Attachment object can be used to download its accompanying file through the `media.download` endpoint. While attachments can be uploaded in the console at the same time as a comment, they're associated on a "case" level, not a "comment" level.
+  "createTime": "A String", # Output only. The time at which the attachment was created.
+  "creator": { # An Actor represents an entity that performed an action. For example, an actor could be a user who posted a comment on a support case, a user who uploaded an attachment, or a service account that created a support case. # Output only. The user who uploaded the attachment. Note, the name and email will be obfuscated if the attachment was uploaded by Google support.
+    "displayName": "A String", # The name to display for the actor. If not provided, it is inferred from credentials supplied during case creation. When an email is provided, a display name must also be provided. This will be obfuscated if the user is a Google Support agent.
+    "email": "A String", # The email address of the actor. If not provided, it is inferred from the credentials supplied during case creation. When a name is provided, an email must also be provided. If the user is a Google Support agent, this is obfuscated. This field is deprecated. Use `username` instead.
+    "googleSupport": True or False, # Output only. Whether the actor is a Google support actor.
+    "username": "A String", # Output only. The username of the actor. It may look like an email or other format provided by the identity provider. If not provided, it is inferred from the credentials supplied. When a name is provided, a username must also be provided. If the user is a Google Support agent, this will not be set.
+  },
+  "filename": "A String", # The filename of the attachment (e.g. `"graph.jpg"`).
+  "mimeType": "A String", # Output only. The MIME type of the attachment (e.g. text/plain).
+  "name": "A String", # Output only. Identifier. The resource name of the attachment.
+  "sizeBytes": "A String", # Output only. The size of the attachment in bytes.
+}
+
+
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
diff --git a/docs/dyn/cloudsupport_v2.cases.comments.html b/docs/dyn/cloudsupport_v2.cases.comments.html
index 5d5ff70b9d..776bf57deb 100644
--- a/docs/dyn/cloudsupport_v2.cases.comments.html
+++ b/docs/dyn/cloudsupport_v2.cases.comments.html
@@ -80,6 +80,9 @@ 

Instance Methods

create(parent, body=None, x__xgafv=None)

Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ```

+

+ get(name, x__xgafv=None)

+

Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

@@ -136,6 +139,34 @@

Method Details

}
+
+ get(name, x__xgafv=None) +
Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```
+
+Args:
+  name: string, Required. The name of the comment to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A comment associated with a support case. Case comments are the primary way for Google Support to communicate with a user who has opened a case. When a user responds to Google Support, the user's responses also appear as comments.
+  "body": "A String", # The full comment body. Maximum of 12800 characters.
+  "createTime": "A String", # Output only. The time when the comment was created.
+  "creator": { # An Actor represents an entity that performed an action. For example, an actor could be a user who posted a comment on a support case, a user who uploaded an attachment, or a service account that created a support case. # Output only. The user or Google Support agent who created the comment.
+    "displayName": "A String", # The name to display for the actor. If not provided, it is inferred from credentials supplied during case creation. When an email is provided, a display name must also be provided. This will be obfuscated if the user is a Google Support agent.
+    "email": "A String", # The email address of the actor. If not provided, it is inferred from the credentials supplied during case creation. When a name is provided, an email must also be provided. If the user is a Google Support agent, this is obfuscated. This field is deprecated. Use `username` instead.
+    "googleSupport": True or False, # Output only. Whether the actor is a Google support actor.
+    "username": "A String", # Output only. The username of the actor. It may look like an email or other format provided by the identity provider. If not provided, it is inferred from the credentials supplied. When a name is provided, a username must also be provided. If the user is a Google Support agent, this will not be set.
+  },
+  "name": "A String", # Output only. Identifier. The resource name of the comment.
+  "plainTextBody": "A String", # Output only. DEPRECATED. DO NOT USE. A duplicate of the `body` field. This field is only present for legacy reasons.
+}
+
+
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
diff --git a/docs/dyn/cloudsupport_v2.media.html b/docs/dyn/cloudsupport_v2.media.html
index 89b422bf83..67f7447c46 100644
--- a/docs/dyn/cloudsupport_v2.media.html
+++ b/docs/dyn/cloudsupport_v2.media.html
@@ -85,7 +85,7 @@ 

Instance Methods

Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```

upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

-

Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```

+

Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```

Method Details

close() @@ -346,6 +346,7 @@

Method Details

"referenceType": "A String", # # gdata.* are outside protos with mising documentation "sha1Hash": "A String", # # gdata.* are outside protos with mising documentation "sha256Hash": "A String", # # gdata.* are outside protos with mising documentation + "sha512Hash": "A String", # # gdata.* are outside protos with mising documentation "timestamp": "A String", # # gdata.* are outside protos with mising documentation "token": "A String", # # gdata.* are outside protos with mising documentation }
@@ -370,7 +371,7 @@

Method Details

upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None) -
Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```
+  
Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the case or Cloud resource to which the attachment should be attached. (required)
diff --git a/docs/dyn/cloudsupport_v2beta.caseClassifications.html b/docs/dyn/cloudsupport_v2beta.caseClassifications.html
index 94a83a4556..8d9cd46da5 100644
--- a/docs/dyn/cloudsupport_v2beta.caseClassifications.html
+++ b/docs/dyn/cloudsupport_v2beta.caseClassifications.html
@@ -79,7 +79,7 @@ 

Instance Methods

Close httplib2 connections.

search(pageSize=None, pageToken=None, product_productLine=None, query=None, x__xgafv=None)

-

Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `" > "`. For example, `"Technical Issue > Compute > Compute Engine"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:"*Compute%20Engine*"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version="v2", discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2", ) request = supportApiService.caseClassifications().search( query='display_name:"*Compute Engine*"' ) print(request.execute()) ```

+

Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `" > "`. For example, `"Technical Issue > Compute > Compute Engine"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://cloudsupport.googleapis.com/v2beta/caseClassifications:search?query=display_name:"*Compute%20Engine*"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version="v2beta", discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2", ) request = supportApiService.caseClassifications().search( query='display_name:"*Compute Engine*"' ) print(request.execute()) ```

search_next()

Retrieves the next page of results.

@@ -91,7 +91,7 @@

Method Details

search(pageSize=None, pageToken=None, product_productLine=None, query=None, x__xgafv=None) -
Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `" > "`. For example, `"Technical Issue > Compute > Compute Engine"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:"*Compute%20Engine*"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version="v2", discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2", ) request = supportApiService.caseClassifications().search( query='display_name:"*Compute Engine*"' ) print(request.execute()) ```
+  
Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `" > "`. For example, `"Technical Issue > Compute > Compute Engine"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://cloudsupport.googleapis.com/v2beta/caseClassifications:search?query=display_name:"*Compute%20Engine*"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version="v2beta", discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version=v2", ) request = supportApiService.caseClassifications().search( query='display_name:"*Compute Engine*"' ) print(request.execute()) ```
 
 Args:
   pageSize: integer, The maximum number of classifications fetched with each request.
diff --git a/docs/dyn/cloudsupport_v2beta.cases.attachments.html b/docs/dyn/cloudsupport_v2beta.cases.attachments.html
index 336e9f6b01..d7eb7ea96d 100644
--- a/docs/dyn/cloudsupport_v2beta.cases.attachments.html
+++ b/docs/dyn/cloudsupport_v2beta.cases.attachments.html
@@ -79,10 +79,10 @@ 

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```

+

Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

+

List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

list_next()

Retrieves the next page of results.

@@ -94,7 +94,7 @@

Method Details

get(name, x__xgafv=None) -
Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```
+  
Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment="projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$attachment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .get(name="projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB") ) print(request.execute()) ```
 
 Args:
   name: string, Required. The name of the attachment to get. (required)
@@ -123,7 +123,7 @@ 

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
+  
List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/23598314" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case/attachments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .attachments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the case for which attachments should be listed. (required)
diff --git a/docs/dyn/cloudsupport_v2beta.cases.comments.html b/docs/dyn/cloudsupport_v2beta.cases.comments.html
index 69eb6b78a0..71ee5135e6 100644
--- a/docs/dyn/cloudsupport_v2beta.cases.comments.html
+++ b/docs/dyn/cloudsupport_v2beta.cases.comments.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ```

+

Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2beta/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ```

get(name, x__xgafv=None)

-

Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```

+

Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

+

List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```

list_next()

Retrieves the next page of results.

@@ -97,7 +97,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ```
+  
Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43591344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "body": "This is a test comment." }' \ "https://cloudsupport.googleapis.com/v2beta/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .create( parent="projects/some-project/cases/43595344", body={"body": "This is a test comment."}, ) ) print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the case to which the comment should be added. (required)
@@ -141,7 +141,7 @@ 

Method Details

get(name, x__xgafv=None) -
Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```
+  
Retrieve a comment. EXAMPLES: cURL: ```shell comment="projects/some-project/cases/43595344/comments/234567890" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$comment" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().comments().get( name="projects/some-project/cases/43595344/comments/234567890", ) print(request.execute()) ```
 
 Args:
   name: string, Required. The name of the comment to retrieve. (required)
@@ -169,7 +169,7 @@ 

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
+  
List all the comments associated with a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case/comments" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = ( supportApiService.cases() .comments() .list(parent="projects/some-project/cases/43595344") ) print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the case for which to list comments. (required)
diff --git a/docs/dyn/cloudsupport_v2beta.cases.html b/docs/dyn/cloudsupport_v2beta.cases.html
index 5e0b02c8f7..842c33d41c 100644
--- a/docs/dyn/cloudsupport_v2beta.cases.html
+++ b/docs/dyn/cloudsupport_v2beta.cases.html
@@ -86,28 +86,28 @@ 

Instance Methods

close(name, body=None, x__xgafv=None)

-

Close a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case:close" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().close( name="projects/some-project/cases/43595344" ) print(request.execute()) ```

+

Close a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case:close" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().close( name="projects/some-project/cases/43595344" ) print(request.execute()) ```

create(parent, body=None, x__xgafv=None)

-

Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ```

+

Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ```

escalate(name, body=None, x__xgafv=None)

-

Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ```

+

Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2beta/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ```

get(name, x__xgafv=None)

-

Retrieve a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/16033687" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().get( name="projects/some-project/cases/43595344", ) print(request.execute()) ```

+

Retrieve a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/16033687" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().get( name="projects/some-project/cases/43595344", ) print(request.execute()) ```

list(parent, filter=None, pageSize=None, pageToken=None, productLine=None, x__xgafv=None)

-

Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ```

+

Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ```

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ```

+

Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2beta/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ```

search(pageSize=None, pageToken=None, parent=None, query=None, x__xgafv=None)

-

Search for cases using a query. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases:search" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().search( parent="projects/some-project", query="state=OPEN" ) print(request.execute()) ```

+

Search for cases using a query. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases:search" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().search( parent="projects/some-project", query="state=OPEN" ) print(request.execute()) ```

search_next()

Retrieves the next page of results.

@@ -120,7 +120,7 @@

Instance Methods

Method Details

close(name, body=None, x__xgafv=None) -
Close a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case:close" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().close( name="projects/some-project/cases/43595344" ) print(request.execute()) ```
+  
Close a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case:close" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().close( name="projects/some-project/cases/43595344" ) print(request.execute()) ```
 
 Args:
   name: string, Required. The name of the case to close. (required)
@@ -173,7 +173,7 @@ 

Method Details

create(parent, body=None, x__xgafv=None) -
Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ```
+  
Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Content-Type: application/json' \ --data '{ "display_name": "Test case created by me.", "description": "a random test case, feel free to close", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, "time_zone": "-07:00", "subscriber_email_addresses": [ "foo@domain.com", "bar@domain.com" ], "testCase": true, "priority": "P3" }' \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().create( parent="projects/some-project", body={ "displayName": "A Test Case", "description": "This is a test case.", "testCase": True, "priority": "P2", "classification": { "id": "100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8" }, }, ) print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the parent under which the case should be created. (required)
@@ -255,7 +255,7 @@ 

Method Details

escalate(name, body=None, x__xgafv=None) -
Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ```
+  
Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation." } }' \ "https://cloudsupport.googleapis.com/v2beta/$case:escalate" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().escalate( name="projects/some-project/cases/43595344", body={ "escalation": { "reason": "BUSINESS_IMPACT", "justification": "This is a test escalation.", }, }, ) print(request.execute()) ```
 
 Args:
   name: string, Required. The name of the case to be escalated. (required)
@@ -312,7 +312,7 @@ 

Method Details

get(name, x__xgafv=None) -
Retrieve a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/16033687" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$case" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().get( name="projects/some-project/cases/43595344", ) print(request.execute()) ```
+  
Retrieve a case. EXAMPLES: cURL: ```shell case="projects/some-project/cases/16033687" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$case" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().get( name="projects/some-project/cases/43595344", ) print(request.execute()) ```
 
 Args:
   name: string, Required. The full name of a case to be retrieved. (required)
@@ -359,7 +359,7 @@ 

Method Details

list(parent, filter=None, pageSize=None, pageToken=None, productLine=None, x__xgafv=None) -
Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ```
+  
Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().list(parent="projects/some-project") print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of a parent to list cases under. (required)
@@ -433,7 +433,7 @@ 

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ```
+  
Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case="projects/some-project/cases/43595344" curl \ --request PATCH \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{ "priority": "P1" }' \ "https://cloudsupport.googleapis.com/v2beta/$case?updateMask=priority" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().patch( name="projects/some-project/cases/43112854", body={ "displayName": "This is Now a New Title", "priority": "P2", }, ) print(request.execute()) ```
 
 Args:
   name: string, Identifier. The resource name for the case. (required)
@@ -516,7 +516,7 @@ 

Method Details

search(pageSize=None, pageToken=None, parent=None, query=None, x__xgafv=None) -
Search for cases using a query. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases:search" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().search( parent="projects/some-project", query="state=OPEN" ) print(request.execute()) ```
+  
Search for cases using a query. EXAMPLES: cURL: ```shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$parent/cases:search" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.cases().search( parent="projects/some-project", query="state=OPEN" ) print(request.execute()) ```
 
 Args:
   pageSize: integer, The maximum number of cases fetched with each request. The default page size is 10.
diff --git a/docs/dyn/cloudsupport_v2beta.media.html b/docs/dyn/cloudsupport_v2beta.media.html
index f6f9d11636..49dcacf3e9 100644
--- a/docs/dyn/cloudsupport_v2beta.media.html
+++ b/docs/dyn/cloudsupport_v2beta.media.html
@@ -79,13 +79,13 @@ 

Instance Methods

Close httplib2 connections.

download(name, x__xgafv=None)

-

Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```

+

Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```

download_media(name, x__xgafv=None)

-

Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```

+

Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```

upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

-

Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```

+

Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```

Method Details

close() @@ -94,7 +94,7 @@

Method Details

download(name, x__xgafv=None) -
Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```
+  
Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```
 
 Args:
   name: string, The name of the file attachment to download. (required)
@@ -346,6 +346,7 @@ 

Method Details

"referenceType": "A String", # # gdata.* are outside protos with mising documentation "sha1Hash": "A String", # # gdata.* are outside protos with mising documentation "sha256Hash": "A String", # # gdata.* are outside protos with mising documentation + "sha512Hash": "A String", # # gdata.* are outside protos with mising documentation "timestamp": "A String", # # gdata.* are outside protos with mising documentation "token": "A String", # # gdata.* are outside protos with mising documentation }
@@ -353,7 +354,7 @@

Method Details

download_media(name, x__xgafv=None) -
Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```
+  
Download a file attached to a case. When this endpoint is called, no "response body" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append "?alt=media" to the URL. EXAMPLES: cURL: ```shell name="projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2beta/$name:download?alt=media" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) request = supportApiService.media().download( name="projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR" ) request.uri = request.uri.split("?")[0] + "?alt=media" print(request.execute()) ```
 
 Args:
   name: string, The name of the file attachment to download. (required)
@@ -370,7 +371,7 @@ 

Method Details

upload(parent, body=None, media_body=None, media_mime_type=None, x__xgafv=None) -
Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```
+  
Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo "This text is in a file I'm uploading using CSAPI." \ > "./example_file.txt" case="projects/some-project/cases/43594844" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data-binary @"./example_file.txt" \ "https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt" ``` Python: ```python import googleapiclient.discovery api_version = "v2beta" supportApiService = googleapiclient.discovery.build( serviceName="cloudsupport", version=api_version, discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}", ) file_path = "./example_file.txt" with open(file_path, "w") as file: file.write( "This text is inside a file I'm going to upload using the Cloud Support API.", ) request = supportApiService.media().upload( parent="projects/some-project/cases/43595344", media_body=file_path ) request.uri = request.uri.split("?")[0] + "?attachment.filename=uploaded_via_python.txt" print(request.execute()) ```
 
 Args:
   parent: string, Required. The name of the case or Cloud resource to which the attachment should be attached. (required)
diff --git a/docs/dyn/cloudtasks_v2.projects.locations.queues.html b/docs/dyn/cloudtasks_v2.projects.locations.queues.html
index aca4be3c13..d51b0ef6d4 100644
--- a/docs/dyn/cloudtasks_v2.projects.locations.queues.html
+++ b/docs/dyn/cloudtasks_v2.projects.locations.queues.html
@@ -176,14 +176,14 @@ 

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -242,14 +242,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -333,14 +333,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -455,14 +455,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -539,14 +539,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -606,14 +606,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -685,14 +685,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -764,14 +764,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -843,14 +843,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on `max_dispatches_per_second`. Cloud Tasks automatically sets an appropriate `max_burst_size` based on the value of `max_dispatches_per_second`. The value is dynamically optimized to ensure queue stability and throughput. It is generally at least equal to `max_dispatches_per_second` but might be higher to accommodate bursts of traffic. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of `max_dispatches_per_second`, regardless of whether `max_dispatches_per_second` is updated. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. diff --git a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html index e77281eca8..2469fb39c2 100644 --- a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html +++ b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html @@ -178,14 +178,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -256,14 +256,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -360,14 +360,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -495,14 +495,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -591,14 +591,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -670,14 +670,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -761,14 +761,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -852,14 +852,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. @@ -943,14 +943,14 @@

Method Details

"rateLimits": { # Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits. # Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes. "maxBurstSize": 42, # The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. The default value of `max_burst_size` is picked by Cloud Tasks based on the value of max_dispatches_per_second. The maximum value of `max_burst_size` is 500. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). If UpdateQueue is called on a queue without explicitly setting a value for `max_burst_size`, `max_burst_size` value will get updated if UpdateQueue is updating max_dispatches_per_second. "maxConcurrentDispatches": 42, # The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests). - "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + "maxDispatchesPerSecond": 3.14, # The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). }, "retryConfig": { # Retry config. These settings determine when a failed task attempt is retried. # Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks). - "maxAttempts": 42, # Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. - "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxAttempts": 42, # Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). "maxDoublings": 42, # The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). - "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "maxRetryDuration": "A String", # If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + "minBackoff": "A String", # A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). }, "stackdriverLoggingConfig": { # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). # Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written. "samplingRatio": 3.14, # Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged. diff --git a/docs/dyn/composer_v1beta1.projects.locations.environments.userWorkloadsSecrets.html b/docs/dyn/composer_v1beta1.projects.locations.environments.userWorkloadsSecrets.html index 2fc09929c5..0bb879987c 100644 --- a/docs/dyn/composer_v1beta1.projects.locations.environments.userWorkloadsSecrets.html +++ b/docs/dyn/composer_v1beta1.projects.locations.environments.userWorkloadsSecrets.html @@ -115,6 +115,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types } x__xgafv: string, V1 error format. @@ -130,6 +131,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types }
@@ -170,6 +172,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types }
@@ -197,6 +200,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types }, ], }
@@ -230,6 +234,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types } x__xgafv: string, V1 error format. @@ -245,6 +250,7 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the Secret, in the form: "projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}" + "type": "A String", # Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types }
diff --git a/docs/dyn/compute_alpha.backendServices.html b/docs/dyn/compute_alpha.backendServices.html index 248ce180e5..7e8f9898e2 100644 --- a/docs/dyn/compute_alpha.backendServices.html +++ b/docs/dyn/compute_alpha.backendServices.html @@ -1459,6 +1459,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -3899,6 +3909,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -6861,6 +6881,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -8999,6 +9029,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -10885,6 +10925,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -12714,6 +12764,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -16274,6 +16334,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields diff --git a/docs/dyn/compute_alpha.folderZoneVmExtensionPolicies.html b/docs/dyn/compute_alpha.folderZoneVmExtensionPolicies.html new file mode 100644 index 0000000000..4892272bed --- /dev/null +++ b/docs/dyn/compute_alpha.folderZoneVmExtensionPolicies.html @@ -0,0 +1,1605 @@ + + + +

Compute Engine API . folderZoneVmExtensionPolicies

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ delete(folder, zone, vmExtensionPolicy, requestId=None, x__xgafv=None)

+

Deletes a specified zone VM extension policy within a folder.

+

+ get(folder, zone, vmExtensionPolicy, x__xgafv=None)

+

Retrieves details of a specific zone VM extension policy within a folder.

+

+ getVmExtension(folder, zone, extensionName, x__xgafv=None)

+

Retrieves details of a specific VM extension within a folder.

+

+ insert(folder, zone, body=None, requestId=None, x__xgafv=None)

+

Creates a new zone-level VM extension policy within a folder.

+

+ list(folder, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists all VM extension policies within a specific zone for a folder.

+

+ listVmExtensions(folder, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists all VM extensions within a specific zone for a folder.

+

+ listVmExtensions_next()

+

Retrieves the next page of results.

+

+ list_next()

+

Retrieves the next page of results.

+

+ update(folder, zone, vmExtensionPolicy, body=None, requestId=None, x__xgafv=None)

+

Modifies an existing zone VM extension policy within a folder.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ delete(folder, zone, vmExtensionPolicy, requestId=None, x__xgafv=None) +
Deletes a specified zone VM extension policy within a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the zone VM extension policy to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ get(folder, zone, vmExtensionPolicy, x__xgafv=None) +
Retrieves details of a specific zone VM extension policy within a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the VM extension policy resource to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+ +
+ getVmExtension(folder, zone, extensionName, x__xgafv=None) +
Retrieves details of a specific VM extension within a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  extensionName: string, A parameter (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A VM extension that can be installed on a VM.
+  "name": "A String", # The name of the vm extension.
+  "versions": [ # The latest 10 versions of the vm extension.
+    "A String",
+  ],
+}
+
+ +
+ insert(folder, zone, body=None, requestId=None, x__xgafv=None) +
Creates a new zone-level VM extension policy within a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ list(folder, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists all VM extension policies within a specific zone for a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String", # Output only. [Output Only] Fingerprint of this resource. A hash of the contents stored
+      # in this object. This field is used in optimistic locking. This field will
+      # be ignored when inserting a VmExtensionPolicy. An up-to-date
+      # fingerprint must be provided in order to update the VmExtensionPolicy.
+      #
+      # To see the latest value of the fingerprint, make a get() request to
+      # retrieve a VmExtensionPolicy.
+  "id": "A String", # Output only. [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # Output only. [Output Only] A list of VM extension policy resources.
+    { # Represents a VM extension policy.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "description": "A String", # An optional description of this resource.
+      "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+          # policy configurations.
+        "a_key": { # Configuration for a specific VM extension.
+          "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+              # version is used.
+          "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+        },
+      },
+      "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+          # applicable.
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+          # *any* of the provided selectors (logical OR). If this list is empty, the
+          # policy applies to all VMs.
+        { # Defines how to select VMs to apply a zone VM extension policy.
+          "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+              # labels.
+            "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+                # VMs must have all of the labels specified in this map to be selected
+                # (logical AND).
+                #
+                # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+                # "value2")}, the VM labels must contain both ("key1", "value1") and
+                # ("key2", "value2") to be selected. If the VM labels are ("key1",
+                # "value1") and ("something", "else"), it will not be selected.
+                #
+                # If the map is empty, it's considered a match.
+              "a_key": "A String",
+            },
+          },
+        },
+      ],
+      "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+      "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+          # apply to the same extension.
+          # The policy priority is an integer from 0 to 65535, inclusive. Lower
+          # integers indicate higher priorities. If you do not specify a priority when
+          # creating a rule, it is assigned a priority of 1000. If priorities are
+          # equal, the policy with the most recent creation timestamp takes precedence.
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+      "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+          # text format.
+    },
+  ],
+  "kind": "compute#vmExtensionPolicyList", # Output only. Type of resource.
+  "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+    "A String",
+  ],
+  "warning": { # Output only. [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ listVmExtensions(folder, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists all VM extensions within a specific zone for a folder.
+This is a read-only API.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String", # Output only. Fingerprint of this resource. A hash of the contents stored
+      # in this object. This field is used in optimistic locking. This field will
+      # be ignored when inserting a VmExtensionPolicy. An up-to-date
+      # fingerprint must be provided in order to update the VmExtensionPolicy.
+      #
+      # To see the latest value of the fingerprint, make a get() request to
+      # retrieve a VmExtensionPolicy.
+  "id": "A String", # Output only. Unique identifier for the resource; defined by the server.
+  "items": [ # Output only. A list of VM extensions.
+    { # A VM extension that can be installed on a VM.
+      "name": "A String", # The name of the vm extension.
+      "versions": [ # The latest 10 versions of the vm extension.
+        "A String",
+      ],
+    },
+  ],
+  "kind": "compute#vmExtensionList", # Output only. Type of resource.
+  "nextPageToken": "A String", # Output only. This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. Server-defined URL for this resource.
+  "unreachables": [ # Output only. Unreachable resources.
+    "A String",
+  ],
+  "warning": { # Output only. Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ listVmExtensions_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.
+        
+
+ +
+ 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.
+        
+
+ +
+ update(folder, zone, vmExtensionPolicy, body=None, requestId=None, x__xgafv=None) +
Modifies an existing zone VM extension policy within a folder.
+
+Args:
+  folder: string, Folder ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the zone VM extension policy to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_alpha.haControllers.html b/docs/dyn/compute_alpha.haControllers.html index e1650c7236..f7a9038ba0 100644 --- a/docs/dyn/compute_alpha.haControllers.html +++ b/docs/dyn/compute_alpha.haControllers.html @@ -1039,8 +1039,6 @@

Method Details

{ "failoverToZone": "A String", # Name of the destination zone for the failover. - "primaryZone": "A String", # Name of the destination zone for the failover. - # Deprecated: use failover_to_zone instead. } requestId: string, An optional request ID to identify requests. Specify a unique request ID so diff --git a/docs/dyn/compute_alpha.html b/docs/dyn/compute_alpha.html index 7304786232..fa43da115e 100644 --- a/docs/dyn/compute_alpha.html +++ b/docs/dyn/compute_alpha.html @@ -139,6 +139,11 @@

Instance Methods

Returns the firewalls Resource.

+

+ folderZoneVmExtensionPolicies() +

+

Returns the folderZoneVmExtensionPolicies Resource.

+

forwardingRules()

@@ -364,6 +369,21 @@

Instance Methods

Returns the nodeTypes Resource.

+

+ orgVmExtensionPolicies() +

+

Returns the orgVmExtensionPolicies Resource.

+ +

+ organizationRolloutPlans() +

+

Returns the organizationRolloutPlans Resource.

+ +

+ organizationRollouts() +

+

Returns the organizationRollouts Resource.

+

organizationSecurityPolicies()

@@ -374,6 +394,11 @@

Instance Methods

Returns the organizationSnapshotRecycleBinPolicy Resource.

+

+ organizationZoneVmExtensionPolicies() +

+

Returns the organizationZoneVmExtensionPolicies Resource.

+

packetMirrorings()

diff --git a/docs/dyn/compute_alpha.imageViews.html b/docs/dyn/compute_alpha.imageViews.html index f942bdaec2..c685e21067 100644 --- a/docs/dyn/compute_alpha.imageViews.html +++ b/docs/dyn/compute_alpha.imageViews.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(project, region, resourceId, x__xgafv=None)

-

Returns the specified global Image resource by providing a regional

+

Returns the specified global ImageView resource, with a regional

list(project, region, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

-

Retrieves the list of global Image resources available to the project by

+

Returns a list of global ImageView resources, with a regional

list_next()

Retrieves the next page of results.

@@ -94,8 +94,8 @@

Method Details

get(project, region, resourceId, x__xgafv=None) -
Returns the specified global Image resource by providing a regional
-context to read the metadata from the Global Clone in the region.
+  
Returns the specified global ImageView resource, with a regional
+context.
 
 Args:
   project: string, Required. Project ID for this request. (required)
@@ -651,9 +651,8 @@ 

Method Details

list(project, region, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) -
Retrieves the list of global Image resources available to the project by
-providing a regional context to read the metadata from the Global Clone in
-the region.
+  
Returns a list of global ImageView resources, with a regional
+context.
 
 Args:
   project: string, Required. Project ID for this request. (required)
diff --git a/docs/dyn/compute_alpha.instanceGroupManagers.html b/docs/dyn/compute_alpha.instanceGroupManagers.html
index 141c71c05c..131645ac9b 100644
--- a/docs/dyn/compute_alpha.instanceGroupManagers.html
+++ b/docs/dyn/compute_alpha.instanceGroupManagers.html
@@ -2260,6 +2260,9 @@ 

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -2515,6 +2518,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of “instances”. # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instances": [ # The list of URLs of one or more instances for which you want to apply # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME]. @@ -6119,6 +6125,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -8081,6 +8090,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -10270,6 +10282,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -10572,18 +10587,18 @@

Method Details

{ "items": [ # Output only. [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -10592,8 +10607,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for @@ -13919,6 +13933,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -19703,6 +19720,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. diff --git a/docs/dyn/compute_alpha.instances.html b/docs/dyn/compute_alpha.instances.html index ac25eb5875..0b85288b51 100644 --- a/docs/dyn/compute_alpha.instances.html +++ b/docs/dyn/compute_alpha.instances.html @@ -2600,6 +2600,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -8067,6 +8075,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -11248,6 +11264,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -13121,6 +13145,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -23929,6 +23961,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the diff --git a/docs/dyn/compute_alpha.orgVmExtensionPolicies.html b/docs/dyn/compute_alpha.orgVmExtensionPolicies.html new file mode 100644 index 0000000000..cc10a14e71 --- /dev/null +++ b/docs/dyn/compute_alpha.orgVmExtensionPolicies.html @@ -0,0 +1,383 @@ + + + +

Compute Engine API . orgVmExtensionPolicies

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ delete(organization, zone, vmExtensionPolicy, requestId=None, x__xgafv=None)

+

Deletes a specified zone VM extension policy within an organization.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ delete(organization, zone, vmExtensionPolicy, requestId=None, x__xgafv=None) +
Deletes a specified zone VM extension policy within an organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the zone VM extension policy to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_alpha.organizationRolloutPlans.html b/docs/dyn/compute_alpha.organizationRolloutPlans.html new file mode 100644 index 0000000000..610096509c --- /dev/null +++ b/docs/dyn/compute_alpha.organizationRolloutPlans.html @@ -0,0 +1,1146 @@ + + + +

Compute Engine API . organizationRolloutPlans

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ delete(organization, rolloutPlan, requestId=None, x__xgafv=None)

+

Deletes an OrganizationRolloutPlan.

+

+ get(organization, rolloutPlan, x__xgafv=None)

+

Gets details of a single organization-scoped RolloutPlan.

+

+ insert(organization, body=None, requestId=None, x__xgafv=None)

+

Creates a new RolloutPlan in a given organization and location.

+

+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists OrganizationRolloutPlans in a given organization and location.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ delete(organization, rolloutPlan, requestId=None, x__xgafv=None) +
Deletes an OrganizationRolloutPlan.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rolloutPlan: string, Name of the OrganizationRolloutPlan resource to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ get(organization, rolloutPlan, x__xgafv=None) +
Gets details of a single organization-scoped RolloutPlan.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rolloutPlan: string, Name of the persistent rollout plan to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # RolloutPlan resource.
+    #
+    # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+    # into smaller increments, referred to as "waves". Each wave targets a specific
+    # portion of the overall affected area and defines criteria that must be met
+    # before progressing to the subsequent wave.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+      # for rolloutPlans.
+  "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+      # scope is considered as ZONAL.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "waves": [ # Required. The waves included in this rollout plan.
+    { # A single wave in a rollout plan.
+      "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+      "number": "A String", # Output only. The wave number.
+      "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+          # required only if the resource being rolled out follows the Orchestrated
+          # pattern.
+        "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+            # multiple Delays to be specified, letting users set separate delays
+            # between batches of projects corresponding to different locations and
+            # batches of projects corresponding to the same location.
+          { # Options to control the delay, if any, between batches of projects.
+            "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                # projects corresponding to different locations, or also between
+                # batches of projects corresponding to the same location.
+                #
+                # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+            "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                # projects. A zero duration corresponds to no delay.
+            "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                # each batch, or if the total processing time for each batch will be
+                # padded if needed to meet the specified duration.
+                #
+                # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+          },
+        ],
+        "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+        "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+            # parallel.
+      },
+      "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+          # defined in a wave, so a resource must satisfy the criteria of *all* the
+          # specified selectors to be in scope for the wave.
+        { # A selector which specifies what resource(s) are included in a given wave.
+          "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+            "includedLocations": [ # Optional. Example: "us-central1-a"
+              "A String",
+            ],
+          },
+          "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+              # nodes such as projects, folders, orgs.
+            "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+              "A String",
+            ],
+            "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+              "A String",
+            ],
+            "includedProjects": [ # Optional. Format: "projects/{project_id}"
+              "A String",
+            ],
+          },
+        },
+      ],
+      "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+        "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+          "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+              # after all changes in the wave are rolled out.
+        },
+        "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+            # a metadata object, the appropriate metadata field mapping to the
+            # validation type must be provided in the validation message. Possible
+            # values are in quotes below alongside an explanation:
+            #   "manual": The system waits for an end-user approval API before
+            #     progressing to the next wave.
+            #   "time": The system waits for a user specified duration before
+            #     progressing to the next wave. TimeBasedValidation must be provided.
+      },
+    },
+  ],
+}
+
+ +
+ insert(organization, body=None, requestId=None, x__xgafv=None) +
Creates a new RolloutPlan in a given organization and location.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # RolloutPlan resource.
+    # 
+    # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+    # into smaller increments, referred to as "waves". Each wave targets a specific
+    # portion of the overall affected area and defines criteria that must be met
+    # before progressing to the subsequent wave.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+      # for rolloutPlans.
+  "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+      # scope is considered as ZONAL.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "waves": [ # Required. The waves included in this rollout plan.
+    { # A single wave in a rollout plan.
+      "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+      "number": "A String", # Output only. The wave number.
+      "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+          # required only if the resource being rolled out follows the Orchestrated
+          # pattern.
+        "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+            # multiple Delays to be specified, letting users set separate delays
+            # between batches of projects corresponding to different locations and
+            # batches of projects corresponding to the same location.
+          { # Options to control the delay, if any, between batches of projects.
+            "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                # projects corresponding to different locations, or also between
+                # batches of projects corresponding to the same location.
+                #
+                # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+            "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                # projects. A zero duration corresponds to no delay.
+            "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                # each batch, or if the total processing time for each batch will be
+                # padded if needed to meet the specified duration.
+                #
+                # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+          },
+        ],
+        "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+        "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+            # parallel.
+      },
+      "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+          # defined in a wave, so a resource must satisfy the criteria of *all* the
+          # specified selectors to be in scope for the wave.
+        { # A selector which specifies what resource(s) are included in a given wave.
+          "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+            "includedLocations": [ # Optional. Example: "us-central1-a"
+              "A String",
+            ],
+          },
+          "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+              # nodes such as projects, folders, orgs.
+            "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+              "A String",
+            ],
+            "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+              "A String",
+            ],
+            "includedProjects": [ # Optional. Format: "projects/{project_id}"
+              "A String",
+            ],
+          },
+        },
+      ],
+      "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+        "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+          "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+              # after all changes in the wave are rolled out.
+        },
+        "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+            # a metadata object, the appropriate metadata field mapping to the
+            # validation type must be provided in the validation message. Possible
+            # values are in quotes below alongside an explanation:
+            #   "manual": The system waits for an end-user approval API before
+            #     progressing to the next wave.
+            #   "time": The system waits for a user specified duration before
+            #     progressing to the next wave. TimeBasedValidation must be provided.
+      },
+    },
+  ],
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists OrganizationRolloutPlans in a given organization and location.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of RolloutPlan resources.
+  "etag": "A String",
+  "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # A list of RolloutPlan resources.
+    { # RolloutPlan resource.
+        #
+        # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+        # into smaller increments, referred to as "waves". Each wave targets a specific
+        # portion of the overall affected area and defines criteria that must be met
+        # before progressing to the subsequent wave.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "description": "A String", # An optional description of this resource. Provide this property when you
+          # create the resource.
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+          # for rolloutPlans.
+      "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+          # scope is considered as ZONAL.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "waves": [ # Required. The waves included in this rollout plan.
+        { # A single wave in a rollout plan.
+          "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+          "number": "A String", # Output only. The wave number.
+          "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+              # required only if the resource being rolled out follows the Orchestrated
+              # pattern.
+            "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+                # multiple Delays to be specified, letting users set separate delays
+                # between batches of projects corresponding to different locations and
+                # batches of projects corresponding to the same location.
+              { # Options to control the delay, if any, between batches of projects.
+                "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                    # projects corresponding to different locations, or also between
+                    # batches of projects corresponding to the same location.
+                    #
+                    # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+                "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                    # projects. A zero duration corresponds to no delay.
+                "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                    # each batch, or if the total processing time for each batch will be
+                    # padded if needed to meet the specified duration.
+                    #
+                    # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+              },
+            ],
+            "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+            "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+                # parallel.
+          },
+          "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+              # defined in a wave, so a resource must satisfy the criteria of *all* the
+              # specified selectors to be in scope for the wave.
+            { # A selector which specifies what resource(s) are included in a given wave.
+              "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+                "includedLocations": [ # Optional. Example: "us-central1-a"
+                  "A String",
+                ],
+              },
+              "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+                  # nodes such as projects, folders, orgs.
+                "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+                  "A String",
+                ],
+                "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+                  "A String",
+                ],
+                "includedProjects": [ # Optional. Format: "projects/{project_id}"
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+            "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+              "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+                  # after all changes in the wave are rolled out.
+            },
+            "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+                # a metadata object, the appropriate metadata field mapping to the
+                # validation type must be provided in the validation message. Possible
+                # values are in quotes below alongside an explanation:
+                #   "manual": The system waits for an end-user approval API before
+                #     progressing to the next wave.
+                #   "time": The system waits for a user specified duration before
+                #     progressing to the next wave. TimeBasedValidation must be provided.
+          },
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+      # end_interface: MixerListResponseWithEtagBuilder
+    "A String",
+  ],
+  "warning": { # [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_alpha.organizationRollouts.html b/docs/dyn/compute_alpha.organizationRollouts.html new file mode 100644 index 0000000000..77795513d9 --- /dev/null +++ b/docs/dyn/compute_alpha.organizationRollouts.html @@ -0,0 +1,1927 @@ + + + +

Compute Engine API . organizationRollouts

+

Instance Methods

+

+ advance(organization, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None)

+

Advances a Rollout to the next wave, or completes it if no waves remain.

+

+ cancel(organization, rollout, requestId=None, rollback=None, x__xgafv=None)

+

Cancels a Rollout.

+

+ close()

+

Close httplib2 connections.

+

+ delete(organization, rollout, requestId=None, x__xgafv=None)

+

Deletes a Rollout.

+

+ get(organization, rollout, x__xgafv=None)

+

Gets details of a single organization-scoped Rollout.

+

+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists Rollouts in a given organization and location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ pause(organization, rollout, etag=None, requestId=None, x__xgafv=None)

+

Pauses a Rollout.

+

+ resume(organization, rollout, etag=None, requestId=None, x__xgafv=None)

+

Resumes a Rollout.

+

Method Details

+
+ advance(organization, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None) +
Advances a Rollout to the next wave, or completes it if no waves remain.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to advance. (required)
+  currentWaveNumber: string, Required. Wave number of the current wave.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ cancel(organization, rollout, requestId=None, rollback=None, x__xgafv=None) +
Cancels a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Name of the Rollout resource to cancel. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  rollback: boolean, Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel
+the rollout without taking any further actions. Note that products must
+support at least one of these options, however, it does not need to support
+both.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(organization, rollout, requestId=None, x__xgafv=None) +
Deletes a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Name of the Rollout resource to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ get(organization, rollout, x__xgafv=None) +
Gets details of a single organization-scoped Rollout.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rollout: string, Name of the persistent rollout to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Rollout resource.
+    #
+    # A Rollout is a specific instance of a RolloutPlan. It represents a single
+    # execution of a strategy to roll out a specific resource. It also provides
+    # APIs to interact with the rollout.
+  "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+  "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+      # Ex. 1
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "etag": "A String", # Output only. etag of the Rollout
+      # Ex. abc1234
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+      # for rollouts.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+  "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+  "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+    "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+        # integration model with ProgressiveRollout.
+      "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
+          # detected in a project during a Rollout. It can be one of the following
+          # values:
+          # 1) overwrite : Overwrite the local value with the rollout value.
+          # 2) no_overwrite : Do not overwrite the local value with the rollout
+          # value.
+      "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
+          # values:
+          # 1) "update": Resources will be updated by the rollout.
+          # 2) "delete": Resources will be deleted by the rollout.
+      "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
+          # of truth of the configuration being rolled out across
+          # locations/projects. For example, in the case of a global Rollout which
+          # is applied across regions, this contains the name of the global
+          # resource created by the user which contains a payload for a resource
+          # that is orchestrated across regions. This follows the following format:
+          # //.googleapis.com/projects//locations/global//
+          # e.g.
+          # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+    },
+  },
+  "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
+      # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Output only. The current state of the Rollout.
+  "waveDetails": [ # Output only. Details about each wave of the rollout.
+    { # Additional metadata about the status of each wave provided by the server.
+      "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
+          # Integration model.
+          # model.
+        "completedResourcesCount": "A String", # Output only. Resource completed so far.
+        "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
+            # current progress.
+        "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
+        "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
+            # stopped retrying. There may be some successful resources rolled out in
+            # the wave as the location may have failed later in the Rollout.
+          "A String",
+        ],
+        "failedResourcesCount": "A String", # Output only. Resources failed.
+        "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
+            # specified like "us-east1" or "asia-west1-a".
+          "a_key": { # Represents the status of a location in a wave.
+            "state": "A String", # Output only. Location state of the wave.
+          },
+        },
+      },
+      "waveDisplayName": "A String", # Output only. Wave name.
+          # Ex. wave1
+      "waveNumber": "A String", # Output only. System generated number for the wave.
+    },
+  ],
+}
+
+ +
+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists Rollouts in a given organization and location.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String",
+  "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # A list of Rollout resources.
+    { # Rollout resource.
+        #
+        # A Rollout is a specific instance of a RolloutPlan. It represents a single
+        # execution of a strategy to roll out a specific resource. It also provides
+        # APIs to interact with the rollout.
+      "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+      "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+          # Ex. 1
+      "description": "A String", # An optional description of this resource. Provide this property when you
+          # create the resource.
+      "etag": "A String", # Output only. etag of the Rollout
+          # Ex. abc1234
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+          # for rollouts.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+      "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+      "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+        "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+            # integration model with ProgressiveRollout.
+          "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
+              # detected in a project during a Rollout. It can be one of the following
+              # values:
+              # 1) overwrite : Overwrite the local value with the rollout value.
+              # 2) no_overwrite : Do not overwrite the local value with the rollout
+              # value.
+          "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
+              # values:
+              # 1) "update": Resources will be updated by the rollout.
+              # 2) "delete": Resources will be deleted by the rollout.
+          "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
+              # of truth of the configuration being rolled out across
+              # locations/projects. For example, in the case of a global Rollout which
+              # is applied across regions, this contains the name of the global
+              # resource created by the user which contains a payload for a resource
+              # that is orchestrated across regions. This follows the following format:
+              # //.googleapis.com/projects//locations/global//
+              # e.g.
+              # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+        },
+      },
+      "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
+          # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "state": "A String", # Output only. The current state of the Rollout.
+      "waveDetails": [ # Output only. Details about each wave of the rollout.
+        { # Additional metadata about the status of each wave provided by the server.
+          "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
+              # Integration model.
+              # model.
+            "completedResourcesCount": "A String", # Output only. Resource completed so far.
+            "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
+                # current progress.
+            "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
+            "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
+                # stopped retrying. There may be some successful resources rolled out in
+                # the wave as the location may have failed later in the Rollout.
+              "A String",
+            ],
+            "failedResourcesCount": "A String", # Output only. Resources failed.
+            "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
+                # specified like "us-east1" or "asia-west1-a".
+              "a_key": { # Represents the status of a location in a wave.
+                "state": "A String", # Output only. Location state of the wave.
+              },
+            },
+          },
+          "waveDisplayName": "A String", # Output only. Wave name.
+              # Ex. wave1
+          "waveNumber": "A String", # Output only. System generated number for the wave.
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+      # end_interface: MixerListResponseWithEtagBuilder
+    "A String",
+  ],
+  "warning": { # [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ 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.
+        
+
+ +
+ pause(organization, rollout, etag=None, requestId=None, x__xgafv=None) +
Pauses a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to pause. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ resume(organization, rollout, etag=None, requestId=None, x__xgafv=None) +
Resumes a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to resume. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_alpha.organizationSnapshotRecycleBinPolicy.html b/docs/dyn/compute_alpha.organizationSnapshotRecycleBinPolicy.html index 196d3980be..2332d736a7 100644 --- a/docs/dyn/compute_alpha.organizationSnapshotRecycleBinPolicy.html +++ b/docs/dyn/compute_alpha.organizationSnapshotRecycleBinPolicy.html @@ -126,6 +126,15 @@

Method Details

}, }, }, + "systemRules": { # Output only. The system rules for snapshot recycle bin policy. + # Defines the default rule that applies if no customer-defined rule matches. + "a_key": { # A rule that defines the retention policy for snapshots in the recycle bin. + "standardSnapshots": { # The rule config for snapshots in the recycle bin. # The rule config for standard snapshots. + "retentionDurationDays": "A String", # The retention duration for snapshots in the recycle bin after which the + # snapshots are automatically deleted from recycle bin. + }, + }, + }, }
@@ -161,6 +170,15 @@

Method Details

}, }, }, + "systemRules": { # Output only. The system rules for snapshot recycle bin policy. + # Defines the default rule that applies if no customer-defined rule matches. + "a_key": { # A rule that defines the retention policy for snapshots in the recycle bin. + "standardSnapshots": { # The rule config for snapshots in the recycle bin. # The rule config for standard snapshots. + "retentionDurationDays": "A String", # The retention duration for snapshots in the recycle bin after which the + # snapshots are automatically deleted from recycle bin. + }, + }, + }, } requestId: string, An optional request ID to identify requests. Specify a unique request ID so diff --git a/docs/dyn/compute_alpha.organizationZoneVmExtensionPolicies.html b/docs/dyn/compute_alpha.organizationZoneVmExtensionPolicies.html new file mode 100644 index 0000000000..39b6c50a02 --- /dev/null +++ b/docs/dyn/compute_alpha.organizationZoneVmExtensionPolicies.html @@ -0,0 +1,1309 @@ + + + +

Compute Engine API . organizationZoneVmExtensionPolicies

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(organization, zone, vmExtensionPolicy, x__xgafv=None)

+

Retrieves details of a specific zone VM extension policy within an

+

+ getVmExtension(organization, zone, extensionName, x__xgafv=None)

+

Retrieves details of a specific VM extension within an organization.

+

+ insert(organization, zone, body=None, requestId=None, x__xgafv=None)

+

Creates a new zone-level VM extension policy within an organization.

+

+ list(organization, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists all VM extension policies within a specific zone for an organization.

+

+ listVmExtensions(organization, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists all VM extensions within a specific zone for an organization.

+

+ listVmExtensions_next()

+

Retrieves the next page of results.

+

+ list_next()

+

Retrieves the next page of results.

+

+ update(organization, zone, vmExtensionPolicy, body=None, requestId=None, x__xgafv=None)

+

Modifies an existing zone VM extension policy within an organization.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(organization, zone, vmExtensionPolicy, x__xgafv=None) +
Retrieves details of a specific zone VM extension policy within an
+organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the VM extension policy resource to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+ +
+ getVmExtension(organization, zone, extensionName, x__xgafv=None) +
Retrieves details of a specific VM extension within an organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  extensionName: string, A parameter (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A VM extension that can be installed on a VM.
+  "name": "A String", # The name of the vm extension.
+  "versions": [ # The latest 10 versions of the vm extension.
+    "A String",
+  ],
+}
+
+ +
+ insert(organization, zone, body=None, requestId=None, x__xgafv=None) +
Creates a new zone-level VM extension policy within an organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ list(organization, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists all VM extension policies within a specific zone for an organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String", # Output only. [Output Only] Fingerprint of this resource. A hash of the contents stored
+      # in this object. This field is used in optimistic locking. This field will
+      # be ignored when inserting a VmExtensionPolicy. An up-to-date
+      # fingerprint must be provided in order to update the VmExtensionPolicy.
+      #
+      # To see the latest value of the fingerprint, make a get() request to
+      # retrieve a VmExtensionPolicy.
+  "id": "A String", # Output only. [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # Output only. [Output Only] A list of VM extension policy resources.
+    { # Represents a VM extension policy.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "description": "A String", # An optional description of this resource.
+      "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+          # policy configurations.
+        "a_key": { # Configuration for a specific VM extension.
+          "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+              # version is used.
+          "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+        },
+      },
+      "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+          # applicable.
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+          # *any* of the provided selectors (logical OR). If this list is empty, the
+          # policy applies to all VMs.
+        { # Defines how to select VMs to apply a zone VM extension policy.
+          "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+              # labels.
+            "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+                # VMs must have all of the labels specified in this map to be selected
+                # (logical AND).
+                #
+                # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+                # "value2")}, the VM labels must contain both ("key1", "value1") and
+                # ("key2", "value2") to be selected. If the VM labels are ("key1",
+                # "value1") and ("something", "else"), it will not be selected.
+                #
+                # If the map is empty, it's considered a match.
+              "a_key": "A String",
+            },
+          },
+        },
+      ],
+      "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+      "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+          # apply to the same extension.
+          # The policy priority is an integer from 0 to 65535, inclusive. Lower
+          # integers indicate higher priorities. If you do not specify a priority when
+          # creating a rule, it is assigned a priority of 1000. If priorities are
+          # equal, the policy with the most recent creation timestamp takes precedence.
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+      "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+          # text format.
+    },
+  ],
+  "kind": "compute#vmExtensionPolicyList", # Output only. Type of resource.
+  "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+    "A String",
+  ],
+  "warning": { # Output only. [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ listVmExtensions(organization, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists all VM extensions within a specific zone for an organization.
+This is a read-only API.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String", # Output only. Fingerprint of this resource. A hash of the contents stored
+      # in this object. This field is used in optimistic locking. This field will
+      # be ignored when inserting a VmExtensionPolicy. An up-to-date
+      # fingerprint must be provided in order to update the VmExtensionPolicy.
+      #
+      # To see the latest value of the fingerprint, make a get() request to
+      # retrieve a VmExtensionPolicy.
+  "id": "A String", # Output only. Unique identifier for the resource; defined by the server.
+  "items": [ # Output only. A list of VM extensions.
+    { # A VM extension that can be installed on a VM.
+      "name": "A String", # The name of the vm extension.
+      "versions": [ # The latest 10 versions of the vm extension.
+        "A String",
+      ],
+    },
+  ],
+  "kind": "compute#vmExtensionList", # Output only. Type of resource.
+  "nextPageToken": "A String", # Output only. This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. Server-defined URL for this resource.
+  "unreachables": [ # Output only. Unreachable resources.
+    "A String",
+  ],
+  "warning": { # Output only. Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ listVmExtensions_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.
+        
+
+ +
+ 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.
+        
+
+ +
+ update(organization, zone, vmExtensionPolicy, body=None, requestId=None, x__xgafv=None) +
Modifies an existing zone VM extension policy within an organization.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  zone: string, Name of the zone for this request. (required)
+  vmExtensionPolicy: string, Name of the zone VM extension policy to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a VM extension policy.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource.
+  "extensionPolicies": { # Required. A map of extension names (for example, "ops-agent") to their corresponding
+      # policy configurations.
+    "a_key": { # Configuration for a specific VM extension.
+      "pinnedVersion": "A String", # Optional. The specific version of the extension to install. If not set, the latest
+          # version is used.
+      "stringConfig": "A String", # Optional. String-based configuration data for the extension.
+    },
+  },
+  "globalResourceLink": "A String", # Optional. Output only. [Output Only] Link to the global policy that manages this zone policy, if
+      # applicable.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "instanceSelectors": [ # Optional. Selectors to target VMs for this policy. VMs are selected if they match
+      # *any* of the provided selectors (logical OR). If this list is empty, the
+      # policy applies to all VMs.
+    { # Defines how to select VMs to apply a zone VM extension policy.
+      "labelSelector": { # A LabelSelector is applied to a VM only if it matches all the specified # Optional. LabelSelector selects VMs based on their labels.
+          # labels.
+        "inclusionLabels": { # Optional. A map of key-value pairs representing VM labels.
+            # VMs must have all of the labels specified in this map to be selected
+            # (logical AND).
+            #
+            # e.g. If the `inclusion_labels` are {("key1", "value1"), ("key2",
+            # "value2")}, the VM labels must contain both ("key1", "value1") and
+            # ("key2", "value2") to be selected. If the VM labels are ("key1",
+            # "value1") and ("something", "else"), it will not be selected.
+            #
+            # If the map is empty, it's considered a match.
+          "a_key": "A String",
+        },
+      },
+    },
+  ],
+  "kind": "compute#vmExtensionPolicy", # Output only. [Output Only] Type of the resource. Alwayscompute#vmExtensionPolicy.
+  "managedByGlobal": True or False, # Optional. Output only. [Output Only] Indicates if this policy is managed by a global policy.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "priority": 42, # Optional. Priority of this policy. Used to resolve conflicts when multiple policies
+      # apply to the same extension.
+      # The policy priority is an integer from 0 to 65535, inclusive. Lower
+      # integers indicate higher priorities. If you do not specify a priority when
+      # creating a rule, it is assigned a priority of 1000. If priorities are
+      # equal, the policy with the most recent creation timestamp takes precedence.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Optional. Output only. [Output Only] Current state of the policy: ACTIVE or DELETING.
+  "updateTimestamp": "A String", # Output only. [Output Only] Update timestamp inRFC3339
+      # text format.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/alpha/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/alpha/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource with the resource id.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_alpha.regionBackendServices.html b/docs/dyn/compute_alpha.regionBackendServices.html index eca423dc05..9a1147cc79 100644 --- a/docs/dyn/compute_alpha.regionBackendServices.html +++ b/docs/dyn/compute_alpha.regionBackendServices.html @@ -1332,6 +1332,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -3521,6 +3531,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -5660,6 +5680,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -7549,6 +7579,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -9379,6 +9419,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields @@ -12643,6 +12693,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optional": "A String", # Deprecated in favor of optionalMode. # This field can only be specified if logging is enabled for this backend # service. Configures whether all, none or a subset of optional fields diff --git a/docs/dyn/compute_alpha.regionInstanceGroupManagers.html b/docs/dyn/compute_alpha.regionInstanceGroupManagers.html index 6ca4ef568f..230a84f45f 100644 --- a/docs/dyn/compute_alpha.regionInstanceGroupManagers.html +++ b/docs/dyn/compute_alpha.regionInstanceGroupManagers.html @@ -883,6 +883,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of “instances”. # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instances": [ # The list of URLs of one or more instances for which you want to apply # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME]. @@ -4153,6 +4156,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -5972,6 +5978,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -8160,6 +8169,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -8460,18 +8472,18 @@

Method Details

{ "items": [ # [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -8480,8 +8492,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for @@ -11800,6 +11811,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. @@ -17550,6 +17564,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "disruptionMode": "A String", # Whether the boot disk is allowed to be updated with restart. "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. diff --git a/docs/dyn/compute_alpha.routers.html b/docs/dyn/compute_alpha.routers.html index 0f3e2f13a3..e6aa3bc476 100644 --- a/docs/dyn/compute_alpha.routers.html +++ b/docs/dyn/compute_alpha.routers.html @@ -607,6 +607,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -2130,6 +2133,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -3897,6 +3903,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -4822,6 +4831,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -6111,6 +6123,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -7711,6 +7726,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -8258,6 +8276,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -8846,6 +8867,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # diff --git a/docs/dyn/compute_alpha.snapshotRecycleBinPolicy.html b/docs/dyn/compute_alpha.snapshotRecycleBinPolicy.html index 40160ef7e7..7a94d16cff 100644 --- a/docs/dyn/compute_alpha.snapshotRecycleBinPolicy.html +++ b/docs/dyn/compute_alpha.snapshotRecycleBinPolicy.html @@ -126,6 +126,15 @@

Method Details

}, }, }, + "systemRules": { # Output only. The system rules for snapshot recycle bin policy. + # Defines the default rule that applies if no customer-defined rule matches. + "a_key": { # A rule that defines the retention policy for snapshots in the recycle bin. + "standardSnapshots": { # The rule config for snapshots in the recycle bin. # The rule config for standard snapshots. + "retentionDurationDays": "A String", # The retention duration for snapshots in the recycle bin after which the + # snapshots are automatically deleted from recycle bin. + }, + }, + }, }
@@ -161,6 +170,15 @@

Method Details

}, }, }, + "systemRules": { # Output only. The system rules for snapshot recycle bin policy. + # Defines the default rule that applies if no customer-defined rule matches. + "a_key": { # A rule that defines the retention policy for snapshots in the recycle bin. + "standardSnapshots": { # The rule config for snapshots in the recycle bin. # The rule config for standard snapshots. + "retentionDurationDays": "A String", # The retention duration for snapshots in the recycle bin after which the + # snapshots are automatically deleted from recycle bin. + }, + }, + }, } requestId: string, An optional request ID to identify requests. Specify a unique request ID so diff --git a/docs/dyn/compute_beta.backendServices.html b/docs/dyn/compute_beta.backendServices.html index 358f597eab..ae5d6bf6e1 100644 --- a/docs/dyn/compute_beta.backendServices.html +++ b/docs/dyn/compute_beta.backendServices.html @@ -1448,6 +1448,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -3481,6 +3491,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -6002,6 +6022,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -7734,6 +7764,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -9215,6 +9255,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -10639,6 +10689,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -13791,6 +13851,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: diff --git a/docs/dyn/compute_beta.html b/docs/dyn/compute_beta.html index 3289f237e2..733cfa130e 100644 --- a/docs/dyn/compute_beta.html +++ b/docs/dyn/compute_beta.html @@ -344,6 +344,16 @@

Instance Methods

Returns the nodeTypes Resource.

+

+ organizationRolloutPlans() +

+

Returns the organizationRolloutPlans Resource.

+ +

+ organizationRollouts() +

+

Returns the organizationRollouts Resource.

+

organizationSecurityPolicies()

diff --git a/docs/dyn/compute_beta.instanceGroupManagers.html b/docs/dyn/compute_beta.instanceGroupManagers.html index fe58956f02..0ac834bfc9 100644 --- a/docs/dyn/compute_beta.instanceGroupManagers.html +++ b/docs/dyn/compute_beta.instanceGroupManagers.html @@ -705,6 +705,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -1702,6 +1704,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -1953,6 +1958,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of “instances”. # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instances": [ # The list of URLs of one or more instances for which you want to apply # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME]. "A String", @@ -3988,6 +3996,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -4985,6 +4995,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -5389,6 +5402,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -6386,6 +6401,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -7016,6 +7034,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -8013,6 +8033,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -8311,18 +8334,18 @@

Method Details

{ "items": [ # Output only. [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -8331,8 +8354,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for @@ -9587,6 +9609,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -10584,6 +10608,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -14753,6 +14780,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -15750,6 +15779,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: diff --git a/docs/dyn/compute_beta.instances.html b/docs/dyn/compute_beta.instances.html index 4f8daaa545..26f49ee56f 100644 --- a/docs/dyn/compute_beta.instances.html +++ b/docs/dyn/compute_beta.instances.html @@ -2461,6 +2461,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -2475,6 +2483,10 @@

Method Details

"reservationConsumptionInfo": { # Reservation consumption information that the instance is consuming from. # Output only. [Output Only] Reservation information that the instance is consuming from. "consumedReservation": "A String", # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. + "consumedReservationBlock": "A String", # Output only. [Output Only] The full resource name of the reservation block that this + # instance is consuming from. + "consumedReservationSubBlock": "A String", # Output only. [Output Only] The full resource name of the reservation sub-block that + # this instance is consuming from. }, "scheduling": { "availabilityDomain": 42, # Specifies the availability domain to place the instance in. The value @@ -7603,6 +7615,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -7617,6 +7637,10 @@

Method Details

"reservationConsumptionInfo": { # Reservation consumption information that the instance is consuming from. # Output only. [Output Only] Reservation information that the instance is consuming from. "consumedReservation": "A String", # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. + "consumedReservationBlock": "A String", # Output only. [Output Only] The full resource name of the reservation block that this + # instance is consuming from. + "consumedReservationSubBlock": "A String", # Output only. [Output Only] The full resource name of the reservation sub-block that + # this instance is consuming from. }, "scheduling": { "availabilityDomain": 42, # Specifies the availability domain to place the instance in. The value @@ -10512,6 +10536,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -10526,6 +10558,10 @@

Method Details

"reservationConsumptionInfo": { # Reservation consumption information that the instance is consuming from. # Output only. [Output Only] Reservation information that the instance is consuming from. "consumedReservation": "A String", # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. + "consumedReservationBlock": "A String", # Output only. [Output Only] The full resource name of the reservation block that this + # instance is consuming from. + "consumedReservationSubBlock": "A String", # Output only. [Output Only] The full resource name of the reservation sub-block that + # this instance is consuming from. }, "scheduling": { "availabilityDomain": 42, # Specifies the availability domain to place the instance in. The value @@ -12177,6 +12213,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -12191,6 +12235,10 @@

Method Details

"reservationConsumptionInfo": { # Reservation consumption information that the instance is consuming from. # Output only. [Output Only] Reservation information that the instance is consuming from. "consumedReservation": "A String", # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. + "consumedReservationBlock": "A String", # Output only. [Output Only] The full resource name of the reservation block that this + # instance is consuming from. + "consumedReservationSubBlock": "A String", # Output only. [Output Only] The full resource name of the reservation sub-block that + # this instance is consuming from. }, "scheduling": { "availabilityDomain": 42, # Specifies the availability domain to place the instance in. The value @@ -22490,6 +22538,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -22504,6 +22560,10 @@

Method Details

"reservationConsumptionInfo": { # Reservation consumption information that the instance is consuming from. # Output only. [Output Only] Reservation information that the instance is consuming from. "consumedReservation": "A String", # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. + "consumedReservationBlock": "A String", # Output only. [Output Only] The full resource name of the reservation block that this + # instance is consuming from. + "consumedReservationSubBlock": "A String", # Output only. [Output Only] The full resource name of the reservation sub-block that + # this instance is consuming from. }, "scheduling": { "availabilityDomain": 42, # Specifies the availability domain to place the instance in. The value diff --git a/docs/dyn/compute_beta.organizationRolloutPlans.html b/docs/dyn/compute_beta.organizationRolloutPlans.html new file mode 100644 index 0000000000..cde835cef8 --- /dev/null +++ b/docs/dyn/compute_beta.organizationRolloutPlans.html @@ -0,0 +1,1144 @@ + + + +

Compute Engine API . organizationRolloutPlans

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ delete(organization, rolloutPlan, requestId=None, x__xgafv=None)

+

Deletes an OrganizationRolloutPlan.

+

+ get(organization, rolloutPlan, x__xgafv=None)

+

Gets details of a single organization-scoped RolloutPlan.

+

+ insert(organization, body=None, requestId=None, x__xgafv=None)

+

Creates a new RolloutPlan in a given organization and location.

+

+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists OrganizationRolloutPlans in a given organization and location.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ delete(organization, rolloutPlan, requestId=None, x__xgafv=None) +
Deletes an OrganizationRolloutPlan.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rolloutPlan: string, Name of the OrganizationRolloutPlan resource to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ get(organization, rolloutPlan, x__xgafv=None) +
Gets details of a single organization-scoped RolloutPlan.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rolloutPlan: string, Name of the persistent rollout plan to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # RolloutPlan resource.
+    #
+    # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+    # into smaller increments, referred to as "waves". Each wave targets a specific
+    # portion of the overall affected area and defines criteria that must be met
+    # before progressing to the subsequent wave.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+      # for rolloutPlans.
+  "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+      # scope is considered as ZONAL.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "waves": [ # Required. The waves included in this rollout plan.
+    { # A single wave in a rollout plan.
+      "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+      "number": "A String", # Output only. The wave number.
+      "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+          # required only if the resource being rolled out follows the Orchestrated
+          # pattern.
+        "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+            # multiple Delays to be specified, letting users set separate delays
+            # between batches of projects corresponding to different locations and
+            # batches of projects corresponding to the same location.
+          { # Options to control the delay, if any, between batches of projects.
+            "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                # projects corresponding to different locations, or also between
+                # batches of projects corresponding to the same location.
+                #
+                # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+            "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                # projects. A zero duration corresponds to no delay.
+            "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                # each batch, or if the total processing time for each batch will be
+                # padded if needed to meet the specified duration.
+                #
+                # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+          },
+        ],
+        "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+        "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+            # parallel.
+      },
+      "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+          # defined in a wave, so a resource must satisfy the criteria of *all* the
+          # specified selectors to be in scope for the wave.
+        { # A selector which specifies what resource(s) are included in a given wave.
+          "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+            "includedLocations": [ # Optional. Example: "us-central1-a"
+              "A String",
+            ],
+          },
+          "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+              # nodes such as projects, folders, orgs.
+            "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+              "A String",
+            ],
+            "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+              "A String",
+            ],
+            "includedProjects": [ # Optional. Format: "projects/{project_id}"
+              "A String",
+            ],
+          },
+        },
+      ],
+      "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+        "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+          "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+              # after all changes in the wave are rolled out.
+        },
+        "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+            # a metadata object, the appropriate metadata field mapping to the
+            # validation type must be provided in the validation message. Possible
+            # values are in quotes below alongside an explanation:
+            #   "manual": The system waits for an end-user approval API before
+            #     progressing to the next wave.
+            #   "time": The system waits for a user specified duration before
+            #     progressing to the next wave. TimeBasedValidation must be provided.
+      },
+    },
+  ],
+}
+
+ +
+ insert(organization, body=None, requestId=None, x__xgafv=None) +
Creates a new RolloutPlan in a given organization and location.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # RolloutPlan resource.
+    # 
+    # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+    # into smaller increments, referred to as "waves". Each wave targets a specific
+    # portion of the overall affected area and defines criteria that must be met
+    # before progressing to the subsequent wave.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+      # for rolloutPlans.
+  "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+      # scope is considered as ZONAL.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "waves": [ # Required. The waves included in this rollout plan.
+    { # A single wave in a rollout plan.
+      "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+      "number": "A String", # Output only. The wave number.
+      "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+          # required only if the resource being rolled out follows the Orchestrated
+          # pattern.
+        "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+            # multiple Delays to be specified, letting users set separate delays
+            # between batches of projects corresponding to different locations and
+            # batches of projects corresponding to the same location.
+          { # Options to control the delay, if any, between batches of projects.
+            "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                # projects corresponding to different locations, or also between
+                # batches of projects corresponding to the same location.
+                #
+                # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+            "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                # projects. A zero duration corresponds to no delay.
+            "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                # each batch, or if the total processing time for each batch will be
+                # padded if needed to meet the specified duration.
+                #
+                # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+          },
+        ],
+        "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+        "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+            # parallel.
+      },
+      "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+          # defined in a wave, so a resource must satisfy the criteria of *all* the
+          # specified selectors to be in scope for the wave.
+        { # A selector which specifies what resource(s) are included in a given wave.
+          "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+            "includedLocations": [ # Optional. Example: "us-central1-a"
+              "A String",
+            ],
+          },
+          "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+              # nodes such as projects, folders, orgs.
+            "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+              "A String",
+            ],
+            "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+              "A String",
+            ],
+            "includedProjects": [ # Optional. Format: "projects/{project_id}"
+              "A String",
+            ],
+          },
+        },
+      ],
+      "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+        "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+          "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+              # after all changes in the wave are rolled out.
+        },
+        "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+            # a metadata object, the appropriate metadata field mapping to the
+            # validation type must be provided in the validation message. Possible
+            # values are in quotes below alongside an explanation:
+            #   "manual": The system waits for an end-user approval API before
+            #     progressing to the next wave.
+            #   "time": The system waits for a user specified duration before
+            #     progressing to the next wave. TimeBasedValidation must be provided.
+      },
+    },
+  ],
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists OrganizationRolloutPlans in a given organization and location.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of RolloutPlan resources.
+  "etag": "A String",
+  "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # A list of RolloutPlan resources.
+    { # RolloutPlan resource.
+        #
+        # A RolloutPlan is the customer-defined strategy to divide a large-scale change
+        # into smaller increments, referred to as "waves". Each wave targets a specific
+        # portion of the overall affected area and defines criteria that must be met
+        # before progressing to the subsequent wave.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "description": "A String", # An optional description of this resource. Provide this property when you
+          # create the resource.
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "kind": "compute#rolloutPlan", # Output only. [Output Only] Type of the resource. Always compute#rolloutPlan
+          # for rolloutPlans.
+      "locationScope": "A String", # The location scope of the rollout plan. If not specified, the location
+          # scope is considered as ZONAL.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "waves": [ # Required. The waves included in this rollout plan.
+        { # A single wave in a rollout plan.
+          "displayName": "A String", # Optional. The display name of this wave of the rollout plan.
+          "number": "A String", # Output only. The wave number.
+          "orchestrationOptions": { # Options to control the pace of orchestration of a wave. These options are # Optional. The orchestration options for this wave.
+              # required only if the resource being rolled out follows the Orchestrated
+              # pattern.
+            "delays": [ # Optional. Delays, if any, to be added between batches of projects. We allow
+                # multiple Delays to be specified, letting users set separate delays
+                # between batches of projects corresponding to different locations and
+                # batches of projects corresponding to the same location.
+              { # Options to control the delay, if any, between batches of projects.
+                "delimiter": "A String", # Optional. Controls whether the delay should only be added between batches of
+                    # projects corresponding to different locations, or also between
+                    # batches of projects corresponding to the same location.
+                    #
+                    # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
+                "duration": "A String", # Optional. The duration of the delay, if any, to be added between batches of
+                    # projects. A zero duration corresponds to no delay.
+                "type": "A String", # Optional. Controls whether the specified duration is to be added at the end of
+                    # each batch, or if the total processing time for each batch will be
+                    # padded if needed to meet the specified duration.
+                    #
+                    # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
+              },
+            ],
+            "maxConcurrentLocations": "A String", # Optional. Maximum number of locations to be orchestrated in parallel.
+            "maxConcurrentResourcesPerLocation": "A String", # Optional. Maximum number of resources to be orchestrated per location in
+                # parallel.
+          },
+          "selectors": [ # Required. The selectors for this wave. There is a logical AND between each selector
+              # defined in a wave, so a resource must satisfy the criteria of *all* the
+              # specified selectors to be in scope for the wave.
+            { # A selector which specifies what resource(s) are included in a given wave.
+              "locationSelector": { # Roll out to resources by location. # Optional. Roll out to resources by Cloud locations.
+                "includedLocations": [ # Optional. Example: "us-central1-a"
+                  "A String",
+                ],
+              },
+              "resourceHierarchySelector": { # Roll out to resources by Cloud Resource Manager resource hierarchy # Optional. Roll out to resources by Cloud Resource Manager resource hierarchy.
+                  # nodes such as projects, folders, orgs.
+                "includedFolders": [ # Optional. Format: "folders/{folder_id}"
+                  "A String",
+                ],
+                "includedOrganizations": [ # Optional. Format: "organizations/{organization_id}"
+                  "A String",
+                ],
+                "includedProjects": [ # Optional. Format: "projects/{project_id}"
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "validation": { # The validation to be performed before progressing to the next wave. # Required. The validation to be performed at the end of this wave.
+            "timeBasedValidationMetadata": { # Metadata required if type = "time". # Optional. Metadata required if type = "time".
+              "waitDuration": "A String", # Optional. The duration that the system waits in between waves. This wait starts
+                  # after all changes in the wave are rolled out.
+            },
+            "type": "A String", # Required. The type of the validation. If a type of validation is associated with
+                # a metadata object, the appropriate metadata field mapping to the
+                # validation type must be provided in the validation message. Possible
+                # values are in quotes below alongside an explanation:
+                #   "manual": The system waits for an end-user approval API before
+                #     progressing to the next wave.
+                #   "time": The system waits for a user specified duration before
+                #     progressing to the next wave. TimeBasedValidation must be provided.
+          },
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+      # end_interface: MixerListResponseWithEtagBuilder
+    "A String",
+  ],
+  "warning": { # [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_beta.organizationRollouts.html b/docs/dyn/compute_beta.organizationRollouts.html new file mode 100644 index 0000000000..f5d3319efd --- /dev/null +++ b/docs/dyn/compute_beta.organizationRollouts.html @@ -0,0 +1,1922 @@ + + + +

Compute Engine API . organizationRollouts

+

Instance Methods

+

+ advance(organization, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None)

+

Advances a Rollout to the next wave, or completes it if no waves remain.

+

+ cancel(organization, rollout, requestId=None, rollback=None, x__xgafv=None)

+

Cancels a Rollout.

+

+ close()

+

Close httplib2 connections.

+

+ delete(organization, rollout, requestId=None, x__xgafv=None)

+

Deletes a Rollout.

+

+ get(organization, rollout, x__xgafv=None)

+

Gets details of a single organization-scoped Rollout.

+

+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists Rollouts in a given organization and location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ pause(organization, rollout, etag=None, requestId=None, x__xgafv=None)

+

Pauses a Rollout.

+

+ resume(organization, rollout, etag=None, requestId=None, x__xgafv=None)

+

Resumes a Rollout.

+

Method Details

+
+ advance(organization, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None) +
Advances a Rollout to the next wave, or completes it if no waves remain.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to advance. (required)
+  currentWaveNumber: string, Required. Wave number of the current wave.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ cancel(organization, rollout, requestId=None, rollback=None, x__xgafv=None) +
Cancels a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Name of the Rollout resource to cancel. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  rollback: boolean, Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel
+the rollout without taking any further actions. Note that products must
+support at least one of these options, however, it does not need to support
+both.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ delete(organization, rollout, requestId=None, x__xgafv=None) +
Deletes a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Name of the Rollout resource to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ get(organization, rollout, x__xgafv=None) +
Gets details of a single organization-scoped Rollout.
+
+Args:
+  organization: string, Organization ID for this request. (required)
+  rollout: string, Name of the persistent rollout to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Rollout resource.
+    #
+    # A Rollout is a specific instance of a RolloutPlan. It represents a single
+    # execution of a strategy to roll out a specific resource. It also provides
+    # APIs to interact with the rollout.
+  "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+  "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+      # Ex. 1
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "etag": "A String", # Output only. etag of the Rollout
+      # Ex. abc1234
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+      # for rollouts.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+  "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+  "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+    "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+        # integration model with ProgressiveRollout.
+      "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
+          # detected in a project during a Rollout. It can be one of the following
+          # values:
+          # 1) overwrite : Overwrite the local value with the rollout value.
+          # 2) no_overwrite : Do not overwrite the local value with the rollout
+          # value.
+      "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
+          # values:
+          # 1) "update": Resources will be updated by the rollout.
+          # 2) "delete": Resources will be deleted by the rollout.
+      "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
+          # of truth of the configuration being rolled out across
+          # locations/projects. For example, in the case of a global Rollout which
+          # is applied across regions, this contains the name of the global
+          # resource created by the user which contains a payload for a resource
+          # that is orchestrated across regions. This follows the following format:
+          # //.googleapis.com/projects//locations/global//
+          # e.g.
+          # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+    },
+  },
+  "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
+      # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Output only. The current state of the Rollout.
+  "waveDetails": [ # Output only. Details about each wave of the rollout.
+    { # Additional metadata about the status of each wave provided by the server.
+      "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
+          # Integration model.
+          # model.
+        "completedResourcesCount": "A String", # Output only. Resource completed so far.
+        "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
+            # current progress.
+        "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
+        "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
+            # stopped retrying. There may be some successful resources rolled out in
+            # the wave as the location may have failed later in the Rollout.
+          "A String",
+        ],
+        "failedResourcesCount": "A String", # Output only. Resources failed.
+        "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
+            # specified like "us-east1" or "asia-west1-a".
+          "a_key": { # Represents the status of a location in a wave.
+            "state": "A String", # Output only. Location state of the wave.
+          },
+        },
+      },
+      "waveDisplayName": "A String", # Output only. Wave name.
+          # Ex. wave1
+      "waveNumber": "A String", # Output only. System generated number for the wave.
+    },
+  ],
+}
+
+ +
+ list(organization, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists Rollouts in a given organization and location.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String",
+  "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # A list of Rollout resources.
+    { # Rollout resource.
+        #
+        # A Rollout is a specific instance of a RolloutPlan. It represents a single
+        # execution of a strategy to roll out a specific resource. It also provides
+        # APIs to interact with the rollout.
+      "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+      "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+          # Ex. 1
+      "description": "A String", # An optional description of this resource. Provide this property when you
+          # create the resource.
+      "etag": "A String", # Output only. etag of the Rollout
+          # Ex. abc1234
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+          # for rollouts.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+      "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+      "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+        "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+            # integration model with ProgressiveRollout.
+          "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
+              # detected in a project during a Rollout. It can be one of the following
+              # values:
+              # 1) overwrite : Overwrite the local value with the rollout value.
+              # 2) no_overwrite : Do not overwrite the local value with the rollout
+              # value.
+          "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
+              # values:
+              # 1) "update": Resources will be updated by the rollout.
+              # 2) "delete": Resources will be deleted by the rollout.
+          "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
+              # of truth of the configuration being rolled out across
+              # locations/projects. For example, in the case of a global Rollout which
+              # is applied across regions, this contains the name of the global
+              # resource created by the user which contains a payload for a resource
+              # that is orchestrated across regions. This follows the following format:
+              # //.googleapis.com/projects//locations/global//
+              # e.g.
+              # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+        },
+      },
+      "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
+          # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+      "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+      "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+      "state": "A String", # Output only. The current state of the Rollout.
+      "waveDetails": [ # Output only. Details about each wave of the rollout.
+        { # Additional metadata about the status of each wave provided by the server.
+          "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
+              # Integration model.
+              # model.
+            "completedResourcesCount": "A String", # Output only. Resource completed so far.
+            "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
+                # current progress.
+            "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
+            "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
+                # stopped retrying. There may be some successful resources rolled out in
+                # the wave as the location may have failed later in the Rollout.
+              "A String",
+            ],
+            "failedResourcesCount": "A String", # Output only. Resources failed.
+            "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
+                # specified like "us-east1" or "asia-west1-a".
+              "a_key": { # Represents the status of a location in a wave.
+                "state": "A String", # Output only. Location state of the wave.
+              },
+            },
+          },
+          "waveDisplayName": "A String", # Output only. Wave name.
+              # Ex. wave1
+          "waveNumber": "A String", # Output only. System generated number for the wave.
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for
+      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
+      # the query parameter pageToken in the next list request.
+      # Subsequent list requests will have their own nextPageToken to
+      # continue paging through the results.
+  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
+  "unreachables": [ # Output only. [Output Only] Unreachable resources.
+      # end_interface: MixerListResponseWithEtagBuilder
+    "A String",
+  ],
+  "warning": { # [Output Only] Informational warning message.
+    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+        # Engine returns NO_RESULTS_ON_PAGE if there
+        # are no results in the response.
+    "data": [ # [Output Only] Metadata about this warning in key:
+        # value format. For example:
+        #
+        # "data": [
+        #   {
+        #    "key": "scope",
+        #    "value": "zones/us-east1-d"
+        #   }
+      {
+        "key": "A String", # [Output Only] A key that provides more detail on the warning being
+            # returned. For example, for warnings where there are no results in a list
+            # request for a particular zone, this key might be scope and
+            # the key value might be the zone name. Other examples might be a key
+            # indicating a deprecated resource and a suggested replacement, or a
+            # warning about invalid network settings (for example, if an instance
+            # attempts to perform IP forwarding but is not enabled for IP forwarding).
+        "value": "A String", # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    "message": "A String", # [Output Only] A human-readable description of the warning code.
+  },
+}
+
+ +
+ 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.
+        
+
+ +
+ pause(organization, rollout, etag=None, requestId=None, x__xgafv=None) +
Pauses a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to pause. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ resume(organization, rollout, etag=None, requestId=None, x__xgafv=None) +
Resumes a Rollout.
+
+Args:
+  organization: string, Required. Organization ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to resume. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/beta/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/beta/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/beta/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/compute_beta.regionBackendServices.html b/docs/dyn/compute_beta.regionBackendServices.html index 13dcbe3f0a..ce5530bd09 100644 --- a/docs/dyn/compute_beta.regionBackendServices.html +++ b/docs/dyn/compute_beta.regionBackendServices.html @@ -1321,6 +1321,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -3105,6 +3115,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -4838,6 +4858,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -6322,6 +6352,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -7747,6 +7787,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -10604,6 +10654,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: diff --git a/docs/dyn/compute_beta.regionInstanceGroupManagers.html b/docs/dyn/compute_beta.regionInstanceGroupManagers.html index ebe8ad2cbb..61ae601694 100644 --- a/docs/dyn/compute_beta.regionInstanceGroupManagers.html +++ b/docs/dyn/compute_beta.regionInstanceGroupManagers.html @@ -881,6 +881,9 @@

Method Details

"allInstances": True or False, # Flag to update all instances instead of specified list of “instances”. # If the flag is set to true then the instances may not be specified # in the request. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instances": [ # The list of URLs of one or more instances for which you want to apply # updates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME]. "A String", @@ -2588,6 +2591,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -3585,6 +3590,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -3846,6 +3854,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -4843,6 +4853,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -5472,6 +5485,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -6469,6 +6484,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -6765,18 +6783,18 @@

Method Details

{ "items": [ # [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -6785,8 +6803,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for @@ -8034,6 +8051,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -9031,6 +9050,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: @@ -13166,6 +13188,8 @@

Method Details

# pools for the instance. "restarting": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be restarted or are currently being restarted. + "restartingInPlace": 42, # Output only. The number of instances in the managed instance group that + # are scheduled to be restarted or are currently being restarted. "resuming": 42, # Output only. The number of instances in the managed instance group that # are scheduled to be resumed or are currently being resumed. "starting": 42, # Output only. The number of instances in the managed instance group that @@ -14163,6 +14187,9 @@

Method Details

# - Manually change the targetSuspendedSize using the update # method. "updatePolicy": { # The update policy for this managed instance group. + "allowedActions": [ # Actions that are allowed to update instances within MIG. + "A String", + ], "instanceRedistributionType": "A String", # The # instance redistribution policy for regional managed instance groups. # Valid values are: diff --git a/docs/dyn/compute_beta.regionUrlMaps.html b/docs/dyn/compute_beta.regionUrlMaps.html index f917bf45ed..55a1235fd2 100644 --- a/docs/dyn/compute_beta.regionUrlMaps.html +++ b/docs/dyn/compute_beta.regionUrlMaps.html @@ -868,6 +868,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -1714,6 +1725,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -2541,6 +2563,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -3630,6 +3663,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -4476,6 +4520,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -5322,6 +5377,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -6149,6 +6215,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -7238,6 +7315,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -8757,6 +8845,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -9603,6 +9702,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -10430,6 +10540,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -11519,6 +11640,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -12416,6 +12548,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -13262,6 +13405,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -14089,6 +14243,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -15178,6 +15343,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -16332,6 +16508,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -17178,6 +17365,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -18005,6 +18203,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -19094,6 +19303,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -20216,6 +20436,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -21062,6 +21293,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -21889,6 +22131,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -22978,6 +23231,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), diff --git a/docs/dyn/compute_beta.regionZones.html b/docs/dyn/compute_beta.regionZones.html index f690e40dac..42ca22ead6 100644 --- a/docs/dyn/compute_beta.regionZones.html +++ b/docs/dyn/compute_beta.regionZones.html @@ -250,6 +250,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. diff --git a/docs/dyn/compute_beta.rollouts.html b/docs/dyn/compute_beta.rollouts.html index 81877db62b..7769e7a7ce 100644 --- a/docs/dyn/compute_beta.rollouts.html +++ b/docs/dyn/compute_beta.rollouts.html @@ -1029,6 +1029,8 @@

Method Details

# which means the first character must be a lowercase letter, and all # following characters must be a dash, lowercase letter, or digit, except # the last character, which cannot be a dash. + "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused. + "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed. "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out. "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model. # integration model with ProgressiveRollout. @@ -1215,6 +1217,8 @@

Method Details

# which means the first character must be a lowercase letter, and all # following characters must be a dash, lowercase letter, or digit, except # the last character, which cannot be a dash. + "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused. + "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed. "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out. "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model. # integration model with ProgressiveRollout. diff --git a/docs/dyn/compute_beta.routers.html b/docs/dyn/compute_beta.routers.html index 674ce76a52..c99808e059 100644 --- a/docs/dyn/compute_beta.routers.html +++ b/docs/dyn/compute_beta.routers.html @@ -581,6 +581,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -2074,6 +2077,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -3770,6 +3776,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -4667,6 +4676,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -5929,6 +5941,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -7499,6 +7514,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -8019,6 +8037,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # @@ -8580,6 +8601,9 @@

Method Details

# These IPs should be used for updating/patching a NAT only. "A String", ], + "effectiveTcpTimeWaitTimeoutSec": 42, # Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + # state. This value is equal to tcp_time_wait_timeout_sec if it is set, + # otherwise it is equal to 120s. The field is output only. "enableDynamicPortAllocation": True or False, # Enable Dynamic Port Allocation. # # diff --git a/docs/dyn/compute_beta.urlMaps.html b/docs/dyn/compute_beta.urlMaps.html index de2c86b19d..c339db6d03 100644 --- a/docs/dyn/compute_beta.urlMaps.html +++ b/docs/dyn/compute_beta.urlMaps.html @@ -686,6 +686,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -1532,6 +1543,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -2359,6 +2381,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -3448,6 +3481,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -4674,6 +4718,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -5520,6 +5575,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -6347,6 +6413,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -7436,6 +7513,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -8281,6 +8369,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -9127,6 +9226,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -9954,6 +10064,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -11043,6 +11164,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -12582,6 +12714,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -13428,6 +13571,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -14255,6 +14409,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -15344,6 +15509,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -16240,6 +16416,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -17086,6 +17273,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -17913,6 +18111,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -19002,6 +19211,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -20165,6 +20385,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -21011,6 +21242,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -21838,6 +22080,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -22927,6 +23180,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -24076,6 +24340,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -24922,6 +25197,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -25749,6 +26035,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), @@ -26838,6 +27135,17 @@

Method Details

# The value must be from 0.0 to 100.0 inclusive. }, }, + "imageOptimizationPolicy": { # The configuration for Cloud CDN's image optimization feature. This feature # Image optimization policy for this URL Map's route. Available only for + # Global EXTERNAL_MANAGED load balancer schemes. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route + # dynamically processes and delivers images from the network edge. + # Image Optimization is only available for Global External Application Load + # Balancers. + # Either Cloud CDN must be enabled on the backend service or backend bucket + # serving the route, or cache policy must be configured on the same route. + "queryParameterInterpretation": "A String", # Specifies whether to interpret query parameters for image optimization. + }, "maxStreamDuration": { # A Duration represents a fixed-length span of time represented # Specifies the maximum duration (timeout) for streams on the selected route. # Unlike the timeout field where the timeout duration starts # from the time the request has been fully processed (known as*end-of-stream*), diff --git a/docs/dyn/compute_beta.zones.html b/docs/dyn/compute_beta.zones.html index b96f321498..60dbcc17c5 100644 --- a/docs/dyn/compute_beta.zones.html +++ b/docs/dyn/compute_beta.zones.html @@ -166,6 +166,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. @@ -331,6 +439,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. diff --git a/docs/dyn/compute_v1.backendServices.html b/docs/dyn/compute_v1.backendServices.html index d7c605b9ef..1476359fc3 100644 --- a/docs/dyn/compute_v1.backendServices.html +++ b/docs/dyn/compute_v1.backendServices.html @@ -1416,6 +1416,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -3361,6 +3371,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -5074,6 +5094,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -6718,6 +6748,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -8111,6 +8151,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -9447,6 +9497,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -12511,6 +12571,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: diff --git a/docs/dyn/compute_v1.forwardingRules.html b/docs/dyn/compute_v1.forwardingRules.html index b767f80812..09b7ad3bad 100644 --- a/docs/dyn/compute_v1.forwardingRules.html +++ b/docs/dyn/compute_v1.forwardingRules.html @@ -87,7 +87,7 @@

Instance Methods

delete(project, region, forwardingRule, requestId=None, x__xgafv=None)

Deletes the specified ForwardingRule resource.

- get(project, region, forwardingRule, x__xgafv=None)

+ get(project, region, forwardingRule, view=None, x__xgafv=None)

Returns the specified ForwardingRule resource.

insert(project, region, body=None, requestId=None, x__xgafv=None)

@@ -309,6 +309,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -990,13 +995,17 @@

Method Details

- get(project, region, forwardingRule, x__xgafv=None) + get(project, region, forwardingRule, view=None, x__xgafv=None)
Returns the specified ForwardingRule resource.
 
 Args:
   project: string, Project ID for this request. (required)
   region: string, Name of the region scoping this request. (required)
   forwardingRule: string, Name of the ForwardingRule resource to return. (required)
+  view: string, A parameter
+    Allowed values
+      BASIC - The default view of a ForwardingRule, which includes the basic fields.
+      FULL - The full view, including the ForwardingRule.`attached_extensions` field.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1092,6 +1101,11 @@ 

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -1493,6 +1507,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -2269,6 +2288,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -2722,6 +2746,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. diff --git a/docs/dyn/compute_v1.globalForwardingRules.html b/docs/dyn/compute_v1.globalForwardingRules.html index acc4a6f4d5..911dcdc35c 100644 --- a/docs/dyn/compute_v1.globalForwardingRules.html +++ b/docs/dyn/compute_v1.globalForwardingRules.html @@ -81,7 +81,7 @@

Instance Methods

delete(project, forwardingRule, requestId=None, x__xgafv=None)

Deletes the specified GlobalForwardingRule resource.

- get(project, forwardingRule, x__xgafv=None)

+ get(project, forwardingRule, view=None, x__xgafv=None)

Returns the specified GlobalForwardingRule resource. Gets a list of

insert(project, body=None, requestId=None, x__xgafv=None)

@@ -400,13 +400,17 @@

Method Details

- get(project, forwardingRule, x__xgafv=None) + get(project, forwardingRule, view=None, x__xgafv=None)
Returns the specified GlobalForwardingRule resource. Gets a list of
 available forwarding rules by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
   forwardingRule: string, Name of the ForwardingRule resource to return. (required)
+  view: string, A parameter
+    Allowed values
+      BASIC - The default view of a ForwardingRule, which includes the basic fields.
+      FULL - The full view, including the ForwardingRule.`attached_extensions` field.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -502,6 +506,11 @@ 

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -902,6 +911,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -1677,6 +1691,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. @@ -2129,6 +2148,11 @@

Method Details

# cannot be changed after the forwarding rule is created. "allowPscGlobalAccess": True or False, # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. + "attachedExtensions": [ # Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + { # Reference to an extension resource that is attached to this ForwardingRule. + "reference": "A String", # Output only. The resource name. + }, + ], "backendService": "A String", # Identifies the backend service to which the forwarding rule sends traffic. # Required for internal and external passthrough Network Load Balancers; # must be omitted for all other load balancer types. diff --git a/docs/dyn/compute_v1.instanceGroupManagers.html b/docs/dyn/compute_v1.instanceGroupManagers.html index 0ed73f7ece..f6fac67b6c 100644 --- a/docs/dyn/compute_v1.instanceGroupManagers.html +++ b/docs/dyn/compute_v1.instanceGroupManagers.html @@ -5806,18 +5806,18 @@

Method Details

{ "items": [ # Output only. [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -5826,8 +5826,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for diff --git a/docs/dyn/compute_v1.instances.html b/docs/dyn/compute_v1.instances.html index a9f31ea9d6..79ae2fae48 100644 --- a/docs/dyn/compute_v1.instances.html +++ b/docs/dyn/compute_v1.instances.html @@ -2360,6 +2360,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -7136,6 +7144,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -9357,6 +9373,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -10877,6 +10901,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the @@ -20260,6 +20292,14 @@

Method Details

# Engine cluster, as well as the ID of the block, sub-block, and host on # which the running instance is located. # running. + "additionalAttributes": { # Additional location information of the running instance. # Output only. [Output Only] Additional location information of the running instance. + "acceleratorTopologyIds": { # Output only. The IDs of the accelerator topologies the instance belongs to. For + # example + # The key will be topologies like "4x4", "2x2x2" and the value will be + # the location ID of the topologies. + "a_key": "A String", + }, + }, "block": "A String", # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. "cluster": "A String", # [Output Only] The global name of the Compute Engine cluster where the diff --git a/docs/dyn/compute_v1.regionBackendServices.html b/docs/dyn/compute_v1.regionBackendServices.html index 92191d1f1b..3d15a3297b 100644 --- a/docs/dyn/compute_v1.regionBackendServices.html +++ b/docs/dyn/compute_v1.regionBackendServices.html @@ -1289,6 +1289,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -2985,6 +2995,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -4630,6 +4650,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -6026,6 +6056,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -7363,6 +7403,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: @@ -10132,6 +10182,16 @@

Method Details

# backend service. "enable": True or False, # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. + "loggingHttpRequestHeaders": [ # The list of request headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], + "loggingHttpResponseHeaders": [ # The list of response headers that will be logged to Stackdriver. + { # Determines which HTTP headers will be logged to Stackdriver. + "headerName": "A String", # The name of the header to be logged. + }, + ], "optionalFields": [ # This field can only be specified if logging is enabled for this backend # service and "logConfig.optionalMode" was set to CUSTOM. Contains a list # of optional fields you want to include in the logs. For example: diff --git a/docs/dyn/compute_v1.regionInstanceGroupManagers.html b/docs/dyn/compute_v1.regionInstanceGroupManagers.html index 126f38cf3f..e8a2f85fca 100644 --- a/docs/dyn/compute_v1.regionInstanceGroupManagers.html +++ b/docs/dyn/compute_v1.regionInstanceGroupManagers.html @@ -4853,18 +4853,18 @@

Method Details

{ "items": [ # [Output Only] The list of errors of the managed instance group. { - "error": { # Output only. [Output Only] Contents of the error. - "code": "A String", # Output only. [Output Only] Error code. - "message": "A String", # Output only. [Output Only] Error message. + "error": { # Output only. Contents of the error. + "code": "A String", # Output only. Error code. + "message": "A String", # Output only. Error message. }, - "instanceActionDetails": { # Output only. [Output Only] Details of the instance action that triggered this error. + "instanceActionDetails": { # Output only. Details of the instance action that triggered this error. # May be null, if the error was not caused by an action on an instance. # This field is optional. - "action": "A String", # Output only. [Output Only] Action that managed instance group was executing on - # the instance when the error occurred. Possible values: - "instance": "A String", # Output only. [Output Only] The URL of the instance. - # The URL can be set even if the instance has not yet been created. - "version": { # Output only. [Output Only] Version this instance was created from, or was being + "action": "A String", # Output only. Action that managed instance group was executing on the instance when the + # error occurred. Possible values: + "instance": "A String", # Output only. The URL of the instance. The URL can be set even if the instance has not + # yet been created. + "version": { # Output only. Version this instance was created from, or was being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. @@ -4873,8 +4873,7 @@

Method Details

"name": "A String", # Output only. [Output Only] Name of the version. }, }, - "timestamp": "A String", # Output only. [Output Only] The time that this error occurred. - # This value is in RFC3339 text format. + "timestamp": "A String", # Output only. The time that this error occurred. This value is in RFC3339 text format. }, ], "nextPageToken": "A String", # Output only. [Output Only] This token allows you to get the next page of results for diff --git a/docs/dyn/compute_v1.regionZones.html b/docs/dyn/compute_v1.regionZones.html index 95e83593a4..7a1652eb2c 100644 --- a/docs/dyn/compute_v1.regionZones.html +++ b/docs/dyn/compute_v1.regionZones.html @@ -229,6 +229,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. diff --git a/docs/dyn/compute_v1.rollouts.html b/docs/dyn/compute_v1.rollouts.html index 8019c418d9..6d913c62be 100644 --- a/docs/dyn/compute_v1.rollouts.html +++ b/docs/dyn/compute_v1.rollouts.html @@ -74,6 +74,9 @@

Compute Engine API . rollouts

Instance Methods

+

+ advance(project, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None)

+

Advances a Rollout to the next wave, or completes it if no waves remain.

cancel(project, rollout, requestId=None, rollback=None, x__xgafv=None)

Cancels a Rollout.

@@ -92,14 +95,21 @@

Instance Methods

list_next()

Retrieves the next page of results.

+

+ pause(project, rollout, etag=None, requestId=None, x__xgafv=None)

+

Pauses a Rollout.

+

+ resume(project, rollout, etag=None, requestId=None, x__xgafv=None)

+

Resumes a Rollout.

Method Details

- cancel(project, rollout, requestId=None, rollback=None, x__xgafv=None) -
Cancels a Rollout.
+    advance(project, rollout, currentWaveNumber=None, requestId=None, x__xgafv=None)
+  
Advances a Rollout to the next wave, or completes it if no waves remain.
 
 Args:
-  project: string, Project ID for this request. (required)
-  rollout: string, Name of the Rollout resource to cancel. (required)
+  project: string, Required. Project ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to advance. (required)
+  currentWaveNumber: string, Required. Wave number of the current wave.
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so
 that if you must retry your request, the server will know to ignore the
 request if it has already been completed.
@@ -113,10 +123,6 @@ 

Method Details

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - rollback: boolean, Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel -the rollout without taking any further actions. Note that products must -support at least one of these options, however, it does not need to support -both. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -390,17 +396,12 @@

Method Details

- close() -
Close httplib2 connections.
-
- -
- delete(project, rollout, requestId=None, x__xgafv=None) -
Deletes a Rollout.
+    cancel(project, rollout, requestId=None, rollback=None, x__xgafv=None)
+  
Cancels a Rollout.
 
 Args:
   project: string, Project ID for this request. (required)
-  rollout: string, Name of the Rollout resource to delete. (required)
+  rollout: string, Name of the Rollout resource to cancel. (required)
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so
 that if you must retry your request, the server will know to ignore the
 request if it has already been completed.
@@ -414,6 +415,10 @@ 

Method Details

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + rollback: boolean, Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel +the rollout without taking any further actions. Note that products must +support at least one of these options, however, it does not need to support +both. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -687,194 +692,30 @@

Method Details

- get(project, rollout, x__xgafv=None) -
Gets details of a single project-scoped Rollout.
-
-Args:
-  project: string, Project ID for this request. (required)
-  rollout: string, Name of the persistent rollout to return. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Rollout resource.
-    #
-    # A Rollout is a specific instance of a RolloutPlan. It represents a single
-    # execution of a strategy to roll out a specific resource. It also provides
-    # APIs to interact with the rollout.
-  "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
-  "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
-  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
-      # text format.
-  "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
-      # Ex. 1
-  "description": "A String", # An optional description of this resource. Provide this property when you
-      # create the resource.
-  "etag": "A String", # Output only. etag of the Rollout
-      # Ex. abc1234
-  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
-      # defined by the server.
-  "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
-      # for rollouts.
-  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
-      # The name must be 1-63 characters long, and comply withRFC1035.
-      # Specifically, the name must be 1-63 characters long and match the regular
-      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
-      # which means the first character must be a lowercase letter, and all
-      # following characters must be a dash, lowercase letter, or digit, except
-      # the last character, which cannot be a dash.
-  "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
-    "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
-        # integration model with ProgressiveRollout.
-      "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
-          # detected in a project during a Rollout. It can be one of the following
-          # values:
-          # 1) overwrite : Overwrite the local value with the rollout value.
-          # 2) no_overwrite : Do not overwrite the local value with the rollout
-          # value.
-      "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
-          # values:
-          # 1) "update": Resources will be updated by the rollout.
-          # 2) "delete": Resources will be deleted by the rollout.
-      "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
-          # of truth of the configuration being rolled out across
-          # locations/projects. For example, in the case of a global Rollout which
-          # is applied across regions, this contains the name of the global
-          # resource created by the user which contains a payload for a resource
-          # that is orchestrated across regions. This follows the following format:
-          # //.googleapis.com/projects//locations/global//
-          # e.g.
-          # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
-    },
-  },
-  "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
-      # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
-  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
-  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
-  "state": "A String", # Output only. The current state of the Rollout.
-  "waveDetails": [ # Output only. Details about each wave of the rollout.
-    { # Additional metadata about the status of each wave provided by the server.
-      "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
-          # Integration model.
-          # model.
-        "completedResourcesCount": "A String", # Output only. Resource completed so far.
-        "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
-            # current progress.
-        "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
-        "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
-            # stopped retrying. There may be some successful resources rolled out in
-            # the wave as the location may have failed later in the Rollout.
-          "A String",
-        ],
-        "failedResourcesCount": "A String", # Output only. Resources failed.
-        "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
-            # specified like "us-east1" or "asia-west1-a".
-          "a_key": { # Represents the status of a location in a wave.
-            "state": "A String", # Output only. Location state of the wave.
-          },
-        },
-      },
-      "waveDisplayName": "A String", # Output only. Wave name.
-          # Ex. wave1
-      "waveNumber": "A String", # Output only. System generated number for the wave.
-    },
-  ],
-}
+ close() +
Close httplib2 connections.
- list(project, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) -
Lists Rollouts in a given project and location.
+    delete(project, rollout, requestId=None, x__xgafv=None)
+  
Deletes a Rollout.
 
 Args:
   project: string, Project ID for this request. (required)
-  filter: string, A filter expression that filters resources listed in the response. Most
-Compute resources support two types of filter expressions:
-expressions that support regular expressions and expressions that follow
-API improvement proposal AIP-160.
-These two types of filter expressions cannot be mixed in one request.
-
-If you want to use AIP-160, your expression must specify the field name, an
-operator, and the value that you want to use for filtering. The value
-must be a string, a number, or a boolean. The operator
-must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
-
-For example, if you are filtering Compute Engine instances, you can
-exclude instances named `example-instance` by specifying
-`name != example-instance`.
-
-The `:*` comparison can be used to test whether a key has been defined.
-For example, to find all objects with `owner` label use:
-```
-labels.owner:*
-```
-
-You can also filter nested fields. For example, you could specify
-`scheduling.automaticRestart = false` to include instances only
-if they are not scheduled for automatic restarts. You can use filtering
-on nested fields to filter based onresource labels.
-
-To filter on multiple expressions, provide each separate expression within
-parentheses. For example:
-```
-(scheduling.automaticRestart = true)
-(cpuPlatform = "Intel Skylake")
-```
-By default, each expression is an `AND` expression. However, you
-can include `AND` and `OR` expressions explicitly.
-For example:
-```
-(cpuPlatform = "Intel Skylake") OR
-(cpuPlatform = "Intel Broadwell") AND
-(scheduling.automaticRestart = true)
-```
-
-If you want to use a regular expression, use the `eq` (equal) or `ne`
-(not equal) operator against a single un-parenthesized expression with or
-without quotes or against multiple parenthesized expressions. Examples:
-
-`fieldname eq unquoted literal`
-`fieldname eq 'single quoted literal'`
-`fieldname eq "double quoted literal"`
-`(fieldname1 eq literal) (fieldname2 ne "literal")`
-
-The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
-The literal value must match the entire field.
-
-For example, to filter for instances that do not end with name "instance",
-you would use `name ne .*instance`.
-
-You cannot combine constraints on multiple fields using regular
-expressions.
-  maxResults: integer, The maximum number of results per page that should be returned.
-If the number of available results is larger than `maxResults`,
-Compute Engine returns a `nextPageToken` that can be used to get
-the next page of results in subsequent list requests. Acceptable values are
-`0` to `500`, inclusive. (Default: `500`)
-  orderBy: string, Sorts list results by a certain order. By default, results
-are returned in alphanumerical order based on the resource name.
-
-You can also sort results in descending order based on the creation
-timestamp using `orderBy="creationTimestamp desc"`. This sorts
-results based on the `creationTimestamp` field in
-reverse chronological order (newest result first). Use this to sort
-resources like operations so that the newest operation is returned first.
+  rollout: string, Name of the Rollout resource to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
 
-Currently, only sorting by `name` or
-`creationTimestamp desc` is supported.
-  pageToken: string, Specifies a page token to use. Set `pageToken` to the
-`nextPageToken` returned by a previous list request to get
-the next page of results.
-  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
-of failure. The default value is false.
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
 
-For example, when partial success behavior is enabled, aggregatedList for a
-single zone scope either returns all resources in the zone or no resources,
-with an error code.
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -883,40 +724,505 @@ 

Method Details

Returns: An object of the form: - { - "etag": "A String", - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "items": [ # A list of Rollout resources. - { # Rollout resource. - # - # A Rollout is a specific instance of a RolloutPlan. It represents a single - # execution of a strategy to roll out a specific resource. It also provides - # APIs to interact with the rollout. - "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled. - "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed. - "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339 - # text format. - "currentWaveNumber": "A String", # Output only. The number of the currently running wave. - # Ex. 1 - "description": "A String", # An optional description of this resource. Provide this property when you - # create the resource. - "etag": "A String", # Output only. etag of the Rollout - # Ex. abc1234 - "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is - # defined by the server. - "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout - # for rollouts. - "name": "A String", # Name of the resource. Provided by the client when the resource is created. - # The name must be 1-63 characters long, and comply withRFC1035. - # Specifically, the name must be 1-63 characters long and match the regular - # expression `[a-z]([-a-z0-9]*[a-z0-9])?` - # which means the first character must be a lowercase letter, and all - # following characters must be a dash, lowercase letter, or digit, except - # the last character, which cannot be a dash. - "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out. - "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model. - # integration model with ProgressiveRollout. - "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is + { # Represents an Operation resource. + # + # Google Compute Engine has three Operation resources: + # + # * [Global](/compute/docs/reference/rest/v1/globalOperations) + # * [Regional](/compute/docs/reference/rest/v1/regionOperations) + # * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) + # + # You can use an operation resource to manage asynchronous API requests. + # For more information, readHandling + # API responses. + # + # Operations can be global, regional or zonal. + # + # - For global operations, use the `globalOperations` + # resource. + # - For regional operations, use the + # `regionOperations` resource. + # - For zonal operations, use + # the `zoneOperations` resource. + # + # + # + # For more information, read + # Global, Regional, and Zonal Resources. + # + # Note that completed Operation resources have a limited + # retention period. + "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request. + # Not present otherwise. + "creationTimestamp": "A String", # [Deprecated] This field is deprecated. + "description": "A String", # [Output Only] A textual description of the operation, which is + # set when the operation is created. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339 + # text format. + "error": { # [Output Only] If errors are generated during processing of the operation, + # this field will be populated. + "errors": [ # [Output Only] The array of errors encountered while processing this + # operation. + { + "code": "A String", # [Output Only] The error type identifier for this error. + "errorDetails": [ # [Output Only] An optional list of messages that contain the error + # details. There is a set of defined message types to use for providing + # details.The syntax depends on the error code. For example, + # QuotaExceededInfo will have details when the error code is + # QUOTA_EXCEEDED. + { + "errorInfo": { # Describes the cause of the error with structured details. + # + # Example of an error when contacting the "pubsub.googleapis.com" API when it + # is not enabled: + # + # { "reason": "API_DISABLED" + # "domain": "googleapis.com" + # "metadata": { + # "resource": "projects/123", + # "service": "pubsub.googleapis.com" + # } + # } + # + # This response indicates that the pubsub.googleapis.com API is not enabled. + # + # Example of an error that is returned when attempting to create a Spanner + # instance in a region that is out of stock: + # + # { "reason": "STOCKOUT" + # "domain": "spanner.googleapis.com", + # "metadata": { + # "availableRegions": "us-central1,us-east2" + # } + # } + "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain + # is typically the registered service name of the tool or product that + # generates the error. Example: "pubsub.googleapis.com". If the error is + # generated by some common infrastructure, the error domain must be a + # globally unique value that identifies the infrastructure. For Google API + # infrastructure, the error domain is "googleapis.com". + "metadatas": { # Additional structured details about this error. + # + # Keys must match a regular expression of `a-z+` but should + # ideally be lowerCamelCase. Also, they must be limited to 64 characters in + # length. When identifying the current value of an exceeded limit, the units + # should be contained in the key, not the value. For example, rather than + # `{"instanceLimit": "100/request"}`, should be returned as, + # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of + # instances that can be created in a single (batch) request. + "a_key": "A String", + }, + "reason": "A String", # The reason of the error. This is a constant value that identifies the + # proximate cause of the error. Error reasons are unique within a particular + # domain of errors. This should be at most 63 characters and match a + # regular expression of `A-Z+[A-Z0-9]`, which represents + # UPPER_SNAKE_CASE. + }, + "help": { # Provides links to documentation or for performing an out of band action. + # + # For example, if a quota check failed with an error indicating the calling + # project hasn't enabled the accessed service, this can contain a URL pointing + # directly to the right place in the developer console to flip the bit. + "links": [ # URL(s) pointing to additional information on handling the current error. + { # Describes a URL link. + "description": "A String", # Describes what the link offers. + "url": "A String", # The URL of the link. + }, + ], + }, + "localizedMessage": { # Provides a localized error message that is safe to return to the user + # which can be attached to an RPC error. + "locale": "A String", # The locale used following the specification defined at + # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. + # Examples are: "en-US", "fr-CH", "es-MX" + "message": "A String", # The localized error message in the above locale. + }, + "quotaInfo": { # Additional details for quota exceeded error for resource quota. + "dimensions": { # The map holding related quota dimensions. + "a_key": "A String", + }, + "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota + # type or metric. + "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type + # or metric. + "limitName": "A String", # The name of the quota limit. + "metricName": "A String", # The Compute Engine quota metric name. + "rolloutStatus": "A String", # Rollout status of the future quota limit. + }, + }, + ], + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. + # This property is optional. + "message": "A String", # [Output Only] An optional, human-readable error message. + }, + ], + }, + "getVersionOperationMetadata": { + "inlineSbomInfo": { + "currentComponentVersions": { # A mapping of components to their currently-applied versions or other + # appropriate identifiers. + "a_key": "A String", + }, + "targetComponentVersions": { # A mapping of components to their target versions or other appropriate + # identifiers. + "a_key": "A String", + }, + }, + }, + "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error + # message that was returned, such as `NOT FOUND`. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error + # status code that was returned. For example, a `404` means the + # resource was not found. + "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is + # defined by the server. + "insertTime": "A String", # [Output Only] The time that this operation was requested. + # This value is inRFC3339 + # text format. + "instancesBulkInsertOperationMetadata": { + "perLocationStatus": { # Status information per location (location name is key). + # Example key: zones/us-central1-a + "a_key": { + "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far. + "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback. + "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an + # error. + "status": "A String", # [Output Only] Creation status of BulkInsert operation - information + # if the flow is rolling forward or rolling back. + "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created. + }, + }, + }, + "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for + # Operation resources. + "name": "A String", # [Output Only] Name of the operation. + "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a + # group of operations results from a `bulkInsert` API request. + "operationType": "A String", # [Output Only] The type of operation, such as `insert`, + # `update`, or `delete`, and so on. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. + # There is no requirement that this be linear or support any granularity of + # operations. This should not be used to guess when the operation will be + # complete. This number should monotonically increase as the operation + # progresses. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only + # applicable when performing regional operations. + "selfLink": "A String", # [Output Only] Server-defined URL for the resource. + "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata, + # this field will contain information on all underlying zonal actions and + # their state. + "clientOperationId": "A String", # [Output Only] The client operation id. + "perLocationOperations": { # [Output Only] Status information per location (location name is key). + # Example key: zones/us-central1-a + "a_key": { + "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is + # populated. + # 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. + }, + "state": "A String", # [Output Only] Status of the action, which can be one of the following: + # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + }, + }, + }, + "startTime": "A String", # [Output Only] The time that this operation was started by the server. + # This value is inRFC3339 + # text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the + # following: + # `PENDING`, `RUNNING`, or `DONE`. + "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the + # operation. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation + # of the target resource. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For + # operations related to creating a snapshot, this points to the disk + # that the snapshot was created from. + "user": "A String", # [Output Only] User who requested the operation, for example: + # `user@example.com` or + # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. + "warnings": [ # [Output Only] If warning messages are generated during processing of the + # operation, this field will be populated. + { + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute + # Engine returns NO_RESULTS_ON_PAGE if there + # are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: + # value format. For example: + # + # "data": [ + # { + # "key": "scope", + # "value": "zones/us-east1-d" + # } + { + "key": "A String", # [Output Only] A key that provides more detail on the warning being + # returned. For example, for warnings where there are no results in a list + # request for a particular zone, this key might be scope and + # the key value might be the zone name. Other examples might be a key + # indicating a deprecated resource and a suggested replacement, or a + # warning about invalid network settings (for example, if an instance + # attempts to perform IP forwarding but is not enabled for IP forwarding). + "value": "A String", # [Output Only] A warning data value corresponding to the key. + }, + ], + "message": "A String", # [Output Only] A human-readable description of the warning code. + }, + ], + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only + # applicable when performing per-zone operations. +}
+
+ +
+ get(project, rollout, x__xgafv=None) +
Gets details of a single project-scoped Rollout.
+
+Args:
+  project: string, Project ID for this request. (required)
+  rollout: string, Name of the persistent rollout to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Rollout resource.
+    #
+    # A Rollout is a specific instance of a RolloutPlan. It represents a single
+    # execution of a strategy to roll out a specific resource. It also provides
+    # APIs to interact with the rollout.
+  "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+  "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+  "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+      # text format.
+  "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+      # Ex. 1
+  "description": "A String", # An optional description of this resource. Provide this property when you
+      # create the resource.
+  "etag": "A String", # Output only. etag of the Rollout
+      # Ex. abc1234
+  "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+      # defined by the server.
+  "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+      # for rollouts.
+  "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+      # The name must be 1-63 characters long, and comply withRFC1035.
+      # Specifically, the name must be 1-63 characters long and match the regular
+      # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+      # which means the first character must be a lowercase letter, and all
+      # following characters must be a dash, lowercase letter, or digit, except
+      # the last character, which cannot be a dash.
+  "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+  "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+  "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+    "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+        # integration model with ProgressiveRollout.
+      "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
+          # detected in a project during a Rollout. It can be one of the following
+          # values:
+          # 1) overwrite : Overwrite the local value with the rollout value.
+          # 2) no_overwrite : Do not overwrite the local value with the rollout
+          # value.
+      "orchestrationAction": "A String", # Required. Orchestration action during the Rollout. It can be one of the following
+          # values:
+          # 1) "update": Resources will be updated by the rollout.
+          # 2) "delete": Resources will be deleted by the rollout.
+      "orchestrationSource": "A String", # Required. Fully qualified resource name of the resource which contains the source
+          # of truth of the configuration being rolled out across
+          # locations/projects. For example, in the case of a global Rollout which
+          # is applied across regions, this contains the name of the global
+          # resource created by the user which contains a payload for a resource
+          # that is orchestrated across regions. This follows the following format:
+          # //.googleapis.com/projects//locations/global//
+          # e.g.
+          # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
+    },
+  },
+  "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout.
+      # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
+  "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
+  "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id.
+  "state": "A String", # Output only. The current state of the Rollout.
+  "waveDetails": [ # Output only. Details about each wave of the rollout.
+    { # Additional metadata about the status of each wave provided by the server.
+      "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated
+          # Integration model.
+          # model.
+        "completedResourcesCount": "A String", # Output only. Resource completed so far.
+        "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from
+            # current progress.
+        "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources.
+        "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout
+            # stopped retrying. There may be some successful resources rolled out in
+            # the wave as the location may have failed later in the Rollout.
+          "A String",
+        ],
+        "failedResourcesCount": "A String", # Output only. Resources failed.
+        "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be
+            # specified like "us-east1" or "asia-west1-a".
+          "a_key": { # Represents the status of a location in a wave.
+            "state": "A String", # Output only. Location state of the wave.
+          },
+        },
+      },
+      "waveDisplayName": "A String", # Output only. Wave name.
+          # Ex. wave1
+      "waveNumber": "A String", # Output only. System generated number for the wave.
+    },
+  ],
+}
+
+ +
+ list(project, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists Rollouts in a given project and location.
+
+Args:
+  project: string, Project ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. Most
+Compute resources support two types of filter expressions:
+expressions that support regular expressions and expressions that follow
+API improvement proposal AIP-160.
+These two types of filter expressions cannot be mixed in one request.
+
+If you want to use AIP-160, your expression must specify the field name, an
+operator, and the value that you want to use for filtering. The value
+must be a string, a number, or a boolean. The operator
+must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.
+
+For example, if you are filtering Compute Engine instances, you can
+exclude instances named `example-instance` by specifying
+`name != example-instance`.
+
+The `:*` comparison can be used to test whether a key has been defined.
+For example, to find all objects with `owner` label use:
+```
+labels.owner:*
+```
+
+You can also filter nested fields. For example, you could specify
+`scheduling.automaticRestart = false` to include instances only
+if they are not scheduled for automatic restarts. You can use filtering
+on nested fields to filter based onresource labels.
+
+To filter on multiple expressions, provide each separate expression within
+parentheses. For example:
+```
+(scheduling.automaticRestart = true)
+(cpuPlatform = "Intel Skylake")
+```
+By default, each expression is an `AND` expression. However, you
+can include `AND` and `OR` expressions explicitly.
+For example:
+```
+(cpuPlatform = "Intel Skylake") OR
+(cpuPlatform = "Intel Broadwell") AND
+(scheduling.automaticRestart = true)
+```
+
+If you want to use a regular expression, use the `eq` (equal) or `ne`
+(not equal) operator against a single un-parenthesized expression with or
+without quotes or against multiple parenthesized expressions. Examples:
+
+`fieldname eq unquoted literal`
+`fieldname eq 'single quoted literal'`
+`fieldname eq "double quoted literal"`
+`(fieldname1 eq literal) (fieldname2 ne "literal")`
+
+The literal value is interpreted as a regular expression using GoogleRE2 library syntax.
+The literal value must match the entire field.
+
+For example, to filter for instances that do not end with name "instance",
+you would use `name ne .*instance`.
+
+You cannot combine constraints on multiple fields using regular
+expressions.
+  maxResults: integer, The maximum number of results per page that should be returned.
+If the number of available results is larger than `maxResults`,
+Compute Engine returns a `nextPageToken` that can be used to get
+the next page of results in subsequent list requests. Acceptable values are
+`0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results
+are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation
+timestamp using `orderBy="creationTimestamp desc"`. This sorts
+results based on the `creationTimestamp` field in
+reverse chronological order (newest result first). Use this to sort
+resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or
+`creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the
+`nextPageToken` returned by a previous list request to get
+the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case
+of failure. The default value is false.
+
+For example, when partial success behavior is enabled, aggregatedList for a
+single zone scope either returns all resources in the zone or no resources,
+with an error code.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+  "etag": "A String",
+  "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server.
+  "items": [ # A list of Rollout resources.
+    { # Rollout resource.
+        #
+        # A Rollout is a specific instance of a RolloutPlan. It represents a single
+        # execution of a strategy to roll out a specific resource. It also provides
+        # APIs to interact with the rollout.
+      "cancellationTime": "A String", # Output only. The timestamp at which the Rollout was cancelled.
+      "completionTime": "A String", # Output only. The timestamp at which the Rollout was completed.
+      "creationTimestamp": "A String", # Output only. [Output Only] Creation timestamp inRFC3339
+          # text format.
+      "currentWaveNumber": "A String", # Output only. The number of the currently running wave.
+          # Ex. 1
+      "description": "A String", # An optional description of this resource. Provide this property when you
+          # create the resource.
+      "etag": "A String", # Output only. etag of the Rollout
+          # Ex. abc1234
+      "id": "A String", # Output only. [Output Only] The unique identifier for the resource. This identifier is
+          # defined by the server.
+      "kind": "compute#rollout", # Output only. [Output Only] Type of the resource. Always compute#rollout
+          # for rollouts.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created.
+          # The name must be 1-63 characters long, and comply withRFC1035.
+          # Specifically, the name must be 1-63 characters long and match the regular
+          # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
+          # which means the first character must be a lowercase letter, and all
+          # following characters must be a dash, lowercase letter, or digit, except
+          # the last character, which cannot be a dash.
+      "pauseTime": "A String", # Output only. The timestamp at which the Rollout was paused.
+      "resumeTime": "A String", # Output only. The timestamp at which the Rollout was resumed.
+      "rolloutEntity": { # Specifications of the resource to roll out. # Required. The resource being rolled out.
+        "orchestratedEntity": { # This message is used if the resource type follows the Orchestrated # Optional. Entity details for products using the Orchestrated Integration model.
+            # integration model with ProgressiveRollout.
+          "conflictBehavior": "A String", # Required. Specifies the behavior of the Rollout if an out of band update is
               # detected in a project during a Rollout. It can be one of the following
               # values:
               # 1) overwrite : Overwrite the local value with the rollout value.
@@ -937,90 +1243,680 @@ 

Method Details

# //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1 }, }, - "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout. - # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1 - "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource. - "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id. - "state": "A String", # Output only. The current state of the Rollout. - "waveDetails": [ # Output only. Details about each wave of the rollout. - { # Additional metadata about the status of each wave provided by the server. - "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated - # Integration model. - # model. - "completedResourcesCount": "A String", # Output only. Resource completed so far. - "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from - # current progress. - "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources. - "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout - # stopped retrying. There may be some successful resources rolled out in - # the wave as the location may have failed later in the Rollout. - "A String", - ], - "failedResourcesCount": "A String", # Output only. Resources failed. - "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be - # specified like "us-east1" or "asia-west1-a". - "a_key": { # Represents the status of a location in a wave. - "state": "A String", # Output only. Location state of the wave. + "rolloutPlan": "A String", # Required. Rollout Plan used to model the Rollout. + # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1 + "selfLink": "A String", # Output only. [Output Only] Server-defined fully-qualified URL for this resource. + "selfLinkWithId": "A String", # Output only. [Output Only] Server-defined URL for this resource's resource id. + "state": "A String", # Output only. The current state of the Rollout. + "waveDetails": [ # Output only. Details about each wave of the rollout. + { # Additional metadata about the status of each wave provided by the server. + "orchestratedWaveDetails": { # Details of the wave for products using the Orchestrated integration # Output only. Additional details of the wave for products using the Orchestrated + # Integration model. + # model. + "completedResourcesCount": "A String", # Output only. Resource completed so far. + "estimatedCompletionTime": "A String", # Output only. Estimated timestamp at which the wave will complete. Extrapolated from + # current progress. + "estimatedTotalResourcesCount": "A String", # Output only. Estimated total count of resources. + "failedLocations": [ # Output only. Locations that failed during orchestration, and ProgressiveRollout + # stopped retrying. There may be some successful resources rolled out in + # the wave as the location may have failed later in the Rollout. + "A String", + ], + "failedResourcesCount": "A String", # Output only. Resources failed. + "locationStatus": { # Output only. Status of each location in the wave. Map keys (locations) must be + # specified like "us-east1" or "asia-west1-a". + "a_key": { # Represents the status of a location in a wave. + "state": "A String", # Output only. Location state of the wave. + }, + }, + }, + "waveDisplayName": "A String", # Output only. Wave name. + # Ex. wave1 + "waveNumber": "A String", # Output only. System generated number for the wave. + }, + ], + }, + ], + "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for + # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for + # the query parameter pageToken in the next list request. + # Subsequent list requests will have their own nextPageToken to + # continue paging through the results. + "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource. + "unreachables": [ # Output only. [Output Only] Unreachable resources. + # end_interface: MixerListResponseWithEtagBuilder + "A String", + ], + "warning": { # [Output Only] Informational warning message. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute + # Engine returns NO_RESULTS_ON_PAGE if there + # are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: + # value format. For example: + # + # "data": [ + # { + # "key": "scope", + # "value": "zones/us-east1-d" + # } + { + "key": "A String", # [Output Only] A key that provides more detail on the warning being + # returned. For example, for warnings where there are no results in a list + # request for a particular zone, this key might be scope and + # the key value might be the zone name. Other examples might be a key + # indicating a deprecated resource and a suggested replacement, or a + # warning about invalid network settings (for example, if an instance + # attempts to perform IP forwarding but is not enabled for IP forwarding). + "value": "A String", # [Output Only] A warning data value corresponding to the key. + }, + ], + "message": "A String", # [Output Only] A human-readable description of the warning code. + }, +}
+
+ +
+ 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.
+        
+
+ +
+ pause(project, rollout, etag=None, requestId=None, x__xgafv=None) +
Pauses a Rollout.
+
+Args:
+  project: string, Required. Project ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to pause. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/v1/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/v1/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/v1/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
+              },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
+            },
+          },
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
+}
+
+ +
+ resume(project, rollout, etag=None, requestId=None, x__xgafv=None) +
Resumes a Rollout.
+
+Args:
+  project: string, Required. Project ID for this request. (required)
+  rollout: string, Required. Name of the Rollout resource to resume. (required)
+  etag: string, The etag of the Rollout.
+If this is provided, the request will only succeed if the etag matches
+the current etag of the Rollout.
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so
+that if you must retry your request, the server will know to ignore the
+request if it has already been completed.
+
+For example, consider a situation where you make an initial request and
+the request times out. If you make the request again with the same
+request ID, the server can check if original operation with the same
+request ID was received, and if so, will ignore the second request. This
+prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be
+a valid UUID with the exception that zero UUID is not supported
+(00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/v1/globalOperations)
+    # * [Regional](/compute/docs/reference/rest/v1/regionOperations)
+    # * [Zonal](/compute/docs/reference/rest/v1/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests.
+    # For more information, readHandling
+    # API responses.
+    #
+    # Operations can be global, regional or zonal.
+    #
+    #    - For global operations, use the `globalOperations`
+    #    resource.
+    #    - For regional operations, use the
+    #    `regionOperations` resource.
+    #    - For zonal operations, use
+    #    the `zoneOperations` resource.
+    #
+    #
+    #
+    # For more information, read
+    # Global, Regional, and Zonal Resources.
+    #
+    # Note that completed Operation resources have a limited
+    # retention period.
+  "clientOperationId": "A String", # [Output Only] The value of `requestId` if you provided it in the request.
+      # Not present otherwise.
+  "creationTimestamp": "A String", # [Deprecated] This field is deprecated.
+  "description": "A String", # [Output Only] A textual description of the operation, which is
+      # set when the operation is created.
+  "endTime": "A String", # [Output Only] The time that this operation was completed. This value is inRFC3339
+      # text format.
+  "error": { # [Output Only] If errors are generated during processing of the operation,
+      # this field will be populated.
+    "errors": [ # [Output Only] The array of errors encountered while processing this
+        # operation.
+      {
+        "code": "A String", # [Output Only] The error type identifier for this error.
+        "errorDetails": [ # [Output Only] An optional list of messages that contain the error
+            # details. There is a set of defined message types to use for providing
+            # details.The syntax depends on the error code. For example,
+            # QuotaExceededInfo will have details when the error code is
+            # QUOTA_EXCEEDED.
+          {
+            "errorInfo": { # Describes the cause of the error with structured details.
+                #
+                # Example of an error when contacting the "pubsub.googleapis.com" API when it
+                # is not enabled:
+                #
+                #     { "reason": "API_DISABLED"
+                #       "domain": "googleapis.com"
+                #       "metadata": {
+                #         "resource": "projects/123",
+                #         "service": "pubsub.googleapis.com"
+                #       }
+                #     }
+                #
+                # This response indicates that the pubsub.googleapis.com API is not enabled.
+                #
+                # Example of an error that is returned when attempting to create a Spanner
+                # instance in a region that is out of stock:
+                #
+                #     { "reason": "STOCKOUT"
+                #       "domain": "spanner.googleapis.com",
+                #       "metadata": {
+                #         "availableRegions": "us-central1,us-east2"
+                #       }
+                #     }
+              "domain": "A String", # The logical grouping to which the "reason" belongs. The error domain
+                  # is typically the registered service name of the tool or product that
+                  # generates the error. Example: "pubsub.googleapis.com". If the error is
+                  # generated by some common infrastructure, the error domain must be a
+                  # globally unique value that identifies the infrastructure. For Google API
+                  # infrastructure, the error domain is "googleapis.com".
+              "metadatas": { # Additional structured details about this error.
+                  #
+                  # Keys must match a regular expression of `a-z+` but should
+                  # ideally be lowerCamelCase. Also, they must be limited to 64 characters in
+                  # length. When identifying the current value of an exceeded limit, the units
+                  # should be contained in the key, not the value.  For example, rather than
+                  # `{"instanceLimit": "100/request"}`, should be returned as,
+                  # `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
+                  # instances that can be created in a single (batch) request.
+                "a_key": "A String",
+              },
+              "reason": "A String", # The reason of the error. This is a constant value that identifies the
+                  # proximate cause of the error. Error reasons are unique within a particular
+                  # domain of errors. This should be at most 63 characters and match a
+                  # regular expression of `A-Z+[A-Z0-9]`, which represents
+                  # UPPER_SNAKE_CASE.
+            },
+            "help": { # Provides links to documentation or for performing an out of band action.
+                #
+                # For example, if a quota check failed with an error indicating the calling
+                # project hasn't enabled the accessed service, this can contain a URL pointing
+                # directly to the right place in the developer console to flip the bit.
+              "links": [ # URL(s) pointing to additional information on handling the current error.
+                { # Describes a URL link.
+                  "description": "A String", # Describes what the link offers.
+                  "url": "A String", # The URL of the link.
+                },
+              ],
+            },
+            "localizedMessage": { # Provides a localized error message that is safe to return to the user
+                # which can be attached to an RPC error.
+              "locale": "A String", # The locale used following the specification defined at
+                  # https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
+                  # Examples are: "en-US", "fr-CH", "es-MX"
+              "message": "A String", # The localized error message in the above locale.
+            },
+            "quotaInfo": { # Additional details for quota exceeded error for resource quota.
+              "dimensions": { # The map holding related quota dimensions.
+                "a_key": "A String",
               },
+              "futureLimit": 3.14, # Future quota limit being rolled out. The limit's unit depends on the quota
+                  #  type or metric.
+              "limit": 3.14, # Current effective quota limit. The limit's unit depends on the quota type
+                  # or metric.
+              "limitName": "A String", # The name of the quota limit.
+              "metricName": "A String", # The Compute Engine quota metric name.
+              "rolloutStatus": "A String", # Rollout status of the future quota limit.
             },
           },
-          "waveDisplayName": "A String", # Output only. Wave name.
-              # Ex. wave1
-          "waveNumber": "A String", # Output only. System generated number for the wave.
+        ],
+        "location": "A String", # [Output Only] Indicates the field in the request that caused the error.
+            # This property is optional.
+        "message": "A String", # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  "getVersionOperationMetadata": {
+    "inlineSbomInfo": {
+      "currentComponentVersions": { # A mapping of components to their currently-applied versions or other
+          # appropriate identifiers.
+        "a_key": "A String",
+      },
+      "targetComponentVersions": { # A mapping of components to their target versions or other appropriate
+          # identifiers.
+        "a_key": "A String",
+      },
+    },
+  },
+  "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error
+      # message that was returned, such as `NOT FOUND`.
+  "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error
+      # status code that was returned. For example, a `404` means the
+      # resource was not found.
+  "id": "A String", # [Output Only] The unique identifier for the operation. This identifier is
+      # defined by the server.
+  "insertTime": "A String", # [Output Only] The time that this operation was requested.
+      # This value is inRFC3339
+      # text format.
+  "instancesBulkInsertOperationMetadata": {
+    "perLocationStatus": { # Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "createdVmCount": 42, # [Output Only] Count of VMs successfully created so far.
+        "deletedVmCount": 42, # [Output Only] Count of VMs that got deleted during rollback.
+        "failedToCreateVmCount": 42, # [Output Only] Count of VMs that started creating but encountered an
+            # error.
+        "status": "A String", # [Output Only] Creation status of BulkInsert operation - information
+            # if the flow is rolling forward or rolling back.
+        "targetVmCount": 42, # [Output Only] Count of VMs originally planned to be created.
+      },
+    },
+  },
+  "kind": "compute#operation", # Output only. [Output Only] Type of the resource. Always `compute#operation` for
+      # Operation resources.
+  "name": "A String", # [Output Only] Name of the operation.
+  "operationGroupId": "A String", # Output only. [Output Only] An ID that represents a group of operations, such as when a
+      # group of operations results from a `bulkInsert` API request.
+  "operationType": "A String", # [Output Only] The type of operation, such as `insert`,
+      # `update`, or `delete`, and so on.
+  "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100.
+      # There is no requirement that this be linear or support any granularity of
+      # operations. This should not be used to guess when the operation will be
+      # complete. This number should monotonically increase as the operation
+      # progresses.
+  "region": "A String", # [Output Only] The URL of the region where the operation resides. Only
+      # applicable when performing regional operations.
+  "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+  "setCommonInstanceMetadataOperationMetadata": { # Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,
+      # this field will contain information on all underlying zonal actions and
+      # their state.
+    "clientOperationId": "A String", # [Output Only] The client operation id.
+    "perLocationOperations": { # [Output Only] Status information per location (location name is key).
+        # Example key: zones/us-central1-a
+      "a_key": {
+        "error": { # The `Status` type defines a logical error model that is suitable for # [Output Only] If state is `ABANDONED` or `FAILED`, this field is
+            # populated.
+            # 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.
+        },
+        "state": "A String", # [Output Only] Status of the action, which can be one of the following:
+            # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`.
+      },
+    },
+  },
+  "startTime": "A String", # [Output Only] The time that this operation was started by the server.
+      # This value is inRFC3339
+      # text format.
+  "status": "A String", # [Output Only] The status of the operation, which can be one of the
+      # following:
+      # `PENDING`, `RUNNING`, or `DONE`.
+  "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the
+      # operation.
+  "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation
+      # of the target resource.
+  "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. For
+      # operations related to creating a snapshot, this points to the disk
+      # that the snapshot was created from.
+  "user": "A String", # [Output Only] User who requested the operation, for example:
+      # `user@example.com` or
+      # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`.
+  "warnings": [ # [Output Only] If warning messages are generated during processing of the
+      # operation, this field will be populated.
+    {
+      "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
+          # Engine returns NO_RESULTS_ON_PAGE if there
+          # are no results in the response.
+      "data": [ # [Output Only] Metadata about this warning in key:
+          # value format. For example:
+          #
+          # "data": [
+          #   {
+          #    "key": "scope",
+          #    "value": "zones/us-east1-d"
+          #   }
+        {
+          "key": "A String", # [Output Only] A key that provides more detail on the warning being
+              # returned. For example, for warnings where there are no results in a list
+              # request for a particular zone, this key might be scope and
+              # the key value might be the zone name. Other examples might be a key
+              # indicating a deprecated resource and a suggested replacement, or a
+              # warning about invalid network settings (for example, if an instance
+              # attempts to perform IP forwarding but is not enabled for IP forwarding).
+          "value": "A String", # [Output Only] A warning data value corresponding to the key.
         },
       ],
+      "message": "A String", # [Output Only] A human-readable description of the warning code.
     },
   ],
-  "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for
-      # list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for
-      # the query parameter pageToken in the next list request.
-      # Subsequent list requests will have their own nextPageToken to
-      # continue paging through the results.
-  "selfLink": "A String", # Output only. [Output Only] Server-defined URL for this resource.
-  "unreachables": [ # Output only. [Output Only] Unreachable resources.
-      # end_interface: MixerListResponseWithEtagBuilder
-    "A String",
-  ],
-  "warning": { # [Output Only] Informational warning message.
-    "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute
-        # Engine returns NO_RESULTS_ON_PAGE if there
-        # are no results in the response.
-    "data": [ # [Output Only] Metadata about this warning in key:
-        # value format. For example:
-        #
-        # "data": [
-        #   {
-        #    "key": "scope",
-        #    "value": "zones/us-east1-d"
-        #   }
-      {
-        "key": "A String", # [Output Only] A key that provides more detail on the warning being
-            # returned. For example, for warnings where there are no results in a list
-            # request for a particular zone, this key might be scope and
-            # the key value might be the zone name. Other examples might be a key
-            # indicating a deprecated resource and a suggested replacement, or a
-            # warning about invalid network settings (for example, if an instance
-            # attempts to perform IP forwarding but is not enabled for IP forwarding).
-        "value": "A String", # [Output Only] A warning data value corresponding to the key.
-      },
-    ],
-    "message": "A String", # [Output Only] A human-readable description of the warning code.
-  },
+  "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only
+      # applicable when performing per-zone operations.
 }
-
- 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.
-        
-
- \ No newline at end of file diff --git a/docs/dyn/compute_v1.routers.html b/docs/dyn/compute_v1.routers.html index 84fd915212..a43cd3e1e0 100644 --- a/docs/dyn/compute_v1.routers.html +++ b/docs/dyn/compute_v1.routers.html @@ -743,6 +743,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -1941,6 +1942,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -3052,6 +3054,7 @@

Method Details

], }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. }, }
@@ -3553,6 +3556,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -4449,6 +4453,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -5492,6 +5497,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -6705,6 +6711,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -7224,6 +7231,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. @@ -7750,6 +7758,7 @@

Method Details

"udpIdleTimeoutSec": 42, # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. }, ], + "nccGateway": "A String", # URI of the ncc_gateway to which this router associated. "network": "A String", # URI of the network to which this router belongs. "params": { # Additional router parameters. # Input only. [Input Only] Additional params passed with the request, but not persisted # as part of resource payload. diff --git a/docs/dyn/compute_v1.zones.html b/docs/dyn/compute_v1.zones.html index 05756f30b6..a924166be4 100644 --- a/docs/dyn/compute_v1.zones.html +++ b/docs/dyn/compute_v1.zones.html @@ -145,6 +145,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. @@ -289,6 +397,114 @@

Method Details

# zones. "name": "A String", # [Output Only] Name of the resource. "region": "A String", # [Output Only] Full URL reference to the region which hosts the zone. + "resourceStatus": { + "upcomingMaintenances": [ # Output only. [Output Only] The upcoming maintenance schedule. + { # The periodic partial maintenance schedule includes 52 weeks worth of + # maintenance windows. + # LINT.IfChange(PeriodicPartialMaintenanceSchedule) + "subType": "A String", # The maintenance type in which the zone is during the given window. + "targetResource": "A String", # The target resource that the maintenance window is for. + # For example, "projects/my-project/zones/us-central1-a". + "type": "A String", + "windowEndTime": { # Represents civil time (or occasionally physical time). # The end civil timestamp of the window (not inclusive). + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + "windowStartTime": { # Represents civil time (or occasionally physical time). # The start civil timestamp of the window. + # This contains a time zone. + # + # 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. + "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 # Time zone. + # [IANA Time Zone Database](https://www.iana.org/time-zones). + "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. + }, + }, + ], + }, "selfLink": "A String", # [Output Only] Server-defined URL for the resource. "status": "A String", # [Output Only] Status of the zone, either UP orDOWN. "supportsPzs": True or False, # Output only. [Output Only] Reserved for future use. diff --git a/docs/dyn/connectors_v2.projects.locations.connections.tools.html b/docs/dyn/connectors_v2.projects.locations.connections.tools.html index bf5be37c04..70eba3dd41 100644 --- a/docs/dyn/connectors_v2.projects.locations.connections.tools.html +++ b/docs/dyn/connectors_v2.projects.locations.connections.tools.html @@ -81,7 +81,7 @@

Instance Methods

execute(name, body=None, x__xgafv=None)

Executes a specific tool.

- list(parent, executionConfig_headers=None, pageSize=None, pageToken=None, x__xgafv=None)

+ list(parent, executionConfig_headers=None, pageSize=None, pageToken=None, toolNames=None, x__xgafv=None)

Lists all available tools.

list_next()

@@ -137,7 +137,7 @@

Method Details

- list(parent, executionConfig_headers=None, pageSize=None, pageToken=None, x__xgafv=None) + list(parent, executionConfig_headers=None, pageSize=None, pageToken=None, toolNames=None, x__xgafv=None)
Lists all available tools.
 
 Args:
@@ -145,6 +145,7 @@ 

Method Details

executionConfig_headers: string, headers to be used for the request. For example: headers:'{"x-integration-connectors-managed-connection-id":"conn-id","x-integration-connectors-runtime-config":"runtime-cfg"}' pageSize: integer, Page size. pageToken: string, Page token. + toolNames: string, List of tool names for selective tool fetching. (repeated) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.assessments.html b/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.assessments.html index 119943597c..fef581ed25 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.assessments.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.assessments.html @@ -136,6 +136,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -174,6 +175,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -205,6 +207,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -268,6 +271,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -306,6 +310,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -349,6 +354,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -410,6 +416,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.html index 0e138ffeff..0b0d7f0c6e 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.authorizedViewSets.authorizedViews.conversations.html @@ -500,6 +500,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -1033,6 +1034,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.autoLabelingRules.html b/docs/dyn/contactcenterinsights_v1.projects.locations.autoLabelingRules.html index b23d81b549..bcb63cfb0f 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.autoLabelingRules.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.autoLabelingRules.html @@ -615,6 +615,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.assessments.html b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.assessments.html index 656a75046e..962c05a7e2 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.assessments.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.assessments.html @@ -136,6 +136,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -174,6 +175,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -205,6 +207,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -268,6 +271,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -306,6 +310,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -349,6 +354,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -410,6 +416,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html index a85c061334..23589ed188 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.conversations.html @@ -594,6 +594,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -1110,6 +1111,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -1684,6 +1686,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -2286,6 +2289,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -2820,6 +2824,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -3338,6 +3343,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -3913,6 +3919,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.datasets.conversations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.datasets.conversations.html index dcbef8ef2b..ed88c4c1e3 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.datasets.conversations.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.datasets.conversations.html @@ -555,6 +555,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. @@ -1157,6 +1158,7 @@

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.html b/docs/dyn/contactcenterinsights_v1.projects.locations.html index 85361d5482..eaa82c6959 100644 --- a/docs/dyn/contactcenterinsights_v1.projects.locations.html +++ b/docs/dyn/contactcenterinsights_v1.projects.locations.html @@ -109,11 +109,6 @@

Instance Methods

Returns the datasets Resource.

-

- diagnostics() -

-

Returns the diagnostics Resource.

-

encryptionSpec()

@@ -166,9 +161,6 @@

Instance Methods

close()

Close httplib2 connections.

-

- diagnoseConversations(parent, body=None, x__xgafv=None)

-

Analyzes conversation data using specialized agentic workflows, such as ReAct, to diagnose issues and provide insights.

generativeInsights(location, body=None, x__xgafv=None)

Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics.

@@ -360,71 +352,6 @@

Method Details

Close httplib2 connections.
-
- diagnoseConversations(parent, body=None, x__xgafv=None) -
Analyzes conversation data using specialized agentic workflows, such as ReAct, to diagnose issues and provide insights.
-
-Args:
-  parent: string, Required. The parent resource where the analysis will be performed. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.
-  "dryRun": True or False, # Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.
-  "filter": "A String", # Optional. AIP-160 compliant filter for selecting target conversations.
-  "fullReport": True or False, # Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.
-  "instructions": "A String", # Optional. Specific instructions for the agent.
-  "maxSteps": 42, # Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.
-  "metricType": "A String", # Optional. The type of metric being diagnosed.
-  "outputConfig": { # Configuration for where to export or return the analysis findings. # Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead.
-    "bigqueryDestination": { # BigQuery destination configuration. # Optional. Export to BigQuery.
-      "dataset": "A String", # Required. The name of the BigQuery dataset.
-      "projectId": "A String", # Optional. A project ID or number.
-      "table": "A String", # Required. The BigQuery table name.
-    },
-    "gcsDestination": { # Cloud Storage destination configuration. # Optional. Export to a Cloud Storage bucket.
-      "uri": "A String", # Required. The Cloud Storage URI to export the results to.
-    },
-    "googleSheetsDestination": { # Google Sheets destination configuration. # Optional. Export directly to a Google Sheet.
-      "sheet": "A String", # Optional. The sheet name.
-      "spreadsheetId": "A String", # Optional. An existing Google Sheets ID.
-    },
-  },
-  "parent": "A String", # Required. The parent resource where the analysis will be performed.
-  "requestId": "A String", # Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
-  "taskQuery": "A String", # Optional. A natural language description of the analysis goal or question.
-  "validateOnly": True or False, # Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.
-}
-
-  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.
-  },
-}
-
-
generativeInsights(location, body=None, x__xgafv=None)
Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics.
@@ -1101,6 +1028,7 @@ 

Method Details

"displayName": "A String", # The agent's name. "dispositionCode": "A String", # A user-provided string indicating the outcome of the agent's segment of the call. "entrySubagentDisplayName": "A String", # The entry subagent's display name. + "entrySubagentId": "A String", # The entry subagent's ID. "location": "A String", # The agent's location. "team": "A String", # A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. "teams": [ # User-specified strings representing the agent's teams. diff --git a/docs/dyn/container_v1.projects.locations.clusters.html b/docs/dyn/container_v1.projects.locations.clusters.html index 796aed6d43..1d1c3f58da 100644 --- a/docs/dyn/container_v1.projects.locations.clusters.html +++ b/docs/dyn/container_v1.projects.locations.clusters.html @@ -273,6 +273,9 @@

Method Details

{ # CreateClusterRequest creates a cluster. "cluster": { # A Google Kubernetes Engine cluster. # Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -710,6 +713,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -951,7 +957,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -974,6 +980,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1045,6 +1056,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -1086,7 +1100,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1513,7 +1527,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1536,6 +1550,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1615,6 +1634,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1647,6 +1673,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1662,6 +1689,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2010,6 +2039,9 @@

Method Details

{ # A Google Kubernetes Engine cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -2447,6 +2479,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -2688,7 +2723,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2711,6 +2746,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -2782,6 +2822,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -2823,7 +2866,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3250,7 +3293,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3273,6 +3316,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3352,6 +3400,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -3384,6 +3439,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -3399,6 +3455,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -3611,6 +3669,9 @@

Method Details

"clusters": [ # A list of clusters in the project in the specified zone, or across all ones. { # A Google Kubernetes Engine cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -4048,6 +4109,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -4289,7 +4353,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4312,6 +4376,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -4383,6 +4452,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -4424,7 +4496,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4851,7 +4923,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4874,6 +4946,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -4953,6 +5030,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -4985,6 +5069,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -5000,6 +5085,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -5172,6 +5259,9 @@

Method Details

{ # SetAddonsConfigRequest sets the addons associated with the cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Required. The desired configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -6116,6 +6206,9 @@

Method Details

], }, "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -6414,6 +6507,8 @@

Method Details

"desiredIdentityServiceConfig": { # IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API # The desired Identity Service component configuration. "enabled": True or False, # Whether to enable the Identity Service component }, + "desiredImage": "A String", # The desired name of the image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. + "desiredImageProject": "A String", # The project containing the desired image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. "desiredImageType": "A String", # The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. "desiredInTransitEncryptionConfig": "A String", # Specify the details of in-transit encryption. "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility. @@ -6484,6 +6579,9 @@

Method Details

"desiredNetworkTierConfig": { # NetworkTierConfig contains network tier information. # The desired network tier configuration for the cluster. "networkTier": "A String", # Network tier configuration. }, + "desiredNodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. The desired NodeCreationConfig for the cluster. + "nodeCreationMode": "A String", # The mode of node creation. + }, "desiredNodeKubeletConfig": { # Node kubelet configs. # The desired node kubelet config for the cluster. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. "A String", @@ -6633,7 +6731,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. diff --git a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html index 173bc7f6d0..7498052019 100644 --- a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html +++ b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html @@ -382,7 +382,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -405,6 +405,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -484,6 +489,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -516,6 +528,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -531,6 +544,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1001,7 +1016,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1024,6 +1039,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1103,6 +1123,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1135,6 +1162,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1150,6 +1178,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1447,7 +1477,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1470,6 +1500,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1549,6 +1584,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1581,6 +1623,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1596,6 +1639,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2081,6 +2126,8 @@

Method Details

"gvnic": { # Configuration of gVNIC feature. # Enable or disable gvnic on the node pool. "enabled": True or False, # Whether gVNIC features are enabled in the node pool. }, + "image": "A String", # The desired name of the image name to use for this node. This is used to create clusters using a custom image. + "imageProject": "A String", # The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. "imageType": "A String", # Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. "kubeletConfig": { # Node kubelet configs. # Node kubelet configs. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. @@ -2181,7 +2228,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2199,6 +2246,8 @@

Method Details

"maxRunDuration": "A String", # The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. "name": "A String", # The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # The desired node drain configuration for nodes in the node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "nodeNetworkConfig": { # Parameters for node pool-level network config. # Node network config. @@ -2221,6 +2270,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html index 43bacbbfab..8be01c73aa 100644 --- a/docs/dyn/container_v1.projects.zones.clusters.html +++ b/docs/dyn/container_v1.projects.zones.clusters.html @@ -150,6 +150,9 @@

Method Details

{ # SetAddonsConfigRequest sets the addons associated with the cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Required. The desired configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -384,6 +387,9 @@

Method Details

{ # CreateClusterRequest creates a cluster. "cluster": { # A Google Kubernetes Engine cluster. # Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters) "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -821,6 +827,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -1062,7 +1071,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1085,6 +1094,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1156,6 +1170,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -1197,7 +1214,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1624,7 +1641,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1647,6 +1664,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1726,6 +1748,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1758,6 +1787,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1773,6 +1803,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2121,6 +2153,9 @@

Method Details

{ # A Google Kubernetes Engine cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -2558,6 +2593,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -2799,7 +2837,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2822,6 +2860,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -2893,6 +2936,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -2934,7 +2980,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3361,7 +3407,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3384,6 +3430,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3463,6 +3514,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -3495,6 +3553,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -3510,6 +3569,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -3766,6 +3827,9 @@

Method Details

"clusters": [ # A list of clusters in the project in the specified zone, or across all ones. { # A Google Kubernetes Engine cluster. "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -4203,6 +4267,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -4444,7 +4511,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4467,6 +4534,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -4538,6 +4610,9 @@

Method Details

"mode": "A String", # Mode is the configuration for how to expose metadata to workloads running on the node pool. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -4579,7 +4654,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5006,7 +5081,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5029,6 +5104,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -5108,6 +5188,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -5140,6 +5227,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -5155,6 +5243,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -6143,6 +6233,9 @@

Method Details

], }, "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "agentSandboxConfig": { # Configuration for the AgentSandbox addon. # Optional. Configuration for the AgentSandbox addon. + "enabled": True or False, # Optional. Whether AgentSandbox is enabled for this cluster. + }, "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster. "loadBalancerType": "A String", # Which load balancer type is installed for Cloud Run. @@ -6441,6 +6534,8 @@

Method Details

"desiredIdentityServiceConfig": { # IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API # The desired Identity Service component configuration. "enabled": True or False, # Whether to enable the Identity Service component }, + "desiredImage": "A String", # The desired name of the image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. + "desiredImageProject": "A String", # The project containing the desired image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. "desiredImageType": "A String", # The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. "desiredInTransitEncryptionConfig": "A String", # Specify the details of in-transit encryption. "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility. @@ -6511,6 +6606,9 @@

Method Details

"desiredNetworkTierConfig": { # NetworkTierConfig contains network tier information. # The desired network tier configuration for the cluster. "networkTier": "A String", # Network tier configuration. }, + "desiredNodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. The desired NodeCreationConfig for the cluster. + "nodeCreationMode": "A String", # The mode of node creation. + }, "desiredNodeKubeletConfig": { # Node kubelet configs. # The desired node kubelet config for the cluster. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. "A String", @@ -6660,7 +6758,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. diff --git a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html index 0f3f6daeaf..fc39e400e4 100644 --- a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html +++ b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html @@ -447,7 +447,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -470,6 +470,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -549,6 +554,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -581,6 +593,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -596,6 +609,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1066,7 +1081,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1089,6 +1104,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1168,6 +1188,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1200,6 +1227,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1215,6 +1243,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1512,7 +1542,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1535,6 +1565,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1614,6 +1649,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered. "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes. @@ -1646,6 +1688,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, @@ -1661,6 +1704,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2071,6 +2116,8 @@

Method Details

"gvnic": { # Configuration of gVNIC feature. # Enable or disable gvnic on the node pool. "enabled": True or False, # Whether gVNIC features are enabled in the node pool. }, + "image": "A String", # The desired name of the image name to use for this node. This is used to create clusters using a custom image. + "imageProject": "A String", # The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. "imageType": "A String", # Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. "kubeletConfig": { # Node kubelet configs. # Node kubelet configs. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. @@ -2171,7 +2218,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2189,6 +2236,8 @@

Method Details

"maxRunDuration": "A String", # The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. "name": "A String", # The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # The desired node drain configuration for nodes in the node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "nodeNetworkConfig": { # Parameters for node pool-level network config. # Node network config. @@ -2211,6 +2260,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. }, diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html index 79b82754e4..dee704cd54 100644 --- a/docs/dyn/container_v1beta1.projects.locations.clusters.html +++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html @@ -817,6 +817,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -1070,7 +1073,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1093,6 +1096,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1166,6 +1174,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -1207,7 +1218,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1657,7 +1668,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1680,6 +1691,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1761,6 +1777,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1793,6 +1816,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1809,6 +1833,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2657,6 +2683,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -2910,7 +2939,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2933,6 +2962,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3006,6 +3040,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -3047,7 +3084,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3497,7 +3534,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3520,6 +3557,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3601,6 +3643,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -3633,6 +3682,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -3649,6 +3699,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -4354,6 +4406,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -4607,7 +4662,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4630,6 +4685,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -4703,6 +4763,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -4744,7 +4807,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5194,7 +5257,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5217,6 +5280,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -5298,6 +5366,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -5330,6 +5405,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -5346,6 +5422,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -6822,6 +6900,8 @@

Method Details

"desiredIdentityServiceConfig": { # IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API # The desired Identity Service component configuration. "enabled": True or False, # Whether to enable the Identity Service component }, + "desiredImage": "A String", # The desired name of the image to use for this node. This is used to create clusters using a custom image. + "desiredImageProject": "A String", # The project containing the desired image to use for this node. This is used to create clusters using a custom image. "desiredImageType": "A String", # The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. "desiredInTransitEncryptionConfig": "A String", # Specify the details of in-transit encryption. Now named inter-node transparent encryption. "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility. @@ -6898,6 +6978,9 @@

Method Details

"desiredNetworkTierConfig": { # NetworkTierConfig contains network tier information. # The desired network tier configuration for the cluster. "networkTier": "A String", # Network tier configuration. }, + "desiredNodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. The desired NodeCreationConfig for the cluster. + "nodeCreationMode": "A String", # The mode of node creation. + }, "desiredNodeKubeletConfig": { # Node kubelet configs. # The desired node kubelet config for the cluster. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. "A String", @@ -7047,7 +7130,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html index 0c776b7bd8..e18adb2f3f 100644 --- a/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html +++ b/docs/dyn/container_v1beta1.projects.locations.clusters.nodePools.html @@ -394,7 +394,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -417,6 +417,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -498,6 +503,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -530,6 +542,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -546,6 +559,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1030,7 +1045,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1053,6 +1068,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1134,6 +1154,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1166,6 +1193,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1182,6 +1210,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1491,7 +1521,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1514,6 +1544,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1595,6 +1630,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1627,6 +1669,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1643,6 +1686,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2129,6 +2174,8 @@

Method Details

"gvnic": { # Configuration of gVNIC feature. # Enable or disable gvnic on the node pool. "enabled": True or False, # Whether gVNIC features are enabled in the node pool. }, + "image": "A String", # The desired name of the image name to use for this node. This is used to create clusters using a custom image. + "imageProject": "A String", # The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. "imageType": "A String", # Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. "kubeletConfig": { # Node kubelet configs. # Node kubelet configs. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. @@ -2229,7 +2276,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2247,6 +2294,8 @@

Method Details

"maxRunDuration": "A String", # The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. "name": "A String", # The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # The desired node drain configuration for nodes in the node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "nodeNetworkConfig": { # Parameters for node pool-level network config. # Node network config. @@ -2269,6 +2318,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html index 97da4d5096..b3b156e443 100644 --- a/docs/dyn/container_v1beta1.projects.zones.clusters.html +++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html @@ -938,6 +938,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -1191,7 +1194,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1214,6 +1217,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1287,6 +1295,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -1328,7 +1339,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1778,7 +1789,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1801,6 +1812,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1882,6 +1898,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1914,6 +1937,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1930,6 +1954,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2778,6 +2804,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -3031,7 +3060,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3054,6 +3083,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3127,6 +3161,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -3168,7 +3205,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3618,7 +3655,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -3641,6 +3678,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -3722,6 +3764,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -3754,6 +3803,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -3770,6 +3820,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -4519,6 +4571,9 @@

Method Details

"network": "A String", # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name. "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking. "datapathProvider": "A String", # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. + "dataplaneV2Config": { # DataplaneV2Config is the configuration for DPv2. # Optional. DataplaneV2Config specifies the DPv2 configuration. + "scalabilityMode": "A String", # Optional. Scalability mode for the cluster. + }, "defaultEnablePrivateNodes": True or False, # Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes "defaultSnatStatus": { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. "disabled": True or False, # Disables cluster default sNAT rules. @@ -4772,7 +4827,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -4795,6 +4850,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -4868,6 +4928,9 @@

Method Details

"nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the workloads running on the node. }, }, + "nodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. Configuration for Node Creation Mode. + "nodeCreationMode": "A String", # The mode of node creation. + }, "nodeIpv4CidrSize": 42, # Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode. "nodePoolAutoConfig": { # node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters # Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. "linuxNodeConfig": { # Parameters that can be configured on Linux nodes. # Output only. Configuration options for Linux nodes. @@ -4909,7 +4972,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5359,7 +5422,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -5382,6 +5445,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -5463,6 +5531,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -5495,6 +5570,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -5511,6 +5587,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -6849,6 +6927,8 @@

Method Details

"desiredIdentityServiceConfig": { # IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API # The desired Identity Service component configuration. "enabled": True or False, # Whether to enable the Identity Service component }, + "desiredImage": "A String", # The desired name of the image to use for this node. This is used to create clusters using a custom image. + "desiredImageProject": "A String", # The project containing the desired image to use for this node. This is used to create clusters using a custom image. "desiredImageType": "A String", # The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. "desiredInTransitEncryptionConfig": "A String", # Specify the details of in-transit encryption. Now named inter-node transparent encryption. "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility. @@ -6925,6 +7005,9 @@

Method Details

"desiredNetworkTierConfig": { # NetworkTierConfig contains network tier information. # The desired network tier configuration for the cluster. "networkTier": "A String", # Network tier configuration. }, + "desiredNodeCreationConfig": { # NodeCreationConfig defines the settings of node creation mode. # Optional. The desired NodeCreationConfig for the cluster. + "nodeCreationMode": "A String", # The mode of node creation. + }, "desiredNodeKubeletConfig": { # Node kubelet configs. # The desired node kubelet config for the cluster. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. "A String", @@ -7074,7 +7157,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html index 64c6017989..9cd682ac3c 100644 --- a/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html +++ b/docs/dyn/container_v1beta1.projects.zones.clusters.nodePools.html @@ -459,7 +459,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -482,6 +482,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -563,6 +568,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -595,6 +607,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -611,6 +624,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1095,7 +1110,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1118,6 +1133,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1199,6 +1219,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1231,6 +1258,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1247,6 +1275,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -1556,7 +1586,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -1579,6 +1609,11 @@

Method Details

}, "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform: "Intel Sandy Bridge"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform). "nodeGroup": "A String", # Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). + "nodeImageConfig": { # CustomImageConfig contains the information r # The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + "image": "A String", # The name of the image to use for this node. + "imageFamily": "A String", # The name of the image family to use for this node. + "imageProject": "A String", # The project containing the image to use for this node. + }, "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], @@ -1660,6 +1695,13 @@

Method Details

"locations": [ # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located. If this value is unspecified during node pool creation, the [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations) value will be used, instead. Warning: changing node pool locations will result in nodes being added and/or removed. "A String", ], + "maintenancePolicy": { # Defines the maintenance policy for the node pool. # Optional. Specifies the maintenance policy for the node pool. + "exclusionUntilEndOfSupport": { # Defines the maintenance exclusion for the node pool. # Optional. The exclusion until end of support for the node pool. + "enabled": True or False, # Optional. Indicates whether the exclusion is enabled. + "endTime": "A String", # Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel. + "startTime": "A String", # Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time. + }, + }, "management": { # NodeManagement defines the set of node management services turned on for the node pool. # NodeManagement configuration for this NodePool. "autoRepair": True or False, # Whether the nodes will be automatically repaired. "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded. @@ -1692,6 +1734,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. @@ -1708,6 +1751,8 @@

Method Details

"subnetwork": "A String", # Optional. The subnetwork name/path for the node pool. Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} If the cluster is associated with multiple subnetworks, the subnetwork can be either: - A user supplied subnetwork name during node pool creation (e.g., `my-subnet`). The name must be between 1 and 63 characters long, start with a letter, contain only letters, numbers, and hyphens, and end with a letter or a number. - A full subnetwork path during node pool creation, such as `projects/gke-project/regions/us-central1/subnetworks/my-subnet` - A subnetwork path picked based on the IP utilization during node pool creation and is immutable. }, "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # Specifies the node drain configuration for this node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "placementPolicy": { # PlacementPolicy defines the placement policy used by the node pool. # Specifies the node placement policy. @@ -2119,6 +2164,8 @@

Method Details

"gvnic": { # Configuration of gVNIC feature. # Enable or disable gvnic on the node pool. "enabled": True or False, # Whether gVNIC features are enabled in the node pool. }, + "image": "A String", # The desired name of the image name to use for this node. This is used to create clusters using a custom image. + "imageProject": "A String", # The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. "imageType": "A String", # Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. "kubeletConfig": { # Node kubelet configs. # Node kubelet configs. "allowedUnsafeSysctls": [ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty means they cannot be set on Pods. To allow certain sysctls or sysctl patterns to be set on Pods, list them separated by commas. For example: `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details. @@ -2219,7 +2266,7 @@

Method Details

"swapSizePercent": 42, # Specifies the size of the swap space as a percentage of the ephemeral local SSD capacity. }, }, - "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + "sysctls": { # The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes "a_key": "A String", }, "transparentHugepageDefrag": "A String", # Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. @@ -2237,6 +2284,8 @@

Method Details

"maxRunDuration": "A String", # The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. "name": "A String", # The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`. "nodeDrainConfig": { # NodeDrainConfig contains the node drain related configurations for this node pool. # The desired node drain configuration for nodes in the node pool. + "graceTerminationDuration": "A String", # The duration of the grace termination period for node drain. + "pdbTimeoutDuration": "A String", # The duration of the PDB timeout period for node drain. "respectPdbDuringNodePoolDeletion": True or False, # Whether to respect PDB during node pool deletion. }, "nodeNetworkConfig": { # Parameters for node pool-level network config. # Node network config. @@ -2259,6 +2308,7 @@

Method Details

], "createPodRange": True or False, # Input only. Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified. If neither `create_pod_range` or `pod_range` are specified, the cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is used. Only applicable if `ip_allocation_policy.use_ip_aliases` is true. This field cannot be changed after the node pool has been created. "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes + "network": "A String", # Optional. Immutable. The VPC network for the node pool. "networkPerformanceConfig": { # Configuration of all network bandwidth tiers # Network bandwidth tier configuration. "externalIpEgressBandwidthTier": "A String", # Specifies the network bandwidth tier for the NodePool for traffic to external/public IP addresses. "totalEgressBandwidthTier": "A String", # Specifies the total network bandwidth tier for the NodePool. diff --git a/docs/dyn/containeranalysis_v1.projects.locations.notes.html b/docs/dyn/containeranalysis_v1.projects.locations.notes.html index 5e25f6ea8c..29b7255d5f 100644 --- a/docs/dyn/containeranalysis_v1.projects.locations.notes.html +++ b/docs/dyn/containeranalysis_v1.projects.locations.notes.html @@ -287,18 +287,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -592,18 +599,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -902,18 +916,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1204,18 +1225,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1530,18 +1558,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1888,18 +1923,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -2210,18 +2252,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -2512,18 +2561,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", diff --git a/docs/dyn/containeranalysis_v1.projects.locations.notes.occurrences.html b/docs/dyn/containeranalysis_v1.projects.locations.notes.occurrences.html index 343ecf51e7..e7f22ccea1 100644 --- a/docs/dyn/containeranalysis_v1.projects.locations.notes.occurrences.html +++ b/docs/dyn/containeranalysis_v1.projects.locations.notes.occurrences.html @@ -875,33 +875,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. diff --git a/docs/dyn/containeranalysis_v1.projects.locations.occurrences.html b/docs/dyn/containeranalysis_v1.projects.locations.occurrences.html index 1a6b3ca753..b54921dbbb 100644 --- a/docs/dyn/containeranalysis_v1.projects.locations.occurrences.html +++ b/docs/dyn/containeranalysis_v1.projects.locations.occurrences.html @@ -891,33 +891,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -1798,33 +1812,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -2710,33 +2738,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -3613,33 +3655,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -4541,33 +4597,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -4891,18 +4961,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -5840,33 +5917,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -6764,33 +6855,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -7668,33 +7773,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. diff --git a/docs/dyn/containeranalysis_v1.projects.notes.html b/docs/dyn/containeranalysis_v1.projects.notes.html index 79d5c93d89..116148afea 100644 --- a/docs/dyn/containeranalysis_v1.projects.notes.html +++ b/docs/dyn/containeranalysis_v1.projects.notes.html @@ -287,18 +287,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -592,18 +599,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -902,18 +916,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1204,18 +1225,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1530,18 +1558,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -1888,18 +1923,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -2210,18 +2252,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -2512,18 +2561,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", diff --git a/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html b/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html index 778b570417..64de4621ac 100644 --- a/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html +++ b/docs/dyn/containeranalysis_v1.projects.notes.occurrences.html @@ -875,33 +875,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. diff --git a/docs/dyn/containeranalysis_v1.projects.occurrences.html b/docs/dyn/containeranalysis_v1.projects.occurrences.html index 7135fafa17..639cb23ee2 100644 --- a/docs/dyn/containeranalysis_v1.projects.occurrences.html +++ b/docs/dyn/containeranalysis_v1.projects.occurrences.html @@ -891,33 +891,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -1798,33 +1812,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -2710,33 +2738,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -3613,33 +3655,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -4541,33 +4597,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -4891,18 +4961,25 @@

Method Details

"advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The full description of the v2 CVSS for this vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSSv3 for this vulnerability. "attackComplexity": "A String", @@ -5840,33 +5917,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -6764,33 +6855,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. @@ -7668,33 +7773,47 @@

Method Details

"vulnerability": { # An occurrence of a severity vulnerability on a resource. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 where 0 indicates low severity and 10 indicates high severity. "cvssV2": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. - "authentication": "A String", - "availabilityImpact": "A String", + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", - "privilegesRequired": "A String", - "scope": "A String", - "userInteraction": "A String", + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, otherwise this is the note provider assigned severity. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. "extraDetails": "A String", # Occurrence-specific extra details about the vulnerability. diff --git a/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.html b/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.html index aef0033dca..377d621204 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.html @@ -300,19 +300,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -621,19 +628,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -947,19 +961,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1265,19 +1286,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1607,19 +1635,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1981,19 +2016,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -2319,19 +2361,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -2637,19 +2686,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", diff --git a/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.occurrences.html b/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.occurrences.html index d24f80d5fa..08b8a7abbc 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.occurrences.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.locations.notes.occurrences.html @@ -622,33 +622,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. diff --git a/docs/dyn/containeranalysis_v1beta1.projects.locations.occurrences.html b/docs/dyn/containeranalysis_v1beta1.projects.locations.occurrences.html index 67ba1b339c..d4dc74ec0f 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.locations.occurrences.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.locations.occurrences.html @@ -638,33 +638,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -1265,33 +1279,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -1897,33 +1925,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -2520,33 +2562,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -3168,33 +3224,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -3504,19 +3574,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -4210,33 +4287,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -4854,33 +4945,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -5478,33 +5583,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. diff --git a/docs/dyn/containeranalysis_v1beta1.projects.notes.html b/docs/dyn/containeranalysis_v1beta1.projects.notes.html index 1c7445d4b1..6fbd61e2b5 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.notes.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.notes.html @@ -300,19 +300,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -621,19 +628,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -947,19 +961,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1265,19 +1286,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1607,19 +1635,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -1981,19 +2016,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -2319,19 +2361,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -2637,19 +2686,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", diff --git a/docs/dyn/containeranalysis_v1beta1.projects.notes.occurrences.html b/docs/dyn/containeranalysis_v1beta1.projects.notes.occurrences.html index 98f57eacd9..187b06221a 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.notes.occurrences.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.notes.occurrences.html @@ -622,33 +622,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. diff --git a/docs/dyn/containeranalysis_v1beta1.projects.occurrences.html b/docs/dyn/containeranalysis_v1beta1.projects.occurrences.html index 4b92f4f16d..955217cdab 100644 --- a/docs/dyn/containeranalysis_v1beta1.projects.occurrences.html +++ b/docs/dyn/containeranalysis_v1beta1.projects.occurrences.html @@ -638,33 +638,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -1265,33 +1279,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -1897,33 +1925,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -2520,33 +2562,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -3168,33 +3224,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -3504,19 +3574,26 @@

Method Details

"vulnerability": { # Vulnerability provides metadata about a security vulnerability in a Note. # A note describing a package vulnerability. "advisoryPublishTime": "A String", # The time this advisory was published by the source. "cvssScore": 3.14, # The CVSS score for this vulnerability. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The full description of the CVSS for version 2. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The full description of the CVSS for version 2. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssV3": { # Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document # The full description of the CVSS for version 3. "attackComplexity": "A String", @@ -4210,33 +4287,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 - }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -4854,33 +4945,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. @@ -5478,33 +5583,47 @@

Method Details

"updateTime": "A String", # Output only. The time this occurrence was last updated. "vulnerability": { # Details of a vulnerability Occurrence. # Describes a security vulnerability. "cvssScore": 3.14, # Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity. - "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v2 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV2": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v2 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, - "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator # The cvss v3 score for the vulnerability. - "attackComplexity": "A String", # Defined in CVSS v3, CVSS v2 - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 - "authentication": "A String", # Defined in CVSS v2 - "availabilityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "cvssV3": { # Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator # The cvss v3 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # Defined in CVSS v3, CVSS v2 + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. "exploitabilityScore": 3.14, "impactScore": 3.14, - "integrityImpact": "A String", # Defined in CVSS v3, CVSS v2 - "privilegesRequired": "A String", # Defined in CVSS v3 - "scope": "A String", # Defined in CVSS v3 - "userInteraction": "A String", # Defined in CVSS v3 + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "effectiveSeverity": "A String", # The distro assigned severity for this vulnerability when it is available, and note provider assigned severity when distro has not yet assigned a severity for this vulnerability. When there are multiple PackageIssues for this vulnerability, they can have different effective severities because some might be provided by the distro while others are provided by the language ecosystem for a language pack. For this reason, it is advised to use the effective severity on the PackageIssue level. In the case where multiple PackageIssues have differing effective severities, this field should be the highest severity for any of the PackageIssues. diff --git a/docs/dyn/dataform_v1.projects.locations.folders.html b/docs/dyn/dataform_v1.projects.locations.folders.html index fde514afb3..28149414ff 100644 --- a/docs/dyn/dataform_v1.projects.locations.folders.html +++ b/docs/dyn/dataform_v1.projects.locations.folders.html @@ -400,7 +400,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. diff --git a/docs/dyn/dataform_v1.projects.locations.html b/docs/dyn/dataform_v1.projects.locations.html index cf87052997..efa855170c 100644 --- a/docs/dyn/dataform_v1.projects.locations.html +++ b/docs/dyn/dataform_v1.projects.locations.html @@ -262,7 +262,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.html b/docs/dyn/dataform_v1.projects.locations.repositories.html index 6f73a82a0a..c556d5d3f0 100644 --- a/docs/dyn/dataform_v1.projects.locations.repositories.html +++ b/docs/dyn/dataform_v1.projects.locations.repositories.html @@ -241,7 +241,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -284,7 +286,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -419,7 +423,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -510,7 +516,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -615,7 +623,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -658,7 +668,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -705,8 +717,8 @@

Method Details

{ # `QueryRepositoryDirectoryContents` response message. "directoryEntries": [ # List of entries in the directory. { # Represents a single entry in a directory. - "directory": "A String", # A child directory in the directory. - "file": "A String", # A file in the directory. + "directory": "A String", # A child directory in the directory. The path is returned including the full folder structure from the root. + "file": "A String", # A file in the directory. The path is returned including the full folder structure from the root. "metadata": { # Represents metadata for a single entry in a filesystem. # Entry with metadata. "sizeBytes": "A String", # Output only. Provides the size of the entry in bytes. For directories, this will be 0. "updateTime": "A String", # Output only. Represents the time of the last modification of the entry. diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.workspaces.html b/docs/dyn/dataform_v1.projects.locations.repositories.workspaces.html index b8dcbd64d2..823a8ccb68 100644 --- a/docs/dyn/dataform_v1.projects.locations.repositories.workspaces.html +++ b/docs/dyn/dataform_v1.projects.locations.repositories.workspaces.html @@ -621,8 +621,8 @@

Method Details

{ # `QueryDirectoryContents` response message. "directoryEntries": [ # List of entries in the directory. { # Represents a single entry in a directory. - "directory": "A String", # A child directory in the directory. - "file": "A String", # A file in the directory. + "directory": "A String", # A child directory in the directory. The path is returned including the full folder structure from the root. + "file": "A String", # A file in the directory. The path is returned including the full folder structure from the root. "metadata": { # Represents metadata for a single entry in a filesystem. # Entry with metadata. "sizeBytes": "A String", # Output only. Provides the size of the entry in bytes. For directories, this will be 0. "updateTime": "A String", # Output only. Represents the time of the last modification of the entry. diff --git a/docs/dyn/dataform_v1.projects.locations.teamFolders.html b/docs/dyn/dataform_v1.projects.locations.teamFolders.html index 8d388c465a..25ee1d30ec 100644 --- a/docs/dyn/dataform_v1.projects.locations.teamFolders.html +++ b/docs/dyn/dataform_v1.projects.locations.teamFolders.html @@ -351,7 +351,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -403,7 +405,7 @@

Method Details

location: string, Required. Location in which to query TeamFolders. Format: `projects/*/locations/*`. (required) filter: string, Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter="display_name="MyFolder""` orderBy: string, Optional. Field to additionally sort results by. Supported keywords: `display_name` (default), `create_time`, `last_modified_time`. Examples: * `orderBy="display_name"` * `orderBy="display_name desc"` - pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50. pageToken: string, Optional. Page token received from a previous `SearchTeamFolders` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchTeamFolders`, with the exception of `page_size`, must match the call that provided the page token. x__xgafv: string, V1 error format. Allowed values diff --git a/docs/dyn/dataform_v1beta1.projects.locations.folders.html b/docs/dyn/dataform_v1beta1.projects.locations.folders.html index 1bf6634f0c..6d3b010d41 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.folders.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.folders.html @@ -401,7 +401,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. diff --git a/docs/dyn/dataform_v1beta1.projects.locations.html b/docs/dyn/dataform_v1beta1.projects.locations.html index a1ae6fd098..bc00b2343b 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.html @@ -262,7 +262,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.html index 287c834e77..1b9b98ae41 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.html @@ -114,6 +114,9 @@

Instance Methods

delete(name, force=None, x__xgafv=None)

Deletes a single Repository.

+

+ deleteLongRunning(name, body=None, x__xgafv=None)

+

Deletes a single Repository asynchronously.

fetchHistory(name, pageSize=None, pageToken=None, x__xgafv=None)

Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`.

@@ -241,7 +244,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -284,7 +289,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -329,6 +336,48 @@

Method Details

}
+
+ deleteLongRunning(name, body=None, x__xgafv=None) +
Deletes a single Repository asynchronously.
+
+Args:
+  name: string, Required. The repository's name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # `DeleteRepositoryLongRunning` request message.
+  "force": True or False, # Optional. If set to true, child resources of this repository (compilation results and workflow invocations) will also be deleted. Otherwise, the request will only succeed if the repository has no child resources. **Note:** *This flag doesn't support deletion of workspaces, release configs or workflow configs. If any of such resources exists in the repository, the request will fail.*
+}
+
+  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.
+  },
+}
+
+
fetchHistory(name, pageSize=None, pageToken=None, x__xgafv=None)
Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`.
@@ -419,7 +468,9 @@ 

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -510,7 +561,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -615,7 +668,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -658,7 +713,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -705,8 +762,8 @@

Method Details

{ # `QueryRepositoryDirectoryContents` response message. "directoryEntries": [ # List of entries in the directory. { # Represents a single entry in a directory. - "directory": "A String", # A child directory in the directory. - "file": "A String", # A file in the directory. + "directory": "A String", # A child directory in the directory. The path is returned including the full folder structure from the root. + "file": "A String", # A file in the directory. The path is returned including the full folder structure from the root. "metadata": { # Represents metadata for a single entry in a filesystem. # Entry with metadata. "sizeBytes": "A String", # Output only. Provides the size of the entry in bytes. For directories, this will be 0. "updateTime": "A String", # Output only. Represents the time of the last modification of the entry. diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html index fc40fd8956..75ca5ac304 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.workspaces.html @@ -621,8 +621,8 @@

Method Details

{ # `QueryDirectoryContents` response message. "directoryEntries": [ # List of entries in the directory. { # Represents a single entry in a directory. - "directory": "A String", # A child directory in the directory. - "file": "A String", # A file in the directory. + "directory": "A String", # A child directory in the directory. The path is returned including the full folder structure from the root. + "file": "A String", # A file in the directory. The path is returned including the full folder structure from the root. "metadata": { # Represents metadata for a single entry in a filesystem. # Entry with metadata. "sizeBytes": "A String", # Output only. Provides the size of the entry in bytes. For directories, this will be 0. "updateTime": "A String", # Output only. Represents the time of the last modification of the entry. diff --git a/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html b/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html index 899c63a353..6224e55bb9 100644 --- a/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html +++ b/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html @@ -352,7 +352,9 @@

Method Details

"displayName": "A String", # Optional. The repository's user-friendly name. "gitRemoteSettings": { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote. "authenticationTokenSecretVersion": "A String", # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. - "defaultBranch": "A String", # Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository. + "defaultBranch": "A String", # Optional. The Git remote's default branch name. If not set `main` will be used. + "effectiveDefaultBranch": "A String", # Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. + "gitRepositoryLink": "A String", # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*` "sshAuthenticationConfig": { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol. "hostPublicKey": "A String", # Required. Content of a public SSH key to verify an identity of a remote Git host. "userPrivateKeySecretVersion": "A String", # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`. @@ -404,7 +406,7 @@

Method Details

location: string, Required. Location in which to query TeamFolders. Format: `projects/*/locations/*`. (required) filter: string, Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter="display_name="MyFolder""` orderBy: string, Optional. Field to additionally sort results by. Supported keywords: `display_name` (default), `create_time`, `last_modified_time`. Examples: * `orderBy="display_name"` * `orderBy="display_name desc"` - pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50. pageToken: string, Optional. Page token received from a previous `SearchTeamFolders` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchTeamFolders`, with the exception of `page_size`, must match the call that provided the page token. x__xgafv: string, V1 error format. Allowed values diff --git a/docs/dyn/datalineage_v1.projects.locations.html b/docs/dyn/datalineage_v1.projects.locations.html index 5c174c7189..ea1f563034 100644 --- a/docs/dyn/datalineage_v1.projects.locations.html +++ b/docs/dyn/datalineage_v1.projects.locations.html @@ -223,7 +223,7 @@

Method Details

"maxProcessPerLink": 42, # Optional. The maximum number of processes to return per link. The default value is 0 and the maximum value is 100. If this value is non-zero, the response will contain process names for the links. To retrieve full process details in the response, include `links.processes.process` in the [FieldMask](https://developers.google.com/workspace/docs/api/how-tos/field-masks#read_with_a_field_mask). "maxResults": 42, # Optional. The maximum number of links to return in the response. The default value is 1_000 and the maximum value is 10_000. }, - "locations": [ # Required. The locations to search in. + "locations": [ # Required. The locations to search in. This list should contain the location from the `parent` field. "A String", ], "rootCriteria": { # Criteria for the root of the search. # Required. Criteria for the root of the search. diff --git a/docs/dyn/datamanager_v1.audienceMembers.html b/docs/dyn/datamanager_v1.audienceMembers.html index bf38e52c4c..2d058dae5a 100644 --- a/docs/dyn/datamanager_v1.audienceMembers.html +++ b/docs/dyn/datamanager_v1.audienceMembers.html @@ -100,6 +100,29 @@

Method Details

{ # Request to upload audience members to the provided destinations. Returns an IngestAudienceMembersResponse. "audienceMembers": [ # Required. The list of users to send to the specified destinations. At most 10000 AudienceMember resources can be sent in a single request. { # The audience member to be operated on. + "compositeData": { # Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required. # Group of multiple identifier types. + "ipData": [ # Optional. IP address data representing customer interaction used to build the audience. + { # IP address information for a user. We recommend including observe_start_time and observe_end_time to help improve Customer Match match rates. + "ipAddress": "A String", # Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6. + "observeEndTime": "A String", # Optional. Last recorded interaction time from this IP address in a session. + "observeStartTime": "A String", # Optional. First recorded interaction time from this IP address in a session. + }, + ], + "userData": { # Data that identifies the user. At least one identifier is required. # Optional. User-provided data that identifies the user. + "userIdentifiers": [ # Required. The identifiers for the user. It's possible to provide multiple instances of the same type of data (for example, multiple email addresses). To increase the likelihood of a match, provide as many identifiers as possible. At most 10 `userIdentifiers` can be provided in a single AudienceMember or Event. + { # A single identifier for the user. + "address": { # Address information for the user. # The known components of a user's address. Holds a grouping of identifiers that are matched all at once. + "familyName": "A String", # Required. Family (last) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256. + "givenName": "A String", # Required. Given (first) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256. + "postalCode": "A String", # Required. The postal code of the user's address. + "regionCode": "A String", # Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's address. + }, + "emailAddress": "A String", # Hashed email address using SHA-256 hash function after normalization. + "phoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard). + }, + ], + }, + }, "consent": { # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user. # Optional. The consent setting for the user. "adPersonalization": "A String", # Optional. Represents if the user consents to ad personalization. "adUserData": "A String", # Optional. Represents if the user consents to ad user data. @@ -211,6 +234,29 @@

Method Details

{ # Request to remove users from an audience in the provided destinations. Returns a RemoveAudienceMembersResponse. "audienceMembers": [ # Required. The list of users to remove. { # The audience member to be operated on. + "compositeData": { # Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required. # Group of multiple identifier types. + "ipData": [ # Optional. IP address data representing customer interaction used to build the audience. + { # IP address information for a user. We recommend including observe_start_time and observe_end_time to help improve Customer Match match rates. + "ipAddress": "A String", # Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6. + "observeEndTime": "A String", # Optional. Last recorded interaction time from this IP address in a session. + "observeStartTime": "A String", # Optional. First recorded interaction time from this IP address in a session. + }, + ], + "userData": { # Data that identifies the user. At least one identifier is required. # Optional. User-provided data that identifies the user. + "userIdentifiers": [ # Required. The identifiers for the user. It's possible to provide multiple instances of the same type of data (for example, multiple email addresses). To increase the likelihood of a match, provide as many identifiers as possible. At most 10 `userIdentifiers` can be provided in a single AudienceMember or Event. + { # A single identifier for the user. + "address": { # Address information for the user. # The known components of a user's address. Holds a grouping of identifiers that are matched all at once. + "familyName": "A String", # Required. Family (last) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256. + "givenName": "A String", # Required. Given (first) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256. + "postalCode": "A String", # Required. The postal code of the user's address. + "regionCode": "A String", # Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's address. + }, + "emailAddress": "A String", # Hashed email address using SHA-256 hash function after normalization. + "phoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard). + }, + ], + }, + }, "consent": { # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user. # Optional. The consent setting for the user. "adPersonalization": "A String", # Optional. Represents if the user consents to ad personalization. "adUserData": "A String", # Optional. Represents if the user consents to ad user data. diff --git a/docs/dyn/datamanager_v1.events.html b/docs/dyn/datamanager_v1.events.html index d67f4a0f7f..28c6dd41a6 100644 --- a/docs/dyn/datamanager_v1.events.html +++ b/docs/dyn/datamanager_v1.events.html @@ -138,8 +138,18 @@

Method Details

"events": [ # Required. The list of events to send to the specified destinations. At most 2000 Event resources can be sent in a single request. { # An event representing a user interaction with an advertiser's website or app. "adIdentifiers": { # Identifiers and other information used to match the conversion event with other online activity (such as ad clicks). # Optional. Identifiers and other information used to match the conversion event with other online activity (such as ad clicks). + "dclid": "A String", # Optional. The display click ID associated with this event. + "encryptedUserIds": [ # Optional. Any number of encrypted user IDs. + { # A user identifier issued to be used for attribution. All fields are required if this is used. + "encryptedId": "A String", # Required. The alphanumeric encrypted id. + "entityId": "A String", # Required. The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer. + "entityType": "A String", # Required. The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer. + "source": "A String", # Required. Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer. + }, + ], "gbraid": "A String", # Optional. The click identifier for clicks associated with app events and originating from iOS devices starting with iOS14. "gclid": "A String", # Optional. The Google click ID (gclid) associated with this event. + "impressionId": "A String", # Optional. The impression ID associated with this event. "landingPageDeviceInfo": { # Information about the device being used (if any) when the event happened. # Optional. Information gathered about the device being used (if any) at the time of landing onto the advertiser’s site after interacting with the ad. "brand": "A String", # Optional. The brand of the device. "browser": "A String", # Optional. The brand or type of the browser. @@ -154,6 +164,7 @@

Method Details

"screenWidth": 42, # Optional. The width of the screen in pixels. "userAgent": "A String", # Optional. The user-agent string of the device for the given context. }, + "matchId": "A String", # Optional. The match ID field used to join this event with a previous event. "mobileDeviceId": "A String", # Optional. The mobile identifier for advertisers. This would be IDFA on iOS, AdID on Android, or other platforms’ identifiers for advertisers. "sessionAttributes": "A String", # Optional. Session attributes for event attribution and modeling. "wbraid": "A String", # Optional. The click identifier for clicks associated with web events and originating from iOS devices starting with iOS14. @@ -206,6 +217,7 @@

Method Details

"adPersonalization": "A String", # Optional. Represents if the user consents to ad personalization. "adUserData": "A String", # Optional. Represents if the user consents to ad user data. }, + "conversionCount": 3.14, # Optional. The conversion quantity associated with the event, for counting-based conversions. "conversionValue": 3.14, # Optional. The conversion value associated with the event, for value-based conversions. "currency": "A String", # Optional. The currency code associated with all monetary values within this event. "customVariables": [ # Optional. Additional key/value pair information to send to the conversion containers (conversion action or FL activity). diff --git a/docs/dyn/datamanager_v1.requestStatus.html b/docs/dyn/datamanager_v1.requestStatus.html index 18d45a22f4..6d1bec5bc4 100644 --- a/docs/dyn/datamanager_v1.requestStatus.html +++ b/docs/dyn/datamanager_v1.requestStatus.html @@ -104,6 +104,16 @@

Method Details

"requestStatusPerDestination": [ # A list of request statuses per destination. The order of the statuses matches the order of the destinations in the original request. { # A request status per destination. "audienceMembersIngestionStatus": { # The status of the ingest audience members request. # The status of the ingest audience members request. + "compositeDataIngestionStatus": { # The status of the composite data ingestion to the destination containing stats related to the ingestion. # The status of the composite data ingestion to the destination. + "dataTypeCounts": [ # The total count of data types sent in the upload request for the destination, broken down by data type. Includes all data types in the request, regardless of whether they were successfully ingested or not. + { # The count for a specific data type. + "count": "A String", # The count for this data type. + "type": "A String", # The type of data. + }, + ], + "recordCount": "A String", # The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. + "uploadMatchRateRange": "A String", # The match rate range of the upload. + }, "mobileDataIngestionStatus": { # The status of the mobile data ingestion to the destination containing stats related to the ingestion. # The status of the mobile data ingestion to the destination. "mobileIdCount": "A String", # The total count of mobile ids sent in the upload request for the destination. Includes all mobile ids in the request, regardless of whether they were successfully ingested or not. "recordCount": "A String", # The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. @@ -127,6 +137,15 @@

Method Details

}, }, "audienceMembersRemovalStatus": { # The status of the remove audience members request. # The status of the remove audience members request. + "compositeDataRemovalStatus": { # The status of the composite data removal from the destination. # The status of the composite data removal from the destination. + "dataTypeCounts": [ # The total count of data types sent in the removal request, broken down by data type. Includes all data types in the request, regardless of whether they were successfully removed or not. + { # The count for a specific data type. + "count": "A String", # The count for this data type. + "type": "A String", # The type of data. + }, + ], + "recordCount": "A String", # The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. + }, "mobileDataRemovalStatus": { # The status of the mobile data removal from the destination. # The status of the mobile data removal from the destination. "mobileIdCount": "A String", # The total count of mobile Ids sent in the removal request. Includes all mobile ids in the request, regardless of whether they were successfully removed or not. "recordCount": "A String", # The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. diff --git a/docs/dyn/dataplex_v1.projects.locations.changeRequests.html b/docs/dyn/dataplex_v1.projects.locations.changeRequests.html index 40d72cb394..57f298fe24 100644 --- a/docs/dyn/dataplex_v1.projects.locations.changeRequests.html +++ b/docs/dyn/dataplex_v1.projects.locations.changeRequests.html @@ -74,12 +74,33 @@

Cloud Dataplex API . projects . locations . changeRequests

Instance Methods

+

+ approve(name, body=None, x__xgafv=None)

+

Approves a ChangeRequest.

close()

Close httplib2 connections.

+

+ delete(name, etag=None, x__xgafv=None)

+

Deletes a ChangeRequest.Behavior depends on the caller's permissions and the resource's state: 1. Callers with dataplex.changeRequests.delete can only delete ChangeRequests in the NEW state. 2. Callers with the dataplex.changeRequests.adminDelete permission can delete ChangeRequests regardless of their state.

+

+ get(name, x__xgafv=None)

+

Gets a ChangeRequest.

getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists ChangeRequests.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates a ChangeRequest. Only allowed when the state is NEW.

+

+ reject(name, body=None, x__xgafv=None)

+

Rejects a ChangeRequest.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.

@@ -87,11 +108,607 @@

Instance Methods

testIamPermissions(resource, body=None, x__xgafv=None)

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

Method Details

+
+ approve(name, body=None, x__xgafv=None) +
Approves a ChangeRequest.
+
+Args:
+  name: string, Required. The name of the ChangeRequest to approve. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ApproveChangeRequest.
+  "etag": "A String", # Optional. The etag of the ChangeRequest.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposed change to a metadata resource.
+  "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+  "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+  "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+  "createEntry": { # Create Entry request. # Payload for creating an Entry.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+  },
+  "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+    "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+      "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the Entry Link was created.
+      "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+      "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+        { # Reference to the Entry that is linked through the Entry Link.
+          "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+          "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+          "type": "A String", # Required. Immutable. The reference type of the Entry.
+        },
+      ],
+      "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+      "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+    },
+    "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+  },
+  "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+    "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+    "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+  },
+  "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "categoryId": "A String", # Required. GlossaryCategory identifier.
+    "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+  },
+  "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+    "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "termId": "A String", # Required. GlossaryTerm identifier.
+  },
+  "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+  "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+    "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+    "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+    "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+    "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+  },
+  "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+    "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+  },
+  "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+    "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+  },
+  "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+    "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+    "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+  },
+  "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+    "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+  },
+  "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+    "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+  },
+  "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+  "labels": { # Optional. User-defined labels for the ChangeRequest.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+  "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+  "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+  "state": "A String", # Output only. The current state of the ChangeRequest.
+  "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+  "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+    "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+    "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+      "A String",
+    ],
+    "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+  },
+  "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+    "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+  },
+  "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+}
+
+
close()
Close httplib2 connections.
+
+ delete(name, etag=None, x__xgafv=None) +
Deletes a ChangeRequest.Behavior depends on the caller's permissions and the resource's state: 1. Callers with dataplex.changeRequests.delete can only delete ChangeRequests in the NEW state. 2. Callers with the dataplex.changeRequests.adminDelete permission can delete ChangeRequests regardless of their state.
+
+Args:
+  name: string, Required. The name of the ChangeRequest to delete. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} (required)
+  etag: string, Optional. The etag of the ChangeRequest.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Gets a ChangeRequest.
+
+Args:
+  name: string, Required. The name of the ChangeRequest to retrieve. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposed change to a metadata resource.
+  "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+  "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+  "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+  "createEntry": { # Create Entry request. # Payload for creating an Entry.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+  },
+  "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+    "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+      "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the Entry Link was created.
+      "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+      "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+        { # Reference to the Entry that is linked through the Entry Link.
+          "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+          "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+          "type": "A String", # Required. Immutable. The reference type of the Entry.
+        },
+      ],
+      "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+      "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+    },
+    "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+  },
+  "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+    "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+    "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+  },
+  "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "categoryId": "A String", # Required. GlossaryCategory identifier.
+    "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+  },
+  "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+    "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "termId": "A String", # Required. GlossaryTerm identifier.
+  },
+  "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+  "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+    "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+    "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+    "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+    "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+  },
+  "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+    "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+  },
+  "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+    "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+  },
+  "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+    "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+    "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+  },
+  "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+    "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+  },
+  "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+    "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+  },
+  "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+  "labels": { # Optional. User-defined labels for the ChangeRequest.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+  "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+  "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+  "state": "A String", # Output only. The current state of the ChangeRequest.
+  "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+  "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+    "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+    "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+      "A String",
+    ],
+    "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+  },
+  "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+    "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+  },
+  "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+}
+
+
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
@@ -140,6 +757,1169 @@ 

Method Details

}
+
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists ChangeRequests.
+
+Args:
+  parent: string, Required. The parent, which owns this collection of ChangeRequests. Format: projects/{project_number}/locations/{location_id} (required)
+  filter: string, Optional. Filter request. Supports filtering by: state, author, resource, create_time, update_time.
+  orderBy: string, Optional. Order by fields for the result.
+  pageSize: integer, Optional. Maximum number of ChangeRequests to return. The service may return fewer.
+  pageToken: string, Optional. Page token received from a previous ListChangeRequests call.
+  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 ListChangeRequests.
+  "changeRequests": [ # The ChangeRequests from the specified project and location.
+    { # Represents a proposed change to a metadata resource.
+      "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+      "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+      "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+      "createEntry": { # Create Entry request. # Payload for creating an Entry.
+        "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+          "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+            "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+              "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+                "createTime": "A String", # The time the aspect was created in the source system.
+                "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+                "updateTime": "A String", # The time the aspect was last updated in the source system.
+              },
+              "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+              "createTime": "A String", # Output only. The time when the Aspect was created.
+              "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+                "a_key": "", # Properties of the object.
+              },
+              "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+              "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+            },
+          },
+          "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+          "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+            "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+              { # Information about individual items in the hierarchy that is associated with the data resource.
+                "name": "A String", # Optional. The name of the ancestor resource.
+                "type": "A String", # Optional. The type of the ancestor resource.
+              },
+            ],
+            "createTime": "A String", # The time when the resource was created in the source system.
+            "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+            "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+            "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+              "a_key": "A String",
+            },
+            "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+            "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+            "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+            "system": "A String", # The name of the source system. Maximum length is 64 characters.
+            "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+          },
+          "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+          "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+          "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+          "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+          "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+        },
+        "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+        "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+      },
+      "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+        "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+          "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+            "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+              "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+                "createTime": "A String", # The time the aspect was created in the source system.
+                "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+                "updateTime": "A String", # The time the aspect was last updated in the source system.
+              },
+              "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+              "createTime": "A String", # Output only. The time when the Aspect was created.
+              "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+                "a_key": "", # Properties of the object.
+              },
+              "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+              "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+            },
+          },
+          "createTime": "A String", # Output only. The time when the Entry Link was created.
+          "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+          "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+            { # Reference to the Entry that is linked through the Entry Link.
+              "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+              "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+              "type": "A String", # Required. Immutable. The reference type of the Entry.
+            },
+          ],
+          "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+          "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+        },
+        "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+        "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+      },
+      "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+        "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+          "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+          "createTime": "A String", # Output only. The time at which the Glossary was created.
+          "description": "A String", # Optional. The user-mutable description of the Glossary.
+          "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+          "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+          "labels": { # Optional. User-defined labels for the Glossary.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+          "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+          "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+        },
+        "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+        "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+        "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+      },
+      "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+        "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+          "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+          "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+          "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+          "labels": { # Optional. User-defined labels for the GlossaryCategory.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+        },
+        "categoryId": "A String", # Required. GlossaryCategory identifier.
+        "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+      },
+      "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+        "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+        "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+          "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+          "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+          "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+          "labels": { # Optional. User-defined labels for the GlossaryTerm.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+          "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+        },
+        "termId": "A String", # Required. GlossaryTerm identifier.
+      },
+      "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+      "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+        "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+        "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+        "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+        "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+      },
+      "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+        "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+      },
+      "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+        "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+      },
+      "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+        "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+        "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      },
+      "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+        "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      },
+      "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+        "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      },
+      "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+      "labels": { # Optional. User-defined labels for the ChangeRequest.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+      "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+      "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+      "state": "A String", # Output only. The current state of the ChangeRequest.
+      "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+      "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+        "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+        "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+          "A String",
+        ],
+        "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+        "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+          "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+            "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+              "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+                "createTime": "A String", # The time the aspect was created in the source system.
+                "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+                "updateTime": "A String", # The time the aspect was last updated in the source system.
+              },
+              "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+              "createTime": "A String", # Output only. The time when the Aspect was created.
+              "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+                "a_key": "", # Properties of the object.
+              },
+              "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+              "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+            },
+          },
+          "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+          "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+            "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+              { # Information about individual items in the hierarchy that is associated with the data resource.
+                "name": "A String", # Optional. The name of the ancestor resource.
+                "type": "A String", # Optional. The type of the ancestor resource.
+              },
+            ],
+            "createTime": "A String", # The time when the resource was created in the source system.
+            "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+            "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+            "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+              "a_key": "A String",
+            },
+            "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+            "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+            "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+            "system": "A String", # The name of the source system. Maximum length is 64 characters.
+            "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+          },
+          "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+          "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+          "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+          "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+          "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+        },
+        "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+      },
+      "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+        "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+          "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+          "createTime": "A String", # Output only. The time at which the Glossary was created.
+          "description": "A String", # Optional. The user-mutable description of the Glossary.
+          "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+          "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+          "labels": { # Optional. User-defined labels for the Glossary.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+          "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+          "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+        },
+        "updateMask": "A String", # Required. The list of fields to update.
+        "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+      },
+      "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+        "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+          "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+          "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+          "labels": { # Optional. User-defined labels for the GlossaryCategory.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+        },
+        "updateMask": "A String", # Required. The list of fields to update.
+      },
+      "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+        "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+          "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+          "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+          "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+          "labels": { # Optional. User-defined labels for the GlossaryTerm.
+            "a_key": "A String",
+          },
+          "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+          "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+          "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+          "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+        },
+        "updateMask": "A String", # Required. The list of fields to update.
+      },
+      "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+    },
+  ],
+  "nextPageToken": "A String", # A token, which can be sent as page_token to retrieve the next page.
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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 a ChangeRequest. Only allowed when the state is NEW.
+
+Args:
+  name: string, Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a proposed change to a metadata resource.
+  "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+  "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+  "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+  "createEntry": { # Create Entry request. # Payload for creating an Entry.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+  },
+  "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+    "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+      "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the Entry Link was created.
+      "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+      "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+        { # Reference to the Entry that is linked through the Entry Link.
+          "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+          "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+          "type": "A String", # Required. Immutable. The reference type of the Entry.
+        },
+      ],
+      "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+      "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+    },
+    "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+  },
+  "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+    "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+    "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+  },
+  "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "categoryId": "A String", # Required. GlossaryCategory identifier.
+    "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+  },
+  "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+    "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "termId": "A String", # Required. GlossaryTerm identifier.
+  },
+  "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+  "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+    "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+    "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+    "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+    "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+  },
+  "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+    "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+  },
+  "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+    "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+  },
+  "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+    "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+    "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+  },
+  "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+    "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+  },
+  "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+    "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+  },
+  "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+  "labels": { # Optional. User-defined labels for the ChangeRequest.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+  "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+  "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+  "state": "A String", # Output only. The current state of the ChangeRequest.
+  "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+  "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+    "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+    "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+      "A String",
+    ],
+    "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+  },
+  "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+    "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+  },
+  "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+}
+
+  updateMask: string, Optional. The list of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposed change to a metadata resource.
+  "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+  "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+  "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+  "createEntry": { # Create Entry request. # Payload for creating an Entry.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+  },
+  "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+    "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+      "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the Entry Link was created.
+      "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+      "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+        { # Reference to the Entry that is linked through the Entry Link.
+          "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+          "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+          "type": "A String", # Required. Immutable. The reference type of the Entry.
+        },
+      ],
+      "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+      "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+    },
+    "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+  },
+  "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+    "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+    "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+  },
+  "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "categoryId": "A String", # Required. GlossaryCategory identifier.
+    "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+  },
+  "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+    "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "termId": "A String", # Required. GlossaryTerm identifier.
+  },
+  "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+  "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+    "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+    "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+    "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+    "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+  },
+  "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+    "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+  },
+  "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+    "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+  },
+  "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+    "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+    "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+  },
+  "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+    "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+  },
+  "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+    "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+  },
+  "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+  "labels": { # Optional. User-defined labels for the ChangeRequest.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+  "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+  "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+  "state": "A String", # Output only. The current state of the ChangeRequest.
+  "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+  "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+    "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+    "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+      "A String",
+    ],
+    "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+  },
+  "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+    "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+  },
+  "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+}
+
+ +
+ reject(name, body=None, x__xgafv=None) +
Rejects a ChangeRequest.
+
+Args:
+  name: string, Required. The name of the ChangeRequest to reject. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RejectChangeRequest.
+  "comment": "A String", # Optional. The reason for rejecting the ChangeRequest.
+  "etag": "A String", # Optional. The etag of the ChangeRequest.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a proposed change to a metadata resource.
+  "approver": "A String", # Output only. The email address of the user who approved/rejected the ChangeRequest.
+  "author": "A String", # Output only. The email address of the user who created the ChangeRequest.
+  "changeType": "A String", # Output only. The type of change represented by the change_payload. This field is derived from the populated field in the change_payload oneof.
+  "createEntry": { # Create Entry request. # Payload for creating an Entry.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "entryId": "A String", # Required. Entry identifier. It has to be unique within an Entry Group.Entries corresponding to Google Cloud resources use an Entry ID format based on full resource names (https://cloud.google.com/apis/design/resource_names#full_resource_name). The format is a full resource name of the resource without the prefix double slashes in the API service name part of the full resource name. This allows retrieval of entries using their associated resource name.For example, if the full resource name of a resource is //library.googleapis.com/shelves/shelf1/books/book2, then the suggested entry_id is library.googleapis.com/shelves/shelf1/books/book2.It is also suggested to follow the same convention for entries corresponding to resources from providers or systems other than Google Cloud.The maximum size of the field is 4000 characters.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project}/locations/{location}/entryGroups/{entry_group}.
+  },
+  "createEntryLink": { # Request message for CreateEntryLink. # Payload for creating an EntryLink.
+    "entryLink": { # EntryLink represents a link between two Entries. # Required. Entry Link resource.
+      "aspects": { # Optional. The aspects that are attached to the entry link. The format of the aspect key has to be the following: {project_id_or_number}.{location_id}.{aspect_type_id} Currently, only a single aspect of a Dataplex-owned Aspect Type is allowed.
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the Entry Link was created.
+      "entryLinkType": "A String", # Required. Immutable. Relative resource name of the Entry Link Type used to create this Entry Link. For example: Entry link between synonym terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/synonym Entry link between related terms in a glossary: projects/dataplex-types/locations/global/entryLinkTypes/related Entry link between glossary terms and data assets: projects/dataplex-types/locations/global/entryLinkTypes/definition
+      "entryReferences": [ # Required. Immutable. Specifies the Entries referenced in the Entry Link. There should be exactly two entry references.
+        { # Reference to the Entry that is linked through the Entry Link.
+          "name": "A String", # Required. Immutable. The relative resource name of the referenced Entry, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
+          "path": "A String", # Immutable. The path in the Entry that is referenced in the Entry Link. Empty path denotes that the Entry itself is referenced in the Entry Link.
+          "type": "A String", # Required. Immutable. The reference type of the Entry.
+        },
+      ],
+      "name": "A String", # Output only. Immutable. Identifier. The relative resource name of the Entry Link, of the form: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}
+      "updateTime": "A String", # Output only. The time when the Entry Link was last updated.
+    },
+    "entryLinkId": "A String", # Required. Entry Link identifier * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the EntryGroup.
+    "parent": "A String", # Required. The resource name of the parent Entry Group: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}.
+  },
+  "createGlossary": { # Create Glossary Request # Payload for creating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to create.
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "glossaryId": "A String", # Required. Glossary ID: Glossary identifier.
+    "parent": "A String", # Required. The parent resource where this Glossary will be created. Format: projects/{project_id_or_number}/locations/{location_id} where location_id refers to a Google Cloud region.
+    "validateOnly": True or False, # Optional. Validates the request without actually creating the Glossary. Default: false.
+  },
+  "createGlossaryCategory": { # Creates a new GlossaryCategory under the specified Glossary. # Payload for creating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "categoryId": "A String", # Required. GlossaryCategory identifier.
+    "parent": "A String", # Required. The parent resource where this GlossaryCategory will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where locationId refers to a Google Cloud region.
+  },
+  "createGlossaryTerm": { # Creates a new GlossaryTerm under the specified Glossary. # Payload for creating a GlossaryTerm.
+    "parent": "A String", # Required. The parent resource where the GlossaryTerm will be created. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} where location_id refers to a Google Cloud region.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to create.
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "termId": "A String", # Required. GlossaryTerm identifier.
+  },
+  "createTime": "A String", # Output only. The time when the ChangeRequest was created.
+  "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request.
+    "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested.
+    "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.
+    "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}
+    "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers
+  },
+  "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry.
+    "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}.
+  },
+  "deleteEntryLink": { # Request message for DeleteEntryLink. # Payload for deleting an EntryLink.
+    "name": "A String", # Required. The resource name of the Entry Link: projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entryLinks/{entry_link_id}.
+  },
+  "deleteGlossary": { # Delete Glossary Request # Payload for deleting a Glossary.
+    "etag": "A String", # Optional. The etag of the Glossary. If this is provided, it must match the server's etag. If the etag is provided and does not match the server-computed etag, the request must fail with a ABORTED error code.
+    "name": "A String", # Required. The name of the Glossary to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+  },
+  "deleteGlossaryCategory": { # Delete GlossaryCategory Request # Payload for deleting a GlossaryCategory.
+    "name": "A String", # Required. The name of the GlossaryCategory to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+  },
+  "deleteGlossaryTerm": { # Delete GlossaryTerm Request # Payload for deleting a GlossaryTerm.
+    "name": "A String", # Required. The name of the GlossaryTerm to delete. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+  },
+  "etag": "A String", # Optional. This checksum is computed by the service. It can be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+  "justification": "A String", # Optional. Justification of the ChangeRequest. This should explain why the change is needed or why it should be approved.
+  "labels": { # Optional. User-defined labels for the ChangeRequest.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}
+  "rejectionComment": "A String", # Output only. The reason provided for rejecting the ChangeRequest.
+  "resource": "A String", # Output only. The full resource name of the target resource to be modified. Example: //dataplex.googleapis.com/projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry
+  "state": "A String", # Output only. The current state of the ChangeRequest.
+  "uid": "A String", # Output only. System generated globally unique ID for the ChangeRequest.
+  "updateEntry": { # Update Entry request. # Payload for updating an Entry.
+    "allowMissing": True or False, # Optional. If set to true and the entry doesn't exist, the service will create it.
+    "aspectKeys": [ # Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.
+      "A String",
+    ],
+    "deleteMissingAspects": True or False, # Optional. If set to true and the aspect_keys specify aspect ranges, the service deletes any existing aspects from that range that weren't provided in the request.
+    "entry": { # An entry is a representation of a data resource that can be described by various metadata. # Required. Entry resource.
+      "aspects": { # Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following: If the aspect is attached directly to the entry: {project_id_or_number}.{location_id}.{aspect_type_id} If the aspect is attached to an entry's path: {project_id_or_number}.{location_id}.{aspect_type_id}@{path}
+        "a_key": { # Represents a single piece of metadata describing an entry or entry link.
+          "aspectSource": { # Information related to the source system of the aspect. # Optional. Information related to the source system of the aspect.
+            "createTime": "A String", # The time the aspect was created in the source system.
+            "dataVersion": "A String", # The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).
+            "updateTime": "A String", # The time the aspect was last updated in the source system.
+          },
+          "aspectType": "A String", # Output only. The resource name of the type used to create this Aspect.
+          "createTime": "A String", # Output only. The time when the Aspect was created.
+          "data": { # Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
+            "a_key": "", # Properties of the object.
+          },
+          "path": "A String", # Output only. The path in the entry under which the aspect is attached.
+          "updateTime": "A String", # Output only. The time when the Aspect was last updated.
+        },
+      },
+      "createTime": "A String", # Output only. The time when the entry was created in Dataplex Universal Catalog.
+      "entrySource": { # Information related to the source system of the data resource that is represented by the entry. # Optional. Information related to the source system of the data resource that is represented by the entry.
+        "ancestors": [ # Immutable. The entries representing the ancestors of the data resource in the source system.
+          { # Information about individual items in the hierarchy that is associated with the data resource.
+            "name": "A String", # Optional. The name of the ancestor resource.
+            "type": "A String", # Optional. The type of the ancestor resource.
+          },
+        ],
+        "createTime": "A String", # The time when the resource was created in the source system.
+        "description": "A String", # A description of the data resource. Maximum length is 2,000 characters.
+        "displayName": "A String", # A user-friendly display name. Maximum length is 500 characters.
+        "labels": { # User-defined labels. The maximum size of keys and values is 128 characters each.
+          "a_key": "A String",
+        },
+        "location": "A String", # Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud.
+        "platform": "A String", # The platform containing the source system. Maximum length is 64 characters.
+        "resource": "A String", # The name of the resource in the source system. Maximum length is 4,000 characters.
+        "system": "A String", # The name of the source system. Maximum length is 64 characters.
+        "updateTime": "A String", # The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.
+      },
+      "entryType": "A String", # Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}.
+      "fullyQualifiedName": "A String", # Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names (https://cloud.google.com/data-catalog/docs/fully-qualified-names). The maximum size of the field is 4000 characters.
+      "name": "A String", # Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "parentEntry": "A String", # Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}.
+      "updateTime": "A String", # Output only. The time when the entry was last updated in Dataplex Universal Catalog.
+    },
+    "updateMask": "A String", # Optional. Mask of fields to update. To update Aspects, the update_mask must contain the value "aspects".If the update_mask is empty, the service will update all modifiable fields present in the request.
+  },
+  "updateGlossary": { # Update Glossary Request # Payload for updating a Glossary.
+    "glossary": { # A Glossary represents a collection of GlossaryCategories and GlossaryTerms defined by the user. Glossary is a top level resource and is the Google Cloud parent resource of all the GlossaryCategories and GlossaryTerms within it. # Required. The Glossary to update. The Glossary's name field is used to identify the Glossary to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "categoryCount": 42, # Output only. The number of GlossaryCategories in the Glossary.
+      "createTime": "A String", # Output only. The time at which the Glossary was created.
+      "description": "A String", # Optional. The user-mutable description of the Glossary.
+      "displayName": "A String", # Optional. User friendly display name of the Glossary. This is user-mutable. This will be same as the GlossaryId, if not specified.
+      "etag": "A String", # Optional. Needed for resource freshness validation. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
+      "labels": { # Optional. User-defined labels for the Glossary.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the Glossary. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}
+      "termCount": 42, # Output only. The number of GlossaryTerms in the Glossary.
+      "uid": "A String", # Output only. System generated unique id for the Glossary. This ID will be different if the Glossary is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the Glossary was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+    "validateOnly": True or False, # Optional. Validates the request without actually updating the Glossary. Default: false.
+  },
+  "updateGlossaryCategory": { # Update GlossaryCategory Request # Payload for updating a GlossaryCategory.
+    "category": { # A GlossaryCategory represents a collection of GlossaryCategories and GlossaryTerms within a Glossary that are related to each other. # Required. The GlossaryCategory to update. The GlossaryCategory's name field is used to identify the GlossaryCategory to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryCategory was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryCategory.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryCategory. This is user-mutable. This will be same as the GlossaryCategoryId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryCategory.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryCategory in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryCategory. This ID will be different if the GlossaryCategory is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryCategory was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateGlossaryTerm": { # Update GlossaryTerm Request # Payload for updating a GlossaryTerm.
+    "term": { # GlossaryTerms are the core of Glossary. A GlossaryTerm holds a rich text description that can be attached to Entries or specific columns to enrich them. # Required. The GlossaryTerm to update. The GlossaryTerm's name field is used to identify the GlossaryTerm to update. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "createTime": "A String", # Output only. The time at which the GlossaryTerm was created.
+      "description": "A String", # Optional. The user-mutable description of the GlossaryTerm.
+      "displayName": "A String", # Optional. User friendly display name of the GlossaryTerm. This is user-mutable. This will be same as the GlossaryTermId, if not specified.
+      "labels": { # Optional. User-defined labels for the GlossaryTerm.
+        "a_key": "A String",
+      },
+      "name": "A String", # Output only. Identifier. The resource name of the GlossaryTerm. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/terms/{term_id}
+      "parent": "A String", # Required. The immediate parent of the GlossaryTerm in the resource-hierarchy. It can either be a Glossary or a GlossaryCategory. Format: projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id} OR projects/{project_id_or_number}/locations/{location_id}/glossaries/{glossary_id}/categories/{category_id}
+      "uid": "A String", # Output only. System generated unique id for the GlossaryTerm. This ID will be different if the GlossaryTerm is deleted and re-created with the same name.
+      "updateTime": "A String", # Output only. The time at which the GlossaryTerm was last updated.
+    },
+    "updateMask": "A String", # Required. The list of fields to update.
+  },
+  "updateTime": "A String", # Output only. The time when the ChangeRequest was last updated.
+}
+
+
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.
diff --git a/docs/dyn/dataplex_v1.projects.locations.dataProducts.html b/docs/dyn/dataplex_v1.projects.locations.dataProducts.html
index d60cb02e79..e2d48d7ffd 100644
--- a/docs/dyn/dataplex_v1.projects.locations.dataProducts.html
+++ b/docs/dyn/dataplex_v1.projects.locations.dataProducts.html
@@ -621,6 +621,12 @@ 

Method Details

"termId": "A String", # Required. GlossaryTerm identifier. }, "createTime": "A String", # Output only. The time when the ChangeRequest was created. + "dataProductAccessRequest": { # Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS. # Payload for Data Product access request. + "accessGroupDisplayName": "A String", # Output only. The display name of the access group defined in the Data Product for which access is being requested. + "accessGroupId": "A String", # Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product. + "parent": "A String", # Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id} + "requestedPrincipal": "A String", # Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers + }, "deleteEntry": { # Delete Entry request. # Payload for deleting an Entry. "name": "A String", # Required. The resource name of the Entry: projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry}. }, diff --git a/docs/dyn/dataplex_v1.projects.locations.dataScans.html b/docs/dyn/dataplex_v1.projects.locations.dataScans.html index 9963192cae..a4c87451d4 100644 --- a/docs/dyn/dataplex_v1.projects.locations.dataScans.html +++ b/docs/dyn/dataplex_v1.projects.locations.dataScans.html @@ -179,7 +179,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -651,6 +650,85 @@

Method Details

"state": "A String", # Output only. Current state of the DataScan. "type": "A String", # Output only. The type of DataScan. "uid": "A String", # Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Optional. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, "updateTime": "A String", # Output only. The time when the scan was last updated. } @@ -909,7 +987,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -1381,6 +1458,85 @@

Method Details

"state": "A String", # Output only. Current state of the DataScan. "type": "A String", # Output only. The type of DataScan. "uid": "A String", # Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Optional. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, "updateTime": "A String", # Output only. The time when the scan was last updated. }
@@ -1502,7 +1658,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -1974,6 +2129,85 @@

Method Details

"state": "A String", # Output only. Current state of the DataScan. "type": "A String", # Output only. The type of DataScan. "uid": "A String", # Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Optional. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, "updateTime": "A String", # Output only. The time when the scan was last updated. }, ], @@ -2056,7 +2290,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -2528,6 +2761,85 @@

Method Details

"state": "A String", # Output only. Current state of the DataScan. "type": "A String", # Output only. The type of DataScan. "uid": "A String", # Output only. System generated globally unique ID for the scan. This ID will be different if the scan is deleted and re-created with the same name. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Optional. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, "updateTime": "A String", # Output only. The time when the scan was last updated. } @@ -2628,7 +2940,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -3072,6 +3383,85 @@

Method Details

"state": "A String", # Output only. Execution state for the DataScanJob. "type": "A String", # Output only. The type of the parent DataScan. "uid": "A String", # Output only. System generated globally unique ID for the DataScanJob. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Output only. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, }, }
diff --git a/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html b/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html index 6bb99cc2b7..c65d1488f4 100644 --- a/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html +++ b/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html @@ -306,7 +306,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -750,6 +749,85 @@

Method Details

"state": "A String", # Output only. Execution state for the DataScanJob. "type": "A String", # Output only. The type of the parent DataScan. "uid": "A String", # Output only. System generated globally unique ID for the DataScanJob. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Output only. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, }
@@ -817,7 +895,6 @@

Method Details

"typeInferenceDisabled": True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). }, "unstructuredDataOptions": { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery. - "entityInferenceEnabled": True or False, # Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled. "semanticInferenceEnabled": True or False, # Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled. }, }, @@ -1261,6 +1338,85 @@

Method Details

"state": "A String", # Output only. Execution state for the DataScanJob. "type": "A String", # Output only. The type of the parent DataScan. "uid": "A String", # Output only. System generated globally unique ID for the DataScanJob. + "unstructuredDataProfileResult": { # Contains the result of an unstructured data profile scan. # Output only. The result of an unstructured data profile scan. + "description": "A String", # Output only. The inferred description. + "graphProfile": { # Contains the strict structure for graph-profile for semantic inference scan result. # Output only. The inferred graph profile. + "edgeTypes": [ # Output only. Edge types. + { # Represents a type of edge (relationship) in the graph. + "description": "A String", # Output only. Description of the edge type. + "extractionHints": { # Extraction hints (edge-level). # Output only. Extraction hints for the edge. + "cardinality": "A String", # Output only. Expected connectivity topology and bounds of this relationship. Format: "Topology - Description" Example: "1:N - One company can have multiple financial reports." + }, + "fields": [ # Output only. Fields of the edge type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "foreignKeys": [ # Output only. Defines the Foreign Key constraints for the edge. + { # Represents a foreign key constraint. + "description": "A String", # Output only. Description of the foreign key. + "fieldMappings": [ # Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type. + { # Maps a local field to a referenced field. + "field": "A String", # Output only. Local field name forming part of the foreign key. + "referencedField": "A String", # Output only. Field name in the referenced node type. + }, + ], + "name": "A String", # Output only. Name of the foreign key constraint. + "referencedNodeType": "A String", # Output only. The node type this constraint references. + }, + ], + "name": "A String", # Output only. Name of the edge type. + "sourceNodeType": "A String", # Output only. Source node type. + "targetNodeType": "A String", # Output only. Target node type. + }, + ], + "nodeTypes": [ # Output only. Node types. + { # Represents a type of node in the graph. + "description": "A String", # Output only. Description of the node type. + "extractionHints": { # Extraction hints (node-level). # Output only. Extraction hints for the node. + "cardinality": "A String", # Output only. Expected occurrence frequency of this node type within a document. Format: "Bounds - Description" Example: "0:N - A document may contain multiple people names." + }, + "fields": [ # Output only. Fields of the node type. + { # Represents a field in a node or edge type. + "dataType": "A String", # Output only. The data type of the field, e.g., STRING, INTEGER, DATE. + "description": "A String", # Output only. Description of the field. + "extractionHints": { # Extraction hints (field-level). # Output only. Extraction hints for the field. + "normalization": "A String", # Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2). + "synthesis": "A String", # Output only. Generates value from other data instead of direct extraction (e.g., hashing). + }, + "fields": [ # Output only. Sub-fields of this field (for STRUCT types). + # Object with schema name: GoogleCloudDataplexV1GraphProfileField + ], + "metadataType": "A String", # Output only. The mapped metadata type. + "mode": "A String", # Output only. The mode of the field. + "name": "A String", # Output only. Name of the field. + }, + ], + "name": "A String", # Output only. Name of the node type. + "primaryKeys": [ # Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys. + "A String", + ], + }, + ], + }, + "partialFailureMessage": "A String", # Output only. Optional message for partial failures (e.g. node type extraction failed). + }, + "unstructuredDataProfileSpec": { # Contains the specification for an unstructured data profile scan. # Output only. Settings for an unstructured data profile scan. + "customizedPrompt": "A String", # Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus. + "globalEndpointEnabled": True or False, # Optional. Whether to use the global model. + "graphProfilePublishingEnabled": True or False, # Optional. Whether to publish graph-profile as aspect on the catalog entry. + }, }, ], "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list. diff --git a/docs/dyn/dataplex_v1.projects.locations.html b/docs/dyn/dataplex_v1.projects.locations.html index 942df977e3..5cc6dc2bfc 100644 --- a/docs/dyn/dataplex_v1.projects.locations.html +++ b/docs/dyn/dataplex_v1.projects.locations.html @@ -281,7 +281,7 @@

Method Details

{ # Lookup Context using permissions in the source system. "context": "A String", # Optional. The text representing contextual information for which metadata context is being requested. - "options": { # Optional. Allows to configure the context.Supported options: format - The format of the context (one of yaml, xml, json, default is yaml). context_budget - If provided, the output will be intelligently truncated on a best-effort basis to contain approximately the desired amount of characters. There is no guarantee to achieve the specific amount. + "options": { # Optional. Allows to configure the context.Supported options: format - The format of the context (one of yaml, xml, json, default is yaml). context_budget - If provided, the output will be intelligently truncated on a best-effort basis to contain approximately the desired amount of characters. There is no guarantee to achieve the specific amount. all_schema_fields - If set to true, all schema fields will be returned in the context (regardless of context_budget value). Otherwise, the list of schema fields is truncated. Default is false. "a_key": "A String", }, "resources": [ # Required. The entry names to look up the context for. The maximum number of resources for a request is limited to 10.Examples:projects/{project}/locations/{location}/entryGroups/{entry_group}/entries/{entry} diff --git a/docs/dyn/dataproc_v1.projects.locations.batches.html b/docs/dyn/dataproc_v1.projects.locations.batches.html index 2ce087277c..01640d0e0d 100644 --- a/docs/dyn/dataproc_v1.projects.locations.batches.html +++ b/docs/dyn/dataproc_v1.projects.locations.batches.html @@ -248,8 +248,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about batch execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -259,8 +262,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) @@ -485,8 +491,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about batch execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -496,8 +505,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) @@ -576,7 +588,7 @@

Method Details

Args: parent: string, Required. The parent, which owns this collection of batches. (required) - filter: string, Optional. A filter for the batches to return in the response.A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields are batch_id, batch_uuid, state, create_time, and labels.e.g. state = RUNNING and create_time < "2023-01-01T00:00:00Z" filters for batches in state RUNNING that were created before 2023-01-01. state = RUNNING and labels.environment=production filters for batches in state in a RUNNING state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons. + filter: string, Optional. A filter for the batches to return in the response.A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields: * batch_id * batch_uuid * state * create_time * labels * runtime_info.cohort_info.cohort e.g. state = RUNNING and create_time < "2023-01-01T00:00:00Z" filters for batches in state RUNNING that were created before 2023-01-01. state = RUNNING and labels.environment=production filters for batches in state in a RUNNING state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons. orderBy: string, Optional. Field(s) on which to sort the list of batches.Currently the only supported sort orders are unspecified (empty) and create_time desc to sort by most recently created batches first.See https://google.aip.dev/132#ordering for more details. pageSize: integer, Optional. The maximum number of batches to return in each response. The service may return fewer than this value. The default page size is 20; the maximum page size is 1000. pageToken: string, Optional. A page token received from a previous ListBatches call. Provide this token to retrieve the subsequent page. @@ -680,8 +692,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about batch execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -691,8 +706,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) diff --git a/docs/dyn/dataproc_v1.projects.locations.sessions.html b/docs/dyn/dataproc_v1.projects.locations.sessions.html index a20aaf393d..27fe0f69c3 100644 --- a/docs/dyn/dataproc_v1.projects.locations.sessions.html +++ b/docs/dyn/dataproc_v1.projects.locations.sessions.html @@ -172,8 +172,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about session execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -183,8 +186,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) @@ -361,8 +367,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about session execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -372,8 +381,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) @@ -490,8 +502,11 @@

Method Details

}, "runtimeInfo": { # Runtime information about workload execution. # Output only. Runtime information about session execution. "approximateUsage": { # Usage metrics represent approximate total resources consumed by a workload. # Output only. Approximate workload resource usage, calculated when the workload completes (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).Note: This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the Dataproc Serverless release notes (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments). - "acceleratorType": "A String", # Optional. DEPRECATED Accelerator type being used, if any - "milliAcceleratorSeconds": "A String", # Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSeconds": "A String", # Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorSecondsA10040": "A String", # Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsA10080": "A String", # Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). + "milliAcceleratorSecondsL4": "A String", # Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuSeconds": "A String", # Optional. DCU (Dataproc Compute Units) usage in (milliDCU x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGbSeconds": "A String", # Optional. Shuffle storage usage in (GB x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "updateTime": "A String", # Optional. The timestamp of the usage metrics. @@ -501,8 +516,11 @@

Method Details

"cohortSource": "A String", # Output only. Source of the cohort. }, "currentUsage": { # The usage snapshot represents the resources consumed by a workload at a specified time. # Output only. Snapshot of current workload resource usage. - "acceleratorType": "A String", # Optional. Accelerator type being used, if any - "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "acceleratorType": "A String", # Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0. + "milliAccelerator": "A String", # Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0. + "milliAcceleratorA10040": "A String", # Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorA10080": "A String", # Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) + "milliAcceleratorL4": "A String", # Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) "milliDcu": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "milliDcuPremium": "A String", # Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). "shuffleStorageGb": "A String", # Optional. Shuffle Storage in gigabytes (GB). (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) diff --git a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html index 8e8900aa10..992fcfd6f9 100644 --- a/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html +++ b/docs/dyn/dataproc_v1.projects.locations.workflowTemplates.html @@ -401,11 +401,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -414,7 +414,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -433,7 +433,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -443,7 +443,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -452,12 +452,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -469,13 +469,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -492,10 +492,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -503,7 +503,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -516,18 +516,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -538,10 +538,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -554,9 +554,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -614,7 +614,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -633,7 +633,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -643,7 +643,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -652,12 +652,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -669,13 +669,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -684,13 +684,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -709,7 +709,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -719,7 +719,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -728,12 +728,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -745,13 +745,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -768,23 +768,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -792,12 +792,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -816,7 +816,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -826,7 +826,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -835,12 +835,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -852,13 +852,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1160,11 +1160,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -1173,7 +1173,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1192,7 +1192,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1202,7 +1202,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1211,12 +1211,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1228,13 +1228,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1251,10 +1251,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -1262,7 +1262,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -1275,18 +1275,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -1297,10 +1297,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -1313,9 +1313,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -1373,7 +1373,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1392,7 +1392,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1402,7 +1402,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1411,12 +1411,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1428,13 +1428,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1443,13 +1443,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1468,7 +1468,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1478,7 +1478,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1487,12 +1487,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1504,13 +1504,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1527,23 +1527,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -1551,12 +1551,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1575,7 +1575,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1585,7 +1585,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1594,12 +1594,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1611,13 +1611,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1946,11 +1946,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -1959,7 +1959,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1978,7 +1978,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1988,7 +1988,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1997,12 +1997,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2014,13 +2014,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2037,10 +2037,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -2048,7 +2048,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -2061,18 +2061,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -2083,10 +2083,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -2099,9 +2099,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -2159,7 +2159,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2178,7 +2178,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2188,7 +2188,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2197,12 +2197,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2214,13 +2214,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2229,13 +2229,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2254,7 +2254,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2264,7 +2264,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2273,12 +2273,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2290,13 +2290,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2313,23 +2313,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -2337,12 +2337,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2361,7 +2361,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2371,7 +2371,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2380,12 +2380,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2397,13 +2397,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2796,11 +2796,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -2809,7 +2809,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2828,7 +2828,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2838,7 +2838,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2847,12 +2847,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2864,13 +2864,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2887,10 +2887,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -2898,7 +2898,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -2911,18 +2911,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -2933,10 +2933,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -2949,9 +2949,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -3009,7 +3009,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3028,7 +3028,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3038,7 +3038,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3047,12 +3047,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3064,13 +3064,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3079,13 +3079,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3104,7 +3104,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3114,7 +3114,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3123,12 +3123,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3140,13 +3140,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3163,23 +3163,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -3187,12 +3187,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3211,7 +3211,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3221,7 +3221,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3230,12 +3230,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3247,13 +3247,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3596,11 +3596,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -3609,7 +3609,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3628,7 +3628,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3638,7 +3638,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3647,12 +3647,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3664,13 +3664,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3687,10 +3687,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -3698,7 +3698,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -3711,18 +3711,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -3733,10 +3733,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -3749,9 +3749,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -3809,7 +3809,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3828,7 +3828,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3838,7 +3838,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3847,12 +3847,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3864,13 +3864,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3879,13 +3879,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3904,7 +3904,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3914,7 +3914,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3923,12 +3923,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3940,13 +3940,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3963,23 +3963,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -3987,12 +3987,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4011,7 +4011,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4021,7 +4021,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4030,12 +4030,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4047,13 +4047,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4464,11 +4464,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -4477,7 +4477,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4496,7 +4496,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4506,7 +4506,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4515,12 +4515,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4532,13 +4532,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4555,10 +4555,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -4566,7 +4566,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -4579,18 +4579,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -4601,10 +4601,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -4617,9 +4617,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -4677,7 +4677,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4696,7 +4696,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4706,7 +4706,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4715,12 +4715,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4732,13 +4732,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4747,13 +4747,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4772,7 +4772,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4782,7 +4782,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4791,12 +4791,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4808,13 +4808,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4831,23 +4831,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -4855,12 +4855,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4879,7 +4879,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4889,7 +4889,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4898,12 +4898,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4915,13 +4915,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5223,11 +5223,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -5236,7 +5236,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5255,7 +5255,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5265,7 +5265,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5274,12 +5274,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5291,13 +5291,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5314,10 +5314,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -5325,7 +5325,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -5338,18 +5338,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -5360,10 +5360,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -5376,9 +5376,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -5436,7 +5436,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5455,7 +5455,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5465,7 +5465,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5474,12 +5474,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5491,13 +5491,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5506,13 +5506,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5531,7 +5531,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5541,7 +5541,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5550,12 +5550,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5567,13 +5567,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5590,23 +5590,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -5614,12 +5614,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5638,7 +5638,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5648,7 +5648,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5657,12 +5657,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5674,13 +5674,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html index 688cbd2d99..c90d3c085d 100644 --- a/docs/dyn/dataproc_v1.projects.regions.clusters.html +++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html @@ -136,20 +136,20 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) body: object, The request body. The object takes the form of: -{ # Describes the identifying information, config, and status of a Dataproc cluster +{ # Describes the identifying information, config, and status of a cluster "clusterName": "A String", # Required. The cluster name, which must be unique within a project. The name must start with a lowercase letter, and can contain up to 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The name of a deleted cluster can be reused. - "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster. - "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. + "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). The service generates this value when it creates the cluster. + "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that the service may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -158,7 +158,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -177,7 +177,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -187,7 +187,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -196,12 +196,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -213,13 +213,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -236,10 +236,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -247,7 +247,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -260,18 +260,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -282,10 +282,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -298,9 +298,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -358,7 +358,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -377,7 +377,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -387,7 +387,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -396,12 +396,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -413,13 +413,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -428,13 +428,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -453,7 +453,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -463,7 +463,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -472,12 +472,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -489,13 +489,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -512,23 +512,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -536,12 +536,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -560,7 +560,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -570,7 +570,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -579,12 +579,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -596,13 +596,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -637,16 +637,16 @@

Method Details

"substate": "A String", # Output only. Additional state information that includes status reported by the agent. }, ], - "virtualClusterConfig": { # The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. + "virtualClusterConfig": { # The cluster config for a cluster that does not directly control the underlying compute resources, such as a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a cluster that does not directly control the underlying compute resources, for example, when creating a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). the service may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. "auxiliaryServicesConfig": { # Auxiliary services configuration for a Cluster. # Optional. Configuration of auxiliary services used by this cluster. "metastoreConfig": { # Specifies a Metastore configuration. # Optional. The Hive Metastore configuration for this workload. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "sparkHistoryServerConfig": { # Spark History Server configuration for the workload. # Optional. The Spark History Server configuration for the workload. "dataprocCluster": "A String", # Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name] }, }, - "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the Dataproc cluster on Kubernetes. + "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the cluster on Kubernetes. "gkeClusterConfig": { # The cluster's GKE config. # Required. The configuration for running the Dataproc cluster on GKE. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. @@ -696,7 +696,7 @@

Method Details

}, }, }, - "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. }, } @@ -741,7 +741,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) clusterUuid: string, Optional. Specifying the cluster_uuid means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist. gracefulTerminationTimeout: string, Optional. The graceful termination timeout for the deletion of the cluster. Indicate the time the request will wait to complete the running jobs on the cluster before its forceful deletion. Default value is 0 indicating that the user has not enabled the graceful termination. Value can be between 60 second and 6 Hours, in case the graceful termination is enabled. (There is no separate flag to check the enabling or disabling of graceful termination, it can be checked by the values in the field). @@ -781,7 +781,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) body: object, The request body. The object takes the form of: @@ -838,7 +838,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) x__xgafv: string, V1 error format. Allowed values @@ -848,16 +848,16 @@

Method Details

Returns: An object of the form: - { # Describes the identifying information, config, and status of a Dataproc cluster + { # Describes the identifying information, config, and status of a cluster "clusterName": "A String", # Required. The cluster name, which must be unique within a project. The name must start with a lowercase letter, and can contain up to 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The name of a deleted cluster can be reused. - "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster. - "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. + "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). The service generates this value when it creates the cluster. + "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that the service may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -866,7 +866,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -885,7 +885,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -895,7 +895,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -904,12 +904,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -921,13 +921,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -944,10 +944,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -955,7 +955,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -968,18 +968,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -990,10 +990,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -1006,9 +1006,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -1066,7 +1066,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1085,7 +1085,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1095,7 +1095,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1104,12 +1104,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1121,13 +1121,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1136,13 +1136,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1161,7 +1161,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1171,7 +1171,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1180,12 +1180,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1197,13 +1197,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1220,23 +1220,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -1244,12 +1244,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1268,7 +1268,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1278,7 +1278,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1287,12 +1287,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1304,13 +1304,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1345,16 +1345,16 @@

Method Details

"substate": "A String", # Output only. Additional state information that includes status reported by the agent. }, ], - "virtualClusterConfig": { # The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. + "virtualClusterConfig": { # The cluster config for a cluster that does not directly control the underlying compute resources, such as a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a cluster that does not directly control the underlying compute resources, for example, when creating a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). the service may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. "auxiliaryServicesConfig": { # Auxiliary services configuration for a Cluster. # Optional. Configuration of auxiliary services used by this cluster. "metastoreConfig": { # Specifies a Metastore configuration. # Optional. The Hive Metastore configuration for this workload. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "sparkHistoryServerConfig": { # Spark History Server configuration for the workload. # Optional. The Spark History Server configuration for the workload. "dataprocCluster": "A String", # Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name] }, }, - "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the Dataproc cluster on Kubernetes. + "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the cluster on Kubernetes. "gkeClusterConfig": { # The cluster's GKE config. # Required. The configuration for running the Dataproc cluster on GKE. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. @@ -1404,7 +1404,7 @@

Method Details

}, }, }, - "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. }, }
@@ -1503,7 +1503,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) filter: string, Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax:field = value AND field = value ...where field is one of status.state, clusterName, or labels.[KEY], and [KEY] is a label key. value can be "*" to match all values. status.state can be one of the following: ACTIVE, INACTIVE, CREATING, RUNNING, ERROR, DELETING, UPDATING, STOPPING, or STOPPED. ACTIVE contains the CREATING, UPDATING, and RUNNING states. INACTIVE contains the DELETING, ERROR, STOPPING, and STOPPED states. clusterName is the name of the cluster provided at creation time. Only the logical AND operator is supported; space-separated items are treated as having an implicit AND operator.Example filter:status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = * pageSize: integer, Optional. The maximum number of clusters to return in each response. The service may return fewer than this value. If unspecified, the default value is 200. The maximum value is 1000. pageToken: string, Optional. A page token received from a previous ListClusters call. Provide this token to retrieve the subsequent page. @@ -1517,16 +1517,16 @@

Method Details

{ # The list of all clusters in a project. "clusters": [ # Output only. The clusters in the project. - { # Describes the identifying information, config, and status of a Dataproc cluster + { # Describes the identifying information, config, and status of a cluster "clusterName": "A String", # Required. The cluster name, which must be unique within a project. The name must start with a lowercase letter, and can contain up to 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The name of a deleted cluster can be reused. - "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster. - "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. + "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). The service generates this value when it creates the cluster. + "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that the service may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -1535,7 +1535,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1554,7 +1554,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1564,7 +1564,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1573,12 +1573,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1590,13 +1590,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1613,10 +1613,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -1624,7 +1624,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -1637,18 +1637,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -1659,10 +1659,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -1675,9 +1675,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -1735,7 +1735,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1754,7 +1754,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1764,7 +1764,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1773,12 +1773,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1790,13 +1790,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1805,13 +1805,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1830,7 +1830,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1840,7 +1840,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1849,12 +1849,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1866,13 +1866,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1889,23 +1889,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -1913,12 +1913,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1937,7 +1937,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1947,7 +1947,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1956,12 +1956,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1973,13 +1973,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2014,16 +2014,16 @@

Method Details

"substate": "A String", # Output only. Additional state information that includes status reported by the agent. }, ], - "virtualClusterConfig": { # The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. + "virtualClusterConfig": { # The cluster config for a cluster that does not directly control the underlying compute resources, such as a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a cluster that does not directly control the underlying compute resources, for example, when creating a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). the service may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. "auxiliaryServicesConfig": { # Auxiliary services configuration for a Cluster. # Optional. Configuration of auxiliary services used by this cluster. "metastoreConfig": { # Specifies a Metastore configuration. # Optional. The Hive Metastore configuration for this workload. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "sparkHistoryServerConfig": { # Spark History Server configuration for the workload. # Optional. The Spark History Server configuration for the workload. "dataprocCluster": "A String", # Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name] }, }, - "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the Dataproc cluster on Kubernetes. + "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the cluster on Kubernetes. "gkeClusterConfig": { # The cluster's GKE config. # Required. The configuration for running the Dataproc cluster on GKE. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. @@ -2073,7 +2073,7 @@

Method Details

}, }, }, - "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. }, }, ], @@ -2101,21 +2101,21 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) body: object, The request body. The object takes the form of: -{ # Describes the identifying information, config, and status of a Dataproc cluster +{ # Describes the identifying information, config, and status of a cluster "clusterName": "A String", # Required. The cluster name, which must be unique within a project. The name must start with a lowercase letter, and can contain up to 51 lowercase letters, numbers, and hyphens. It cannot end with a hyphen. The name of a deleted cluster can be reused. - "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster. - "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. + "clusterUuid": "A String", # Output only. A cluster UUID (Unique Universal Identifier). The service generates this value when it creates the cluster. + "config": { # The cluster config. # Optional. The cluster config for a cluster of Compute Engine Instances. Note that the service may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -2124,7 +2124,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2143,7 +2143,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2153,7 +2153,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2162,12 +2162,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2179,13 +2179,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2202,10 +2202,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -2213,7 +2213,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -2226,18 +2226,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -2248,10 +2248,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -2264,9 +2264,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -2324,7 +2324,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2343,7 +2343,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2353,7 +2353,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2362,12 +2362,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2379,13 +2379,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2394,13 +2394,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2419,7 +2419,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2429,7 +2429,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2438,12 +2438,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2455,13 +2455,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2478,23 +2478,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -2502,12 +2502,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2526,7 +2526,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2536,7 +2536,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2545,12 +2545,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2562,13 +2562,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2603,16 +2603,16 @@

Method Details

"substate": "A String", # Output only. Additional state information that includes status reported by the agent. }, ], - "virtualClusterConfig": { # The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. + "virtualClusterConfig": { # The cluster config for a cluster that does not directly control the underlying compute resources, such as a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). # Optional. The virtual cluster config is used when creating a cluster that does not directly control the underlying compute resources, for example, when creating a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). the service may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified. "auxiliaryServicesConfig": { # Auxiliary services configuration for a Cluster. # Optional. Configuration of auxiliary services used by this cluster. "metastoreConfig": { # Specifies a Metastore configuration. # Optional. The Hive Metastore configuration for this workload. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "sparkHistoryServerConfig": { # Spark History Server configuration for the workload. # Optional. The Spark History Server configuration for the workload. "dataprocCluster": "A String", # Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload.Example: projects/[project_id]/regions/[region]/clusters/[cluster_name] }, }, - "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the Dataproc cluster on Kubernetes. + "kubernetesClusterConfig": { # The configuration for running the Dataproc cluster on Kubernetes. # Required. The configuration for running the cluster on Kubernetes. "gkeClusterConfig": { # The cluster's GKE config. # Required. The configuration for running the Dataproc cluster on GKE. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. @@ -2662,11 +2662,11 @@

Method Details

}, }, }, - "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "stagingBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. }, } - gracefulDecommissionTimeout: string, Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only supported on Dataproc image versions 1.2 and higher. + gracefulDecommissionTimeout: string, Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Supported in image versions 1.2 and higher. requestId: string, Optional. A unique ID used to identify the request. If the server receives two UpdateClusterRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.It is recommended to always set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. updateMask: string, Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the PATCH request body would be set as follows: { "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } *Note:* Currently, only the following fields can be updated: *Mask* *Purpose* *labels* Update labels *config.worker_config.num_instances* Resize primary worker group *config.secondary_worker_config.num_instances* Resize secondary worker group config.autoscaling_config.policy_uri Use, stop using, or change autoscaling policies x__xgafv: string, V1 error format. @@ -2704,7 +2704,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) body: object, The request body. The object takes the form of: @@ -2714,8 +2714,8 @@

Method Details

"clusterRepairAction": "A String", # Required. Repair action to take on the cluster resource. }, "clusterUuid": "A String", # Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist. - "dataprocSuperUser": True or False, # Optional. Whether the request is submitted by Dataproc super user. If true, IAM will check 'dataproc.clusters.repair' permission instead of 'dataproc.clusters.update' permission. This is to give Dataproc superuser the ability to repair clusters without granting the overly broad update permission. - "gracefulDecommissionTimeout": "A String", # Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping—Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in Dataproc image versions 1.2+. + "dataprocSuperUser": True or False, # Optional. Whether the request is submitted by a super user. If true, IAM will check 'dataproc.clusters.repair' permission instead of 'dataproc.clusters.update' permission. This is to give Dataproc superuser the ability to repair clusters without granting the overly broad update permission. + "gracefulDecommissionTimeout": "A String", # Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping—Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in image versions 1.2+. "nodePools": [ # Optional. Node pools and corresponding repair action to be taken. All node pools should be unique in this request. i.e. Multiple entries for the same node pool id are not allowed. { # indicating a list of workers of same type "id": "A String", # Required. A unique id of the node pool. Primary and Secondary workers can be specified using special reserved ids PRIMARY_WORKER_POOL and SECONDARY_WORKER_POOL respectively. Aux node pools can be referenced using corresponding pool id. @@ -2822,7 +2822,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) body: object, The request body. The object takes the form of: @@ -2867,7 +2867,7 @@

Method Details

Args: projectId: string, Required. The ID of the Google Cloud Platform project the cluster belongs to. (required) - region: string, Required. The Dataproc region in which to handle the request. (required) + region: string, Required. The region in which to handle the request. (required) clusterName: string, Required. The cluster name. (required) body: object, The request body. The object takes the form of: diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.nodeGroups.html b/docs/dyn/dataproc_v1.projects.regions.clusters.nodeGroups.html index 89e23deb88..27739de1c9 100644 --- a/docs/dyn/dataproc_v1.projects.regions.clusters.nodeGroups.html +++ b/docs/dyn/dataproc_v1.projects.regions.clusters.nodeGroups.html @@ -104,7 +104,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. +{ # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -113,7 +113,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -132,7 +132,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -142,7 +142,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -151,12 +151,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -168,13 +168,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -233,7 +233,7 @@

Method Details

Returns: An object of the form: - { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. + { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -242,7 +242,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -261,7 +261,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -271,7 +271,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -280,12 +280,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -297,13 +297,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. diff --git a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html index 89b80e70c7..9d6b892d28 100644 --- a/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html +++ b/docs/dyn/dataproc_v1.projects.regions.workflowTemplates.html @@ -401,11 +401,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -414,7 +414,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -433,7 +433,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -443,7 +443,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -452,12 +452,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -469,13 +469,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -492,10 +492,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -503,7 +503,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -516,18 +516,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -538,10 +538,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -554,9 +554,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -614,7 +614,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -633,7 +633,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -643,7 +643,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -652,12 +652,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -669,13 +669,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -684,13 +684,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -709,7 +709,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -719,7 +719,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -728,12 +728,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -745,13 +745,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -768,23 +768,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -792,12 +792,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -816,7 +816,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -826,7 +826,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -835,12 +835,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -852,13 +852,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1160,11 +1160,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -1173,7 +1173,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1192,7 +1192,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1202,7 +1202,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1211,12 +1211,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1228,13 +1228,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1251,10 +1251,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -1262,7 +1262,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -1275,18 +1275,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -1297,10 +1297,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -1313,9 +1313,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -1373,7 +1373,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1392,7 +1392,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1402,7 +1402,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1411,12 +1411,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1428,13 +1428,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1443,13 +1443,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1468,7 +1468,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1478,7 +1478,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1487,12 +1487,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1504,13 +1504,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1527,23 +1527,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -1551,12 +1551,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1575,7 +1575,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1585,7 +1585,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1594,12 +1594,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -1611,13 +1611,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -1946,11 +1946,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -1959,7 +1959,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -1978,7 +1978,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -1988,7 +1988,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -1997,12 +1997,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2014,13 +2014,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2037,10 +2037,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -2048,7 +2048,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -2061,18 +2061,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -2083,10 +2083,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -2099,9 +2099,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -2159,7 +2159,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2178,7 +2178,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2188,7 +2188,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2197,12 +2197,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2214,13 +2214,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2229,13 +2229,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2254,7 +2254,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2264,7 +2264,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2273,12 +2273,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2290,13 +2290,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2313,23 +2313,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -2337,12 +2337,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2361,7 +2361,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2371,7 +2371,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2380,12 +2380,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2397,13 +2397,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2796,11 +2796,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -2809,7 +2809,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -2828,7 +2828,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -2838,7 +2838,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -2847,12 +2847,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -2864,13 +2864,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -2887,10 +2887,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -2898,7 +2898,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -2911,18 +2911,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -2933,10 +2933,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -2949,9 +2949,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -3009,7 +3009,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3028,7 +3028,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3038,7 +3038,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3047,12 +3047,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3064,13 +3064,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3079,13 +3079,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3104,7 +3104,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3114,7 +3114,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3123,12 +3123,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3140,13 +3140,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3163,23 +3163,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -3187,12 +3187,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3211,7 +3211,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3221,7 +3221,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3230,12 +3230,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3247,13 +3247,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3596,11 +3596,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -3609,7 +3609,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3628,7 +3628,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3638,7 +3638,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3647,12 +3647,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3664,13 +3664,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3687,10 +3687,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -3698,7 +3698,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -3711,18 +3711,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -3733,10 +3733,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -3749,9 +3749,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -3809,7 +3809,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3828,7 +3828,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3838,7 +3838,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3847,12 +3847,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3864,13 +3864,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3879,13 +3879,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -3904,7 +3904,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -3914,7 +3914,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -3923,12 +3923,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -3940,13 +3940,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -3963,23 +3963,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -3987,12 +3987,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4011,7 +4011,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4021,7 +4021,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4030,12 +4030,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4047,13 +4047,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4464,11 +4464,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -4477,7 +4477,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4496,7 +4496,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4506,7 +4506,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4515,12 +4515,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4532,13 +4532,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4555,10 +4555,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -4566,7 +4566,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -4579,18 +4579,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -4601,10 +4601,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -4617,9 +4617,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -4677,7 +4677,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4696,7 +4696,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4706,7 +4706,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4715,12 +4715,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4732,13 +4732,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4747,13 +4747,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4772,7 +4772,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4782,7 +4782,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4791,12 +4791,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4808,13 +4808,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -4831,23 +4831,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -4855,12 +4855,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -4879,7 +4879,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -4889,7 +4889,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -4898,12 +4898,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -4915,13 +4915,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5223,11 +5223,11 @@

Method Details

"clusterName": "A String", # Required. The cluster name prefix. A unique cluster name will be formed by appending a random suffix.The name must contain only lower-case letters (a-z), numbers (0-9), and hyphens (-). Must begin with a letter. Cannot begin or end with hyphen. Must consist of between 2 and 35 characters. "config": { # The cluster config. # Required. The cluster configuration. "autoscalingConfig": { # Autoscaling Policy config associated with the cluster. # Optional. Autoscaling config for the policy associated with the cluster. Cluster does not autoscale if this field is unset. - "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region. + "policyUri": "A String", # Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region. }, "auxiliaryNodeGroups": [ # Optional. The node group settings. { # Node group identification and configuration information. - "nodeGroup": { # Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource. # Required. Node group configuration. + "nodeGroup": { # Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource. # Required. Node group configuration. "labels": { # Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labels. "a_key": "A String", }, @@ -5236,7 +5236,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5255,7 +5255,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5265,7 +5265,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5274,12 +5274,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5291,13 +5291,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5314,10 +5314,10 @@

Method Details

], "clusterTier": "A String", # Optional. The cluster tier. "clusterType": "A String", # Optional. The type of the cluster. - "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. - "dataprocMetricConfig": { # Dataproc metric config. # Optional. The config for Dataproc metrics. + "configBucket": "A String", # Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "dataprocMetricConfig": { # Metric config. # Optional. The config for metrics. "metrics": [ # Required. Metrics sources to enable. - { # A Dataproc custom metric. + { # A custom metric. "metricOverrides": [ # Optional. Specify one or more Custom metrics (https://cloud.google.com/dataproc/docs/guides/dataproc-metrics#custom_metrics) to collect for the metric course (for the SPARK metric source (any Spark metric (https://spark.apache.org/docs/latest/monitoring.html#metrics) can be specified).Provide metrics in the following format: METRIC_SOURCE: INSTANCE:GROUP:METRIC Use camelcase as appropriate.Examples: yarn:ResourceManager:QueueMetrics:AppsCompleted spark:driver:DAGScheduler:job.allJobs sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed hiveserver2:JVM:Memory:NonHeapMemoryUsage.used Notes: Only the specified overridden metrics are collected for the metric source. For example, if one or more spark:executive metrics are listed as metric overrides, other SPARK metrics are not collected. The collection of the metrics for other enabled custom metric sources is unaffected. For example, if both SPARK and YARN metric sources are enabled, and overrides are provided for Spark metrics only, all YARN metrics are collected. "A String", ], @@ -5325,7 +5325,7 @@

Method Details

}, ], }, - "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "diagnosticBucket": "A String", # Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "encryptionConfig": { # Encryption settings for the cluster. # Optional. Encryption settings for the cluster. "gcePdKmsKeyName": "A String", # Optional. The Cloud KMS key resource name to use for persistent disk encryption for all instances in the cluster. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information. "kmsKey": "A String", # Optional. The Cloud KMS key resource name to use for cluster persistent disk and job argument encryption. See Use CMEK with cluster data (https://cloud.google.com//dataproc/docs/concepts/configuring-clusters/customer-managed-encryption#use_cmek_with_cluster_data) for more information.When this key resource name is provided, the following job arguments of the following job types submitted to the cluster are encrypted using CMEK: FlinkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/FlinkJob) HadoopJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/HadoopJob) SparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkJob) SparkRJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkRJob) PySparkJob args (https://cloud.google.com/dataproc/docs/reference/rest/v1/PySparkJob) SparkSqlJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/SparkSqlJob) scriptVariables and queryList.queries HiveJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/HiveJob) scriptVariables and queryList.queries PigJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PigJob) scriptVariables and queryList.queries PrestoJob (https://cloud.google.com/dataproc/docs/reference/rest/v1/PrestoJob) scriptVariables and queryList.queries @@ -5338,18 +5338,18 @@

Method Details

}, "engine": "A String", # Optional. The cluster engine. "gceClusterConfig": { # Common config settings for resources of Compute Engine cluster instances, applicable to all instances in the cluster. # Optional. The shared Compute Engine config settings for all instances in a cluster. - "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "autoZoneExcludeZoneUris": [ # Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] "A String", ], "confidentialInstanceConfig": { # Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs) # Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs). "enableConfidentialCompute": True or False, # Optional. Deprecated: Use 'confidential_instance_type' instead. Defines whether the instance should have confidential compute enabled. }, - "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. + "internalIpOnly": True or False, # Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM. "metadata": { # Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, "networkUri": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a Custom Subnet Network (see Using Subnetworks (https://cloud.google.com/compute/docs/subnetworks) for more information).A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default projects/[project_id]/global/networks/default default - "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. + "nodeGroupAffinity": { # Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource. # Optional. Node Group Affinity for sole-tenant clusters. "nodeGroupUri": "A String", # Required. The URI of a sole-tenant node group resource (https://cloud.google.com/compute/docs/reference/rest/v1/nodeGroups) that the cluster will be created on.A full URL, partial URI, or node group name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 projects/[project_id]/zones/[zone]/nodeGroups/node-group-1 node-group-1 }, "privateIpv6GoogleAccess": "A String", # Optional. The type of IPv6 access for a cluster. @@ -5360,10 +5360,10 @@

Method Details

"A String", ], }, - "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). + "resourceManagerTags": { # Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)). "a_key": "A String", }, - "serviceAccount": "A String", # Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + "serviceAccount": "A String", # Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. "serviceAccountScopes": [ # Optional. The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: https://www.googleapis.com/auth/cloud.useraccounts.readonly https://www.googleapis.com/auth/devstorage.read_write https://www.googleapis.com/auth/logging.writeIf no scopes are specified, the following defaults are also provided: https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/bigtable.admin.table https://www.googleapis.com/auth/bigtable.data https://www.googleapis.com/auth/devstorage.full_control "A String", ], @@ -5376,9 +5376,9 @@

Method Details

"tags": [ # The Compute Engine network tags to add to all instances (see Tagging instances (https://cloud.google.com/vpc/docs/add-remove-network-tags)). "A String", ], - "zoneUri": "A String", # Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] + "zoneUri": "A String", # Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone] }, - "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. + "gkeClusterConfig": { # The cluster's GKE config. # Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config. "gkeClusterTarget": "A String", # Optional. A target GKE cluster to deploy to. It must be in the same project and region as the Dataproc cluster (the GKE cluster can be zonal or regional). Format: 'projects/{project}/locations/{location}/clusters/{cluster_id}' "namespacedGkeDeploymentTarget": { # Deprecated. Used only for the deprecated beta. A full, namespace-isolated deployment target for an existing GKE cluster. # Optional. Deprecated. Use gkeClusterTarget. Used only for the deprecated beta. A target for the deployment. "clusterNamespace": "A String", # Optional. A namespace within the GKE cluster to deploy into. @@ -5436,7 +5436,7 @@

Method Details

"accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5455,7 +5455,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5465,7 +5465,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5474,12 +5474,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5491,13 +5491,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5506,13 +5506,13 @@

Method Details

}, }, "metastoreConfig": { # Specifies a Metastore configuration. # Optional. Metastore configuration. - "dataprocMetastoreService": "A String", # Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] + "dataprocMetastoreService": "A String", # Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name] }, "secondaryWorkerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for a cluster's secondary worker instances "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5531,7 +5531,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5541,7 +5541,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5550,12 +5550,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5567,13 +5567,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. @@ -5590,23 +5590,23 @@

Method Details

"kerberosConfig": { # Specifies Kerberos related configuration. # Optional. Kerberos related configuration. "crossRealmTrustAdminServer": "A String", # Optional. The admin server (IP or hostname) for the remote trusted realm in a cross realm trust relationship. "crossRealmTrustKdc": "A String", # Optional. The KDC (IP or hostname) for the remote trusted realm in a cross realm trust relationship. - "crossRealmTrustRealm": "A String", # Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust. + "crossRealmTrustRealm": "A String", # Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust. "crossRealmTrustSharedPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the shared password between the on-cluster Kerberos realm and the remote trusted realm, in a cross realm trust relationship. "enableKerberos": True or False, # Optional. Flag to indicate whether to Kerberize the cluster (default: false). Set this field to true to enable Kerberos on a cluster. "kdcDbKeyUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the master key of the KDC database. - "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc. - "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc. - "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "keyPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service. + "keystorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service. + "keystoreUri": "A String", # Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. "kmsKeyUri": "A String", # Optional. The URI of the KMS key used to encrypt sensitive files. "realm": "A String", # Optional. The name of the on-cluster Kerberos realm. If not specified, the uppercased domain of hostnames will be the realm. "rootPrincipalPasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the root principal password. "tgtLifetimeHours": 42, # Optional. The lifetime of the ticket granting ticket, in hours. If not specified, or user specifies 0, then default value 10 will be used. - "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc. - "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate. + "truststorePasswordUri": "A String", # Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service. + "truststoreUri": "A String", # Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate. }, }, "softwareConfig": { # Specifies the selection and config of software inside the cluster. # Optional. The config settings for cluster software. - "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. + "imageVersion": "A String", # Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as "1.2" (including a subminor version, such as "1.2.29"), or the "preview" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. "optionalComponents": [ # Optional. The set of components to activate on the cluster. "A String", ], @@ -5614,12 +5614,12 @@

Method Details

"a_key": "A String", }, }, - "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. + "tempBucket": "A String", # Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket. "workerConfig": { # The config settings for Compute Engine resources in an instance group, such as a master or worker group. # Optional. The Compute Engine config settings for the cluster's worker instances. "accelerators": [ # Optional. The Compute Engine accelerator configuration for these instances. { # Specifies the type and number of accelerator cards attached to the instances of an instance. See GPUs on Compute Engine (https://cloud.google.com/compute/docs/gpus/). "acceleratorCount": 42, # The number of the accelerator cards of this type exposed to this instance. - "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. + "acceleratorTypeUri": "A String", # Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4. }, ], "diskConfig": { # Specifies the config of boot disk and attached disk options for a group of VM instances. # Optional. Disk option config settings. @@ -5638,7 +5638,7 @@

Method Details

"localSsdInterface": "A String", # Optional. Interface type of local SSDs (default is scsi). Valid values: scsi (Small Computer System Interface), nvme (Non-Volatile Memory Express). See local SSD performance (https://cloud.google.com/compute/docs/disks/local-ssd#performance). "numLocalSsds": 42, # Optional. Number of attached SSDs, from 0 to 8 (default is 0). If SSDs are not attached, the boot disk is used to store runtime logs and HDFS (https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data. If one or more SSDs are attached, this runtime bulk data is spread across them, and the boot disk contains only basic config and installed binaries.Note: Local SSD options may vary by machine type and number of vCPUs selected. }, - "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. + "imageUri": "A String", # Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default. "instanceFlexibilityPolicy": { # Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. # Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models. "instanceMachineTypes": { # Output only. A map of instance short name to machine type. The key is the short name of the Compute Engine instance, and the value is the full machine-type name (e.g., 'n1-standard-16'). See Machine types for more information on valid machine type strings. "a_key": "A String", @@ -5648,7 +5648,7 @@

Method Details

"machineTypes": [ # Optional. Full machine-type names, e.g. "n1-standard-16". "A String", ], - "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. + "rank": 42, # Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference. }, ], "instanceSelectionResults": [ # Output only. A list of instance selection results in the group. @@ -5657,12 +5657,12 @@

Method Details

"vmCount": 42, # Output only. Number of VM provisioned with the machine_type. }, ], - "provisioningModelMix": { # Defines how Dataproc should create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. - "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. - "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. + "provisioningModelMix": { # Defines how to create VMs with a mixture of provisioning models. # Optional. Defines how the Group selects the provisioning model to ensure required reliability. + "standardCapacityBase": 42, # Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances. + "standardCapacityPercentAboveBase": 42, # Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot. }, }, - "instanceNames": [ # Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group. + "instanceNames": [ # Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group. "A String", ], "instanceReferences": [ # Output only. List of references to Compute Engine instances. @@ -5674,13 +5674,13 @@

Method Details

}, ], "isPreemptible": True or False, # Output only. Specifies that this instance group contains preemptible instances. - "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2. + "machineTypeUri": "A String", # Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2. "managedGroupConfig": { # Specifies the resources used to actively manage an instance group. # Output only. The config for Compute Engine Instance Group Manager that manages this group. This is only used for preemptible instance groups. "instanceGroupManagerName": "A String", # Output only. The name of the Instance Group Manager for this group. "instanceGroupManagerUri": "A String", # Output only. The partial URI to the instance group manager for this group. E.g. projects/my-project/regions/us-central1/instanceGroupManagers/my-igm. "instanceTemplateName": "A String", # Output only. The name of the Instance Template used for the Managed Instance Group. }, - "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). + "minCpuPlatform": "A String", # Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu). "minNumInstances": 42, # Optional. The minimum number of primary worker instances to create. If min_num_instances is set, cluster creation will succeed if the number of primary workers created is at least equal to the min_num_instances number.Example: Cluster creation request with num_instances = 5 and min_num_instances = 3: If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a RUNNING state. If 2 instances are created and 3 instances fail, the cluster in placed in an ERROR state. The failed VMs are not deleted. "numInstances": 42, # Optional. The number of VM instances in the instance group. For HA cluster master_config groups, must be set to 3. For standard cluster master_config groups, must be set to 1. "preemptibility": "A String", # Optional. Specifies the preemptibility of the instance group.The default value for master and worker groups is NON_PREEMPTIBLE. This default cannot be changed.The default value for secondary instances is PREEMPTIBLE. diff --git a/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html b/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html index 4b5827d19b..4f1315989b 100644 --- a/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html +++ b/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html @@ -117,6 +117,17 @@

Method Details

"bigqueryProfile": { # Profile for connecting to a BigQuery destination. # Profile for connecting to a BigQuery destination. }, "createTime": "A String", # Output only. The create time of the resource. + "dataverseProfile": { # Profile for connecting to a Dataverse source. # Profile for connecting to a Dataverse source. + "environmentUrl": "A String", # Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Credentials for authenticating with the Dataverse API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "tenantId": "A String", # Required. Tenant id of the Microsoft Dataverse instance. + }, "displayName": "A String", # Required. Display name. "forwardSshConnectivity": { # Forward SSH Tunnel connectivity. # Forward SSH tunnel connectivity. "hostname": "A String", # Required. Hostname for the SSH tunnel. @@ -232,6 +243,16 @@

Method Details

"privateConnectivity": { # Private Connectivity # Private connectivity. "privateConnection": "A String", # Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}` }, + "salesforceMarketingCloudProfile": { # Profile for connecting to a Salesforce Marketing Cloud source. # Profile for connecting to a Salesforce Marketing Cloud source. + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "subdomain": "A String", # Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + }, "salesforceProfile": { # Profile for connecting to a Salesforce source. # Profile for connecting to a Salesforce source. "domain": "A String", # Required. Domain endpoint for the Salesforce connection. "oauth2ClientCredentials": { # OAuth2 Client Credentials. # Connected app authentication. @@ -249,6 +270,23 @@

Method Details

}, "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceNowProfile": { # Profile for connecting to a ServiceNow source. # Profile for connecting to a ServiceNow source. + "instance": "A String", # Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + "oauthClientCredentials": { # OAuth Client Credentials. # Credentials for authenticating with the ServiceNow API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "userPasswordCredentials": { # User-password credentials. # User-password authentication. + "password": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Password for the connection. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + "username": "A String", # Required. Username for the connection. + }, + }, "spannerProfile": { # Profile for connecting to a Spanner source. # Profile for connecting to a Spanner source. "database": "A String", # Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}. "host": "A String", # Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com. @@ -359,6 +397,17 @@

Method Details

"bigqueryProfile": { # Profile for connecting to a BigQuery destination. # Profile for connecting to a BigQuery destination. }, "createTime": "A String", # Output only. The create time of the resource. + "dataverseProfile": { # Profile for connecting to a Dataverse source. # Profile for connecting to a Dataverse source. + "environmentUrl": "A String", # Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Credentials for authenticating with the Dataverse API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "tenantId": "A String", # Required. Tenant id of the Microsoft Dataverse instance. + }, "displayName": "A String", # Required. Display name. "forwardSshConnectivity": { # Forward SSH Tunnel connectivity. # Forward SSH tunnel connectivity. "hostname": "A String", # Required. Hostname for the SSH tunnel. @@ -474,6 +523,16 @@

Method Details

"privateConnectivity": { # Private Connectivity # Private connectivity. "privateConnection": "A String", # Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}` }, + "salesforceMarketingCloudProfile": { # Profile for connecting to a Salesforce Marketing Cloud source. # Profile for connecting to a Salesforce Marketing Cloud source. + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "subdomain": "A String", # Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + }, "salesforceProfile": { # Profile for connecting to a Salesforce source. # Profile for connecting to a Salesforce source. "domain": "A String", # Required. Domain endpoint for the Salesforce connection. "oauth2ClientCredentials": { # OAuth2 Client Credentials. # Connected app authentication. @@ -491,6 +550,23 @@

Method Details

}, "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceNowProfile": { # Profile for connecting to a ServiceNow source. # Profile for connecting to a ServiceNow source. + "instance": "A String", # Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + "oauthClientCredentials": { # OAuth Client Credentials. # Credentials for authenticating with the ServiceNow API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "userPasswordCredentials": { # User-password credentials. # User-password authentication. + "password": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Password for the connection. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + "username": "A String", # Required. Username for the connection. + }, + }, "spannerProfile": { # Profile for connecting to a Spanner source. # Profile for connecting to a Spanner source. "database": "A String", # Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}. "host": "A String", # Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com. @@ -625,6 +701,22 @@

Method Details

}, ], }, + "sourceCatalog": { # Source catalog. # Optional. Source catalog to enrich with child data objects and metadata. This is mainly used to represent SaaS sources databases. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "spannerDatabase": { # Spanner database structure. # Optional. Spanner database to enrich with child data objects and metadata. "schemas": [ # Optional. Spanner schemas in the database. { # Spanner schema. @@ -785,6 +877,22 @@

Method Details

}, ], }, + "sourceCatalog": { # Source catalog. # Enriched source catalog. This is mainly used to represent SaaS sources databases. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "spannerDatabase": { # Spanner database structure. # Enriched Spanner database. "schemas": [ # Optional. Spanner schemas in the database. { # Spanner schema. @@ -850,6 +958,17 @@

Method Details

"bigqueryProfile": { # Profile for connecting to a BigQuery destination. # Profile for connecting to a BigQuery destination. }, "createTime": "A String", # Output only. The create time of the resource. + "dataverseProfile": { # Profile for connecting to a Dataverse source. # Profile for connecting to a Dataverse source. + "environmentUrl": "A String", # Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Credentials for authenticating with the Dataverse API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "tenantId": "A String", # Required. Tenant id of the Microsoft Dataverse instance. + }, "displayName": "A String", # Required. Display name. "forwardSshConnectivity": { # Forward SSH Tunnel connectivity. # Forward SSH tunnel connectivity. "hostname": "A String", # Required. Hostname for the SSH tunnel. @@ -965,6 +1084,16 @@

Method Details

"privateConnectivity": { # Private Connectivity # Private connectivity. "privateConnection": "A String", # Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}` }, + "salesforceMarketingCloudProfile": { # Profile for connecting to a Salesforce Marketing Cloud source. # Profile for connecting to a Salesforce Marketing Cloud source. + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "subdomain": "A String", # Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + }, "salesforceProfile": { # Profile for connecting to a Salesforce source. # Profile for connecting to a Salesforce source. "domain": "A String", # Required. Domain endpoint for the Salesforce connection. "oauth2ClientCredentials": { # OAuth2 Client Credentials. # Connected app authentication. @@ -982,6 +1111,23 @@

Method Details

}, "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceNowProfile": { # Profile for connecting to a ServiceNow source. # Profile for connecting to a ServiceNow source. + "instance": "A String", # Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + "oauthClientCredentials": { # OAuth Client Credentials. # Credentials for authenticating with the ServiceNow API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "userPasswordCredentials": { # User-password credentials. # User-password authentication. + "password": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Password for the connection. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + "username": "A String", # Required. Username for the connection. + }, + }, "spannerProfile": { # Profile for connecting to a Spanner source. # Profile for connecting to a Spanner source. "database": "A String", # Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}. "host": "A String", # Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com. @@ -1034,6 +1180,17 @@

Method Details

"bigqueryProfile": { # Profile for connecting to a BigQuery destination. # Profile for connecting to a BigQuery destination. }, "createTime": "A String", # Output only. The create time of the resource. + "dataverseProfile": { # Profile for connecting to a Dataverse source. # Profile for connecting to a Dataverse source. + "environmentUrl": "A String", # Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Credentials for authenticating with the Dataverse API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "tenantId": "A String", # Required. Tenant id of the Microsoft Dataverse instance. + }, "displayName": "A String", # Required. Display name. "forwardSshConnectivity": { # Forward SSH Tunnel connectivity. # Forward SSH tunnel connectivity. "hostname": "A String", # Required. Hostname for the SSH tunnel. @@ -1149,6 +1306,16 @@

Method Details

"privateConnectivity": { # Private Connectivity # Private connectivity. "privateConnection": "A String", # Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}` }, + "salesforceMarketingCloudProfile": { # Profile for connecting to a Salesforce Marketing Cloud source. # Profile for connecting to a Salesforce Marketing Cloud source. + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "subdomain": "A String", # Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + }, "salesforceProfile": { # Profile for connecting to a Salesforce source. # Profile for connecting to a Salesforce source. "domain": "A String", # Required. Domain endpoint for the Salesforce connection. "oauth2ClientCredentials": { # OAuth2 Client Credentials. # Connected app authentication. @@ -1166,6 +1333,23 @@

Method Details

}, "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceNowProfile": { # Profile for connecting to a ServiceNow source. # Profile for connecting to a ServiceNow source. + "instance": "A String", # Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + "oauthClientCredentials": { # OAuth Client Credentials. # Credentials for authenticating with the ServiceNow API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "userPasswordCredentials": { # User-password credentials. # User-password authentication. + "password": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Password for the connection. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + "username": "A String", # Required. Username for the connection. + }, + }, "spannerProfile": { # Profile for connecting to a Spanner source. # Profile for connecting to a Spanner source. "database": "A String", # Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}. "host": "A String", # Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com. @@ -1227,6 +1411,17 @@

Method Details

"bigqueryProfile": { # Profile for connecting to a BigQuery destination. # Profile for connecting to a BigQuery destination. }, "createTime": "A String", # Output only. The create time of the resource. + "dataverseProfile": { # Profile for connecting to a Dataverse source. # Profile for connecting to a Dataverse source. + "environmentUrl": "A String", # Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Credentials for authenticating with the Dataverse API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "tenantId": "A String", # Required. Tenant id of the Microsoft Dataverse instance. + }, "displayName": "A String", # Required. Display name. "forwardSshConnectivity": { # Forward SSH Tunnel connectivity. # Forward SSH tunnel connectivity. "hostname": "A String", # Required. Hostname for the SSH tunnel. @@ -1342,6 +1537,16 @@

Method Details

"privateConnectivity": { # Private Connectivity # Private connectivity. "privateConnection": "A String", # Required. A reference to a private connection resource. Format: `projects/{project}/locations/{location}/privateConnections/{name}` }, + "salesforceMarketingCloudProfile": { # Profile for connecting to a Salesforce Marketing Cloud source. # Profile for connecting to a Salesforce Marketing Cloud source. + "oauthClientCredentials": { # OAuth Client Credentials. # Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "subdomain": "A String", # Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + }, "salesforceProfile": { # Profile for connecting to a Salesforce source. # Profile for connecting to a Salesforce source. "domain": "A String", # Required. Domain endpoint for the Salesforce connection. "oauth2ClientCredentials": { # OAuth2 Client Credentials. # Connected app authentication. @@ -1359,6 +1564,23 @@

Method Details

}, "satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. + "serviceNowProfile": { # Profile for connecting to a ServiceNow source. # Profile for connecting to a ServiceNow source. + "instance": "A String", # Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + "oauthClientCredentials": { # OAuth Client Credentials. # Credentials for authenticating with the ServiceNow API. + "clientId": "A String", # Required. Client ID for OAuth Client Credentials. + "clientSecret": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Client secret for OAuth Client Credentials. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + }, + "userPasswordCredentials": { # User-password credentials. # User-password authentication. + "password": { # A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. # Required. Password for the connection. + "rawValue": "A String", # Optional. Input only. The actual raw value of the secret as plain text. + "secretVersion": "A String", # Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version} + }, + "username": "A String", # Required. Username for the connection. + }, + }, "spannerProfile": { # Profile for connecting to a Spanner source. # Profile for connecting to a Spanner source. "database": "A String", # Required. Immutable. Cloud Spanner database resource. This field is immutable. Must be in the format: projects/{project}/instances/{instance}/databases/{database_id}. "host": "A String", # Optional. The Spanner endpoint to connect to. Defaults to the global endpoint (https://spanner.googleapis.com). Must be in the format: https://spanner.{region}.rep.googleapis.com. diff --git a/docs/dyn/datastream_v1.projects.locations.streams.html b/docs/dyn/datastream_v1.projects.locations.streams.html index 4f8a0b0453..41ca6c4391 100644 --- a/docs/dyn/datastream_v1.projects.locations.streams.html +++ b/docs/dyn/datastream_v1.projects.locations.streams.html @@ -211,6 +211,22 @@

Method Details

}, ], }, + "saasExcludedObjects": { # Source catalog. # Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "salesforceExcludedObjects": { # Salesforce organization structure. # Salesforce data source objects to avoid backfilling "objects": [ # Salesforce objects in the database server. { # Salesforce object. @@ -393,6 +409,41 @@

Method Details

"satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. "sourceConfig": { # The configuration of the stream source. # Required. Source connection profile configuration. + "dataverseSourceConfig": { # Configuration for syncing data from a Dataverse source. # Dataverse data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "mongodbSourceConfig": { # Configuration for syncing data from a MongoDB source. # MongoDB data source configuration. "excludeObjects": { # MongoDB Cluster structure. # The MongoDB collections to exclude from the stream. "databases": [ # MongoDB databases in the cluster. @@ -610,6 +661,42 @@

Method Details

"publication": "A String", # Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects. "replicationSlot": "A String", # Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin. }, + "salesforceMarketingCloudSourceConfig": { # Configuration for syncing data from a Salesforce Marketing Cloud source. # Salesforce Marketing Cloud data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "fullRefreshPollingInterval": "A String", # Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive. + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "salesforceSourceConfig": { # Configuration for syncing data from a Salesforce source. # Salesforce data source configuration. "excludeObjects": { # Salesforce organization structure. # The Salesforce objects to exclude from the stream. "objects": [ # Salesforce objects in the database server. @@ -641,6 +728,41 @@

Method Details

}, "pollingInterval": "A String", # Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive. }, + "serviceNowSourceConfig": { # Configuration for syncing data from a ServiceNow source. # ServiceNow data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "sourceConnectionProfile": "A String", # Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` "spannerSourceConfig": { # Configuration for syncing data from a Spanner source. # Spanner data source configuration. "backfillDataBoostEnabled": True or False, # Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set. @@ -927,6 +1049,22 @@

Method Details

}, ], }, + "saasExcludedObjects": { # Source catalog. # Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "salesforceExcludedObjects": { # Salesforce organization structure. # Salesforce data source objects to avoid backfilling "objects": [ # Salesforce objects in the database server. { # Salesforce object. @@ -1109,6 +1247,41 @@

Method Details

"satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. "sourceConfig": { # The configuration of the stream source. # Required. Source connection profile configuration. + "dataverseSourceConfig": { # Configuration for syncing data from a Dataverse source. # Dataverse data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "mongodbSourceConfig": { # Configuration for syncing data from a MongoDB source. # MongoDB data source configuration. "excludeObjects": { # MongoDB Cluster structure. # The MongoDB collections to exclude from the stream. "databases": [ # MongoDB databases in the cluster. @@ -1326,6 +1499,42 @@

Method Details

"publication": "A String", # Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects. "replicationSlot": "A String", # Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin. }, + "salesforceMarketingCloudSourceConfig": { # Configuration for syncing data from a Salesforce Marketing Cloud source. # Salesforce Marketing Cloud data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "fullRefreshPollingInterval": "A String", # Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive. + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "salesforceSourceConfig": { # Configuration for syncing data from a Salesforce source. # Salesforce data source configuration. "excludeObjects": { # Salesforce organization structure. # The Salesforce objects to exclude from the stream. "objects": [ # Salesforce objects in the database server. @@ -1357,6 +1566,41 @@

Method Details

}, "pollingInterval": "A String", # Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive. }, + "serviceNowSourceConfig": { # Configuration for syncing data from a ServiceNow source. # ServiceNow data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "sourceConnectionProfile": "A String", # Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` "spannerSourceConfig": { # Configuration for syncing data from a Spanner source. # Spanner data source configuration. "backfillDataBoostEnabled": True or False, # Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set. @@ -1582,6 +1826,22 @@

Method Details

}, ], }, + "saasExcludedObjects": { # Source catalog. # Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "salesforceExcludedObjects": { # Salesforce organization structure. # Salesforce data source objects to avoid backfilling "objects": [ # Salesforce objects in the database server. { # Salesforce object. @@ -1764,6 +2024,41 @@

Method Details

"satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. "sourceConfig": { # The configuration of the stream source. # Required. Source connection profile configuration. + "dataverseSourceConfig": { # Configuration for syncing data from a Dataverse source. # Dataverse data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "mongodbSourceConfig": { # Configuration for syncing data from a MongoDB source. # MongoDB data source configuration. "excludeObjects": { # MongoDB Cluster structure. # The MongoDB collections to exclude from the stream. "databases": [ # MongoDB databases in the cluster. @@ -1981,6 +2276,42 @@

Method Details

"publication": "A String", # Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects. "replicationSlot": "A String", # Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin. }, + "salesforceMarketingCloudSourceConfig": { # Configuration for syncing data from a Salesforce Marketing Cloud source. # Salesforce Marketing Cloud data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "fullRefreshPollingInterval": "A String", # Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive. + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "salesforceSourceConfig": { # Configuration for syncing data from a Salesforce source. # Salesforce data source configuration. "excludeObjects": { # Salesforce organization structure. # The Salesforce objects to exclude from the stream. "objects": [ # Salesforce objects in the database server. @@ -2012,6 +2343,41 @@

Method Details

}, "pollingInterval": "A String", # Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive. }, + "serviceNowSourceConfig": { # Configuration for syncing data from a ServiceNow source. # ServiceNow data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "sourceConnectionProfile": "A String", # Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` "spannerSourceConfig": { # Configuration for syncing data from a Spanner source. # Spanner data source configuration. "backfillDataBoostEnabled": True or False, # Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set. @@ -2244,6 +2610,22 @@

Method Details

}, ], }, + "saasExcludedObjects": { # Source catalog. # Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, "salesforceExcludedObjects": { # Salesforce organization structure. # Salesforce data source objects to avoid backfilling "objects": [ # Salesforce objects in the database server. { # Salesforce object. @@ -2426,6 +2808,41 @@

Method Details

"satisfiesPzi": True or False, # Output only. Reserved for future use. "satisfiesPzs": True or False, # Output only. Reserved for future use. "sourceConfig": { # The configuration of the stream source. # Required. Source connection profile configuration. + "dataverseSourceConfig": { # Configuration for syncing data from a Dataverse source. # Dataverse data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "mongodbSourceConfig": { # Configuration for syncing data from a MongoDB source. # MongoDB data source configuration. "excludeObjects": { # MongoDB Cluster structure. # The MongoDB collections to exclude from the stream. "databases": [ # MongoDB databases in the cluster. @@ -2643,6 +3060,42 @@

Method Details

"publication": "A String", # Required. The name of the publication that includes the set of all tables that are defined in the stream's include_objects. "replicationSlot": "A String", # Required. Immutable. The name of the logical replication slot that's configured with the pgoutput plugin. }, + "salesforceMarketingCloudSourceConfig": { # Configuration for syncing data from a Salesforce Marketing Cloud source. # Salesforce Marketing Cloud data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "fullRefreshPollingInterval": "A String", # Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive. + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "salesforceSourceConfig": { # Configuration for syncing data from a Salesforce source. # Salesforce data source configuration. "excludeObjects": { # Salesforce organization structure. # The Salesforce objects to exclude from the stream. "objects": [ # Salesforce objects in the database server. @@ -2674,6 +3127,41 @@

Method Details

}, "pollingInterval": "A String", # Required. Salesforce objects polling interval. The interval at which new changes will be polled for each object. The duration must be from `5 minutes` to `24 hours`, inclusive. }, + "serviceNowSourceConfig": { # Configuration for syncing data from a ServiceNow source. # ServiceNow data source configuration. + "excludeObjects": { # Source catalog. # Optional. The objects to exclude from the stream. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "includeObjects": { # Source catalog. # Optional. The objects to retrieve from the source. + "objects": [ # Optional. Source objects in the catalog. + { # Source object. + "objectName": "A String", # Required. The object name. + "properties": [ # Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + { # Source property. + "primaryKey": True or False, # Optional. Whether or not the property is a primary key. + "properties": [ # Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + # Object with schema name: SourceProperty + ], + "propertyName": "A String", # Required. The property name. + }, + ], + }, + ], + }, + "pollingInterval": "A String", # Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + }, "sourceConnectionProfile": "A String", # Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}` "spannerSourceConfig": { # Configuration for syncing data from a Spanner source. # Spanner data source configuration. "backfillDataBoostEnabled": True or False, # Optional. Whether to use Data Boost for Spanner backfills. Defaults to false if not set. diff --git a/docs/dyn/developerconnect_v1.projects.locations.insightsConfigs.deploymentEvents.html b/docs/dyn/developerconnect_v1.projects.locations.insightsConfigs.deploymentEvents.html index a4c5b6e4c5..2706a1962d 100644 --- a/docs/dyn/developerconnect_v1.projects.locations.insightsConfigs.deploymentEvents.html +++ b/docs/dyn/developerconnect_v1.projects.locations.insightsConfigs.deploymentEvents.html @@ -114,6 +114,9 @@

Method Details

"containerStatusSummary": "A String", # Output only. The summary of container status of the artifact deployment. Format as `ContainerStatusState-Reason : restartCount` e.g. "Waiting-ImagePullBackOff : 3" "deployTime": "A String", # Output only. The time at which the deployment was deployed. "id": "A String", # Output only. Unique identifier of `ArtifactDeployment`. + "sourceCodeUris": [ # Output only. The URIs of the source code, if available. For Cloud Run source deploy for example: `gs://my-bucket/my-folder/1234567890.abcde-fdbe.zip#1234567890` + "A String", + ], "sourceCommitUris": [ # Output only. The source commits at which this artifact was built. Extracted from provenance. "A String", ], @@ -178,6 +181,9 @@

Method Details

"containerStatusSummary": "A String", # Output only. The summary of container status of the artifact deployment. Format as `ContainerStatusState-Reason : restartCount` e.g. "Waiting-ImagePullBackOff : 3" "deployTime": "A String", # Output only. The time at which the deployment was deployed. "id": "A String", # Output only. Unique identifier of `ArtifactDeployment`. + "sourceCodeUris": [ # Output only. The URIs of the source code, if available. For Cloud Run source deploy for example: `gs://my-bucket/my-folder/1234567890.abcde-fdbe.zip#1234567890` + "A String", + ], "sourceCommitUris": [ # Output only. The source commits at which this artifact was built. Extracted from provenance. "A String", ], diff --git a/docs/dyn/developerknowledge_v1.documents.html b/docs/dyn/developerknowledge_v1.documents.html index 2669ba3801..0b6a9d2ffd 100644 --- a/docs/dyn/developerknowledge_v1.documents.html +++ b/docs/dyn/developerknowledge_v1.documents.html @@ -95,7 +95,7 @@

Method Details

Retrieves multiple documents, each with its full Markdown content.
 
 Args:
-  names: string, Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go (repeated)
+  names: string, Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets`  (repeated)
   view: string, Optional. Specifies the DocumentView of the document. If unspecified, DeveloperKnowledge.BatchGetDocuments defaults to `DOCUMENT_VIEW_CONTENT`.
     Allowed values
       DOCUMENT_VIEW_UNSPECIFIED - The default / unset value. See each API method for its default value if DocumentView is not specified.
diff --git a/docs/dyn/developerknowledge_v1alpha.documents.html b/docs/dyn/developerknowledge_v1alpha.documents.html
index 0785d735c5..478f48da6d 100644
--- a/docs/dyn/developerknowledge_v1alpha.documents.html
+++ b/docs/dyn/developerknowledge_v1alpha.documents.html
@@ -95,7 +95,7 @@ 

Method Details

Retrieves multiple documents, each with its full Markdown content.
 
 Args:
-  names: string, Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go (repeated)
+  names: string, Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets`  (repeated)
   view: string, Optional. Specifies the DocumentView of the document. If unspecified, DeveloperKnowledge.BatchGetDocuments defaults to `DOCUMENT_VIEW_CONTENT`.
     Allowed values
       DOCUMENT_VIEW_UNSPECIFIED - The default / unset value. See each API method for its default value if DocumentView is not specified.
diff --git a/docs/dyn/developerknowledge_v1alpha.v1alpha.html b/docs/dyn/developerknowledge_v1alpha.v1alpha.html
index 9d8883c0f6..285b8c8e8b 100644
--- a/docs/dyn/developerknowledge_v1alpha.v1alpha.html
+++ b/docs/dyn/developerknowledge_v1alpha.v1alpha.html
@@ -104,6 +104,38 @@ 

Method Details

{ # Response message for DeveloperKnowledge.AnswerQuery. "answer": { # An answer to a query. # The answer to the query. "answerText": "A String", # Contains the text of the answer. + "citations": [ # Output only. Contains citations for the answer. + { # Citation info for a segment. + "endIndex": 42, # Output only. Indicates the end of the segment, measured in bytes (UTF-8 unicode), exclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length. + "sources": [ # Output only. Contains citation sources for the attributed segment. + { # Citation source. + "referenceIndex": 42, # Output only. Contains the index of the Answer.AnswerReference in the `references` repeated field. + }, + ], + "startIndex": 42, # Output only. Indicates the start of the segment, measured in bytes (UTF-8 unicode), inclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length. + }, + ], + "references": [ # Output only. Contains references for the answer. + { # Represents a reference to a source. + "documentReference": { # Represents a reference to a document. # Output only. The reference document. + "documentChunk": { # A DocumentChunk represents a piece of content from a Document in the DeveloperKnowledge corpus. To fetch the entire document content, pass the `parent` to DeveloperKnowledge.GetDocument or DeveloperKnowledge.BatchGetDocuments. # Output only. Contains the document chunk. The `document_chunk.id` field is not set and will be empty. + "content": "A String", # Output only. Contains the content of the document chunk. + "document": { # A Document represents a piece of content from the Developer Knowledge corpus. # Output only. Represents metadata about the Document this chunk is from. The DocumentView of this Document message will be set to `DOCUMENT_VIEW_BASIC`. It is included here for convenience so that clients do not need to call DeveloperKnowledge.GetDocument or DeveloperKnowledge.BatchGetDocuments if they only need the metadata fields. Otherwise, clients should use DeveloperKnowledge.GetDocument or DeveloperKnowledge.BatchGetDocuments to fetch the full document content. + "content": "A String", # Output only. Contains the full content of the document in Markdown format. + "dataSource": "A String", # Output only. Specifies the data source of the document. Example data source: `firebase.google.com` + "description": "A String", # Output only. Provides a description of the document. + "name": "A String", # Identifier. Contains the resource name of the document. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` + "title": "A String", # Output only. Provides the title of the document. + "updateTime": "A String", # Output only. Represents the timestamp when the content or metadata of the document was last updated. + "uri": "A String", # Output only. Provides the URI of the content, such as `docs.cloud.google.com/storage/docs/creating-buckets`. + "view": "A String", # Output only. Specifies the DocumentView of the document. + }, + "id": "A String", # Output only. Specifies the ID of this chunk within the document. The chunk ID is unique within a document, but not globally unique across documents. The chunk ID is not stable and may change over time. + "parent": "A String", # Output only. Contains the resource name of the document this chunk is from. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` + }, + }, + }, + ], }, }
diff --git a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html index 1f0dc60f51..3c3c354e75 100644 --- a/docs/dyn/dialogflow_v2.projects.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2.projects.conversationProfiles.html @@ -180,6 +180,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -227,6 +228,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -253,6 +255,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -300,6 +303,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -352,6 +356,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -416,6 +431,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -463,6 +479,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -489,6 +506,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -536,6 +554,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -588,6 +607,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -677,6 +707,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -724,6 +755,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -750,6 +782,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -797,6 +830,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -849,6 +883,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -924,6 +969,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -971,6 +1017,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -997,6 +1044,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1044,6 +1092,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1096,6 +1145,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1179,6 +1239,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1226,6 +1287,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1252,6 +1314,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1299,6 +1362,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1351,6 +1415,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1416,6 +1491,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1463,6 +1539,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1489,6 +1566,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1536,6 +1614,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1588,6 +1667,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1644,6 +1734,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1691,6 +1782,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.conversations.html b/docs/dyn/dialogflow_v2.projects.conversations.html index 42a33bfc4d..dbcfba92af 100644 --- a/docs/dyn/dialogflow_v2.projects.conversations.html +++ b/docs/dyn/dialogflow_v2.projects.conversations.html @@ -173,6 +173,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -220,6 +221,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -246,6 +248,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -293,6 +296,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -345,6 +349,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -459,6 +474,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -506,6 +522,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -532,6 +549,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -579,6 +597,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -631,6 +650,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -744,6 +774,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -791,6 +822,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -817,6 +849,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -864,6 +897,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -916,6 +950,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1035,6 +1080,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1082,6 +1128,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1108,6 +1155,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1155,6 +1203,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1207,6 +1256,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1331,6 +1391,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1378,6 +1439,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1404,6 +1466,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1451,6 +1514,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1503,6 +1567,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.html index 43fa007bbe..ba76ab2c7f 100644 --- a/docs/dyn/dialogflow_v2.projects.conversations.participants.html +++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.html @@ -913,10 +913,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -948,6 +964,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -962,6 +983,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", @@ -1194,10 +1221,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -1229,6 +1272,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -1243,6 +1291,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2.projects.conversations.participants.suggestions.html b/docs/dyn/dialogflow_v2.projects.conversations.participants.suggestions.html index 9e93b15060..0b69d2861e 100644 --- a/docs/dyn/dialogflow_v2.projects.conversations.participants.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.conversations.participants.suggestions.html @@ -211,10 +211,26 @@

Method Details

An object of the form: { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -246,6 +262,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -260,6 +281,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html index c4fb802168..4fb21fe8e7 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversationProfiles.html @@ -180,6 +180,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -227,6 +228,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -253,6 +255,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -300,6 +303,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -352,6 +356,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -416,6 +431,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -463,6 +479,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -489,6 +506,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -536,6 +554,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -588,6 +607,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -677,6 +707,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -724,6 +755,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -750,6 +782,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -797,6 +830,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -849,6 +883,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -924,6 +969,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -971,6 +1017,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -997,6 +1044,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1044,6 +1092,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1096,6 +1145,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1179,6 +1239,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1226,6 +1287,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1252,6 +1314,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1299,6 +1362,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1351,6 +1415,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1416,6 +1491,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1463,6 +1539,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1489,6 +1566,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1536,6 +1614,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1588,6 +1667,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1644,6 +1734,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1691,6 +1782,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.html index b1cb31273a..fba5162671 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversations.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.html @@ -176,6 +176,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -223,6 +224,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -249,6 +251,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -296,6 +299,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -348,6 +352,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -462,6 +477,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -509,6 +525,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -535,6 +552,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -582,6 +600,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -634,6 +653,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -747,6 +777,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -794,6 +825,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -820,6 +852,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -867,6 +900,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -919,6 +953,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1038,6 +1083,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1085,6 +1131,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1111,6 +1158,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1158,6 +1206,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1210,6 +1259,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1388,6 +1448,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1435,6 +1496,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1461,6 +1523,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1508,6 +1571,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -1560,6 +1624,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html index dcd6440c44..1bf280c2b6 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.html @@ -913,10 +913,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -948,6 +964,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -962,6 +983,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", @@ -1194,10 +1221,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -1229,6 +1272,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -1243,6 +1291,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.suggestions.html b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.suggestions.html index 722f531892..a45a44362f 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.locations.conversations.participants.suggestions.html @@ -211,10 +211,26 @@

Method Details

An object of the form: { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -246,6 +262,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -260,6 +281,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2.projects.locations.suggestions.html b/docs/dyn/dialogflow_v2.projects.locations.suggestions.html index 884533a790..31907ac42d 100644 --- a/docs/dyn/dialogflow_v2.projects.locations.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.locations.suggestions.html @@ -120,6 +120,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -167,6 +168,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -193,6 +195,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -240,6 +243,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -292,6 +296,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2.projects.suggestions.html b/docs/dyn/dialogflow_v2.projects.suggestions.html index 3a0dd3250c..7ae7880c94 100644 --- a/docs/dyn/dialogflow_v2.projects.suggestions.html +++ b/docs/dyn/dialogflow_v2.projects.suggestions.html @@ -120,6 +120,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -167,6 +168,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -193,6 +195,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -240,6 +243,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmalltalk": True or False, "onlyEndUser": True or False, @@ -292,6 +296,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html index 36366d41ae..25664fb930 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html @@ -180,6 +180,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -227,6 +228,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -253,6 +255,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -300,6 +303,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -352,6 +356,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -417,6 +432,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -464,6 +480,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -490,6 +507,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -537,6 +555,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -589,6 +608,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -679,6 +709,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -726,6 +757,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -752,6 +784,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -799,6 +832,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -851,6 +885,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -927,6 +972,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -974,6 +1020,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1000,6 +1047,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1047,6 +1095,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1099,6 +1148,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1183,6 +1243,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1230,6 +1291,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1256,6 +1318,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1303,6 +1366,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1355,6 +1419,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1421,6 +1496,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1468,6 +1544,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1494,6 +1571,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1541,6 +1619,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1593,6 +1672,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1650,6 +1740,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1697,6 +1788,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.html index e41b6a46ca..befe5fac07 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversations.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.html @@ -173,6 +173,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -220,6 +221,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -246,6 +248,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -293,6 +296,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -345,6 +349,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -460,6 +475,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -507,6 +523,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -533,6 +550,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -580,6 +598,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -632,6 +651,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -746,6 +776,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -793,6 +824,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -819,6 +851,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -866,6 +899,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -918,6 +952,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1038,6 +1083,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1085,6 +1131,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1111,6 +1158,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1158,6 +1206,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1210,6 +1259,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1335,6 +1395,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1382,6 +1443,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1408,6 +1470,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1455,6 +1518,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1507,6 +1571,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html index b096bfe235..7bd3f7fcf2 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.html @@ -3228,10 +3228,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -3263,6 +3279,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -3277,6 +3298,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", @@ -4872,10 +4899,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -4907,6 +4950,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -4921,6 +4969,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.suggestions.html index c4c7cba907..d82c6dd1c0 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.participants.suggestions.html @@ -345,10 +345,26 @@

Method Details

An object of the form: { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -380,6 +396,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -394,6 +415,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html index 9a4b9bc54e..201fcfd7b9 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html @@ -180,6 +180,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -227,6 +228,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -253,6 +255,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -300,6 +303,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -352,6 +356,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -417,6 +432,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -464,6 +480,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -490,6 +507,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -537,6 +555,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -589,6 +608,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -679,6 +709,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -726,6 +757,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -752,6 +784,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -799,6 +832,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -851,6 +885,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -927,6 +972,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -974,6 +1020,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1000,6 +1047,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1047,6 +1095,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1099,6 +1148,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1183,6 +1243,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1230,6 +1291,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1256,6 +1318,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1303,6 +1366,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1355,6 +1419,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1421,6 +1496,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1468,6 +1544,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1494,6 +1571,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1541,6 +1619,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1593,6 +1672,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1650,6 +1740,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1697,6 +1788,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html index 0f1ddad56e..ca3bd8eb72 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html @@ -176,6 +176,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -223,6 +224,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -249,6 +251,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -296,6 +299,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -348,6 +352,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -463,6 +478,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -510,6 +526,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -536,6 +553,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -583,6 +601,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -635,6 +654,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -749,6 +779,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -796,6 +827,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -822,6 +854,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -869,6 +902,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -921,6 +955,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1041,6 +1086,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1088,6 +1134,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1114,6 +1161,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1161,6 +1209,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1213,6 +1262,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, @@ -1392,6 +1452,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1439,6 +1500,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1465,6 +1527,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -1512,6 +1575,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -1564,6 +1628,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html index 3d9b0c436f..580947926e 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.html @@ -3228,10 +3228,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -3263,6 +3279,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -3277,6 +3298,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", @@ -4872,10 +4899,26 @@

Method Details

"latestMessage": "A String", }, "suggestKnowledgeAssistResponse": { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -4907,6 +4950,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -4921,6 +4969,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.suggestions.html index 803f272794..206cadb8a1 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.participants.suggestions.html @@ -210,10 +210,26 @@

Method Details

An object of the form: { + "additionalSuggestedQueryResults": [ + { + "suggestedQuery": { + "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], + }, + }, + ], "contextSize": 42, "knowledgeAssistAnswer": { "answerRecord": "A String", "knowledgeAssistDebugInfo": { + "cesDebugInfo": { + "a_key": "", # Properties of the object. + }, "datastoreResponseReason": "A String", "ingestedContextReferenceDebugInfo": { "contextReferenceRetrieved": True or False, @@ -245,6 +261,11 @@

Method Details

"useTranslatedMessage": True or False, }, "queryCategorizationFailureReason": "A String", + "queryGenerationDebugInfo": { + "candidatesTokenCount": 42, + "promptTokenCount": 42, + "totalTokenCount": 42, + }, "queryGenerationFailureReason": "A String", "serviceLatency": { "internalServiceLatencies": [ @@ -259,6 +280,12 @@

Method Details

}, "suggestedQuery": { "queryText": "A String", + "searchContexts": [ + { + "key": "A String", + "value": "A String", + }, + ], }, "suggestedQueryAnswer": { "answerText": "A String", diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html index bed1d493e2..a63e1a4e5d 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html @@ -120,6 +120,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -167,6 +168,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -193,6 +195,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -240,6 +243,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -292,6 +296,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html index dd709997a9..45d9897b9d 100644 --- a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html +++ b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html @@ -120,6 +120,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -167,6 +168,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -193,6 +195,7 @@

Method Details

"recentSentencesCount": 42, }, "disableAgentQueryLogging": True or False, + "disableQuerySearchContext": True or False, "enableConversationAugmentedQuery": True or False, "enableEventBasedSuggestion": True or False, "enableQuerySuggestionOnly": True or False, @@ -240,6 +243,7 @@

Method Details

"suggestionFeature": { "type": "A String", }, + "suggestionTriggerEvent": "A String", "suggestionTriggerSettings": { "noSmallTalk": True or False, "onlyEndUser": True or False, @@ -292,6 +296,17 @@

Method Details

"topic": "A String", }, "securitySettings": "A String", + "sipConfig": { + "allowVirtualAgentInteraction": True or False, + "copyInboundCallLegHeaders": [ + "A String", + ], + "createConversationOnTheFly": True or False, + "ignoreReinviteMediaDirection": True or False, + "inactiveStart": True or False, + "keepConversationRunning": True or False, + "maxAudioRecordingDuration": "A String", + }, "sttConfig": { "audioEncoding": "A String", "enableWordInfo": True or False, diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html index 7cef2261ed..d658a83ae4 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.html @@ -380,7 +380,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -625,7 +625,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -826,7 +826,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1015,7 +1015,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1186,7 +1186,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html index 2a65c7a645..b91bb69b38 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.servingConfigs.html @@ -1435,6 +1435,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1771,7 +1792,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. @@ -2240,7 +2261,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html index 0970358275..c2ae7d8760 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.sessions.html @@ -985,7 +985,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.userEvents.html index 676de96344..30530a8693 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.userEvents.html @@ -192,6 +192,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +419,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +571,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html index d6a679eb2e..0ea8e725fa 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html @@ -301,7 +301,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -317,6 +317,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -531,7 +543,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -547,6 +559,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -760,7 +784,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -776,6 +800,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html index 6a386658b2..cf49e94d54 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html @@ -665,6 +665,12 @@

Method Details

"invocationTools": [ # The tool names of the tools that were invoked. "A String", ], + "invokedSkills": [ # The skills executed during the turn. + { # Represents a skill used during the assist call. + "displayName": "A String", # The display name of the skill. + "name": "A String", # The resource name of the skill. + }, + ], "sessionInfo": { # Information about the session. # Session information. Only included in the final StreamAssistResponse of the response stream. "session": "A String", # Name of the newly generated or continued session. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`. }, diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html index b215d30ee8..30a0c58e16 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html @@ -203,7 +203,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -389,7 +389,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -551,7 +551,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -685,7 +685,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -801,7 +801,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html index 98883fce20..19111866d1 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.servingConfigs.html @@ -1435,6 +1435,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1771,7 +1792,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. @@ -2240,7 +2261,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html index b1024e61de..0b63d147da 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.sessions.html @@ -985,7 +985,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html index 18650afad0..78da491ddd 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html @@ -301,7 +301,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -317,6 +317,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -531,7 +543,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -547,6 +559,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -760,7 +784,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -776,6 +800,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.html index 65b57cb218..9c53095689 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.collections.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.html @@ -200,6 +200,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -428,6 +436,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -655,6 +671,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html index 8977ac4a3e..be00561cb9 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.html @@ -372,7 +372,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -617,7 +617,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -818,7 +818,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1007,7 +1007,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1178,7 +1178,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html index 9efedadac6..d4f0e2bf3e 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.servingConfigs.html @@ -1435,6 +1435,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1771,7 +1792,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. @@ -2240,7 +2261,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "relevanceScoreSpec": { # The specification for returning the document relevance score. # Optional. The specification for returning the relevance score. "returnRelevanceScore": True or False, # Optional. Whether to return the relevance score for search results. The higher the score, the more relevant the document is to the query. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html index e1c2d42296..8819062ae8 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.sessions.html @@ -985,7 +985,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.userEvents.html index 9be17c91d3..06fa8adf02 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.userEvents.html @@ -192,6 +192,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +419,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +571,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html index 7c4110a630..6a483d0124 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html @@ -301,7 +301,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -317,6 +317,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -531,7 +543,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -547,6 +559,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -760,7 +784,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -776,6 +800,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1.projects.locations.html b/docs/dyn/discoveryengine_v1.projects.locations.html index 98c9722bef..dba9bf70ad 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.html @@ -262,6 +262,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -519,6 +527,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", diff --git a/docs/dyn/discoveryengine_v1.projects.locations.userEvents.html b/docs/dyn/discoveryengine_v1.projects.locations.userEvents.html index ac5eec3214..77070df043 100644 --- a/docs/dyn/discoveryengine_v1.projects.locations.userEvents.html +++ b/docs/dyn/discoveryengine_v1.projects.locations.userEvents.html @@ -189,6 +189,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -352,6 +373,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -483,6 +525,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html index 0979c69a6f..8393c4fcdf 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.html @@ -470,7 +470,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -481,7 +481,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -795,7 +795,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -806,7 +806,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1117,7 +1117,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1128,7 +1128,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1344,7 +1344,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1355,7 +1355,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1553,7 +1553,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1564,7 +1564,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.schemas.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.schemas.html index 3484fa59ae..e9fc107d8e 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.schemas.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.schemas.html @@ -133,7 +133,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -241,7 +241,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -290,7 +290,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -345,7 +345,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html index ccd9735e1f..7453bcd6d7 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.servingConfigs.html @@ -1650,6 +1650,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -2005,7 +2059,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2672,7 +2726,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html index 48bd594106..320507ca3d 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.sessions.html @@ -1132,7 +1132,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.userEvents.html index 306613c87e..1501bb7ea7 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.userEvents.html @@ -192,6 +192,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +452,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +637,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html index 4d16649578..84e38b5fa7 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html @@ -306,7 +306,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -322,6 +322,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -546,7 +558,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -562,6 +574,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -785,7 +809,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -801,6 +825,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html index 766e643d99..cba2c0de08 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html @@ -713,6 +713,12 @@

Method Details

"invocationTools": [ # The tool names of the tools that were invoked. "A String", ], + "invokedSkills": [ # The skills executed during the turn. + { # Represents a skill used during the assist call. + "displayName": "A String", # The display name of the skill. + "name": "A String", # The resource name of the skill. + }, + ], "sessionInfo": { # Information about the session. # Session information. Only included in the final StreamAssistResponse of the response stream. "session": "A String", # Name of the newly generated or continued session. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`. }, diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html index 23a6c6ce45..b1eb0f8efd 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html @@ -220,7 +220,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -415,7 +415,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -535,6 +535,7 @@

Method Details

An object of the form: { # Workspace settings for the end user. + "customerDomainValid": True or False, # Whether the calling user's customer domain matches the workspace data stores under this engine. "workspaceAccessEnabled": True or False, # Whether an end user has workspace access enabled. }
@@ -605,7 +606,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -748,7 +749,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -873,7 +874,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -1010,7 +1011,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -1147,7 +1148,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html index 0248c7dfe3..45ee15e757 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.servingConfigs.html @@ -1650,6 +1650,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -2005,7 +2059,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2672,7 +2726,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html index 3852f26d2a..6a149770db 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.sessions.html @@ -1147,7 +1147,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html index c83b2a7f11..e17fa7bb8d 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html @@ -306,7 +306,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -322,6 +322,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -546,7 +558,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -562,6 +574,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -785,7 +809,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -801,6 +825,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html index 253deadaa9..bb5f25c1bf 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.html @@ -214,6 +214,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -312,7 +320,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -476,6 +484,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -574,7 +590,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -742,6 +758,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -840,7 +864,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1018,6 +1042,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -1116,7 +1148,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1304,6 +1336,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -1402,7 +1442,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1557,6 +1597,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -1655,7 +1703,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html index e24820a542..403daef685 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.html @@ -462,7 +462,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -473,7 +473,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -787,7 +787,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -798,7 +798,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1109,7 +1109,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1120,7 +1120,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1336,7 +1336,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1347,7 +1347,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1545,7 +1545,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1556,7 +1556,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.schemas.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.schemas.html index 438c24c273..2be6571b80 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.schemas.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.schemas.html @@ -128,7 +128,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -236,7 +236,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -285,7 +285,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -340,7 +340,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html index 82c5948ab3..dfe171c8f1 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.servingConfigs.html @@ -1650,6 +1650,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -2005,7 +2059,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2672,7 +2726,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html index 12db55c051..44419fc064 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.sessions.html @@ -1132,7 +1132,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.userEvents.html index 22aebd8ede..d708995b10 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.userEvents.html @@ -192,6 +192,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +452,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +637,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html index 24d301d6be..ea79d37a1a 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html @@ -306,7 +306,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -322,6 +322,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -546,7 +558,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -562,6 +574,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, @@ -785,7 +809,7 @@

Method Details

"enableSafeSearch": True or False, # Whether to enable safe search. "enableSearchAsYouType": True or False, # Whether to enable search-as-you-type behavior for the search widget. "enableVisualContentSummary": True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search. - "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "features": { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "a_key": "A String", }, "generativeAnswerConfig": { # Describes configuration for generative answer. # Describes generative answer configuration. @@ -801,6 +825,18 @@

Method Details

"resultCount": 42, # The number of top results to generate the answer from. Up to 10. }, "interactionType": "A String", # Describes widget (or web app) interaction type + "modelConfigInfo": { # The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization. # Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field. + "defaultModelId": "A String", # Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`. + "resolvedModels": [ # Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed. + { # A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata. + "description": "A String", # Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`. + "displayName": "A String", # Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request. + "icon": "A String", # Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`). + "isPreview": True or False, # Output only. Whether the model is currently in preview. Clients should surface this via a "Preview" badge in the selector UI. + "modelId": "A String", # Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / "pseudo" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend. + }, + ], + }, "modelConfigs": { # Output only. 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", }, diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.evaluations.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.evaluations.html index ca8d59500d..d320263a7e 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.evaluations.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.evaluations.html @@ -324,7 +324,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -666,7 +666,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -984,7 +984,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.html index a49d7bac1f..1014f3b06c 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.html @@ -228,10 +228,11 @@

Method Details

"externalId": "A String", # The unique 3P ID(external_id) of the entity (user or group). "groupMetadata": { # Metadata corresponding to the external group. # Metadata corresponding to the external user. }, + "subject": "A String", # Output only. Represents the canonical IAM subject identifier (for users) or group identifier (for groups), derived from the workforce-pool claim mapping. Falls back to custom logic if not set. This must be used for IAM bindings. "userMetadata": { # Metadata corresponding to the external user. # Metadata corresponding to the external user. "familyName": "A String", # The user's family name. "givenName": "A String", # The user's given name. - "primaryEmail": "A String", # The user's primary email address. + "primaryEmail": "A String", # The user's primary email address. Do not use this for IAM bindings. Use ExternalIdentity.subject. }, }, ], @@ -1081,6 +1082,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -1179,7 +1188,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], @@ -1364,6 +1373,14 @@

Method Details

"supportedConnectorModes": [ # Required. The supported connector modes for the associated BAP connection. "A String", ], + "toolspecOverride": { # Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util. # Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first). + "baseVersion": "A String", # Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first. + "tools": [ # Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool. + { + "a_key": "", # Properties of the object. + }, + ], + }, }, "blockingReasons": [ # Output only. User actions that must be completed before the connector can start syncing data. "A String", @@ -1462,7 +1479,7 @@

Method Details

"schemaOrgPaths": [ # Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished "A String", ], - "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. + "searchableFieldImportance": "A String", # Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search). "searchableOption": "A String", # If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error. }, ], diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.userEvents.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.userEvents.html index 5fa34f9e91..78e52934a0 100644 --- a/docs/dyn/discoveryengine_v1alpha.projects.locations.userEvents.html +++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.userEvents.html @@ -189,6 +189,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -352,6 +406,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -483,6 +591,60 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "createTime": "A String", # Output only. The time at which the server accepted this query. + "parts": [ # Query content parts. + { # Represents a part or the whole of a content, used to represent a query. A query can be made up of multiple parts. + "documentReference": { # Represents a document reference. # Other VAIS Document references. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. + "fileId": "A String", # Output only. The file id of the document data stored in the session context files. + "iconUri": "A String", # The icon uri of the reference. + "urlForConnector": "A String", # Input only. The url_for_connector of the document returned by Federated Search. + }, + "driveDocumentReference": { # Represents a Google Drive document reference. # Reference to a Google Drive document. + "destinationUri": "A String", # The destination uri of the reference. + "displayTitle": "A String", # The display title of the reference. + "documentName": "A String", # The full resource name of the document. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "driveId": "A String", # The Drive id of the document. + "fileId": "A String", # Output only. The file id of the Drive document data stored in the session context files. + "iconUri": "A String", # The icon uri of the Drive document reference. + }, + "mimeType": "A String", # Optional. The IANA standard MIME type of the data. See https://www.iana.org/assignments/media-types/media-types.xhtml. This field is optional. If not set, the default assumed MIME type is "text/plain" for the "data" field. + "personReference": { # Represents a person reference. # Reference to a person. + "destinationUri": "A String", # The destination uri of the person. + "displayName": "A String", # The display name of the person. + "displayPhotoUri": "A String", # The display photo url of the person. + "documentName": "A String", # The full resource name of the person. Format: `projects/*/locations/*/collections/*/dataStores/*/branches/*/documents/*`. + "email": "A String", # The email of the person. + "fileId": "A String", # Output only. The file id of the person data stored in the session context files. + "personId": "A String", # The person id of the person. + }, + "text": "A String", # Text content. + "uiJsonPayload": "A String", # This field is expected to be a ui message in JSON format. As of Q1 2026, ui_json_payload is only supported for A2UI messages. + }, + ], + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html index 4f74868d3f..3d66e459e5 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.html @@ -381,7 +381,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -632,7 +632,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -839,7 +839,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1034,7 +1034,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1211,7 +1211,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html index 1f4589cce1..83d6433c23 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.servingConfigs.html @@ -1532,6 +1532,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1884,7 +1905,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2547,7 +2568,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html index 69997e59aa..ce77e13e5f 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.sessions.html @@ -1030,7 +1030,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.userEvents.html index 4f88403576..44653fd62a 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.dataStores.userEvents.html @@ -192,6 +192,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +419,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +571,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html index a60a6413f4..f4993e6d10 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html @@ -665,6 +665,12 @@

Method Details

"invocationTools": [ # The tool names of the tools that were invoked. "A String", ], + "invokedSkills": [ # The skills executed during the turn. + { # Represents a skill used during the assist call. + "displayName": "A String", # The display name of the skill. + "name": "A String", # The resource name of the skill. + }, + ], "sessionInfo": { # Information about the session. # Session information. Only included in the final StreamAssistResponse of the response stream. "session": "A String", # Name of the newly generated or continued session. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}`. }, diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html index 448be133f5..3b80f0f03c 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html @@ -207,7 +207,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -393,7 +393,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -555,7 +555,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -689,7 +689,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -805,7 +805,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -933,7 +933,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. @@ -1061,7 +1061,7 @@

Method Details

], "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` + "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` "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. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html index 9aabe6e08c..5417c63516 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.servingConfigs.html @@ -1532,6 +1532,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1884,7 +1905,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2547,7 +2568,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html index 662eb45dd8..f5afdb2400 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.sessions.html @@ -1030,7 +1030,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html index a29c57cab5..ef91643faa 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.html @@ -373,7 +373,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -624,7 +624,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -831,7 +831,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1026,7 +1026,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. @@ -1203,7 +1203,7 @@

Method Details

}, }, "workspaceConfig": { # Config to store data store type configuration for workspace data # Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE. - "dasherCustomerId": "A String", # Obfuscated Dasher customer ID. + "dasherCustomerId": "A String", # Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored. "superAdminEmailAddress": "A String", # Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "superAdminServiceAccount": "A String", # Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion. "type": "A String", # The Google Workspace data source. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html index df191921b2..795e6a7c2a 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.servingConfigs.html @@ -1532,6 +1532,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -1884,7 +1905,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -2547,7 +2568,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html index 407d40755c..3f5ebecb55 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.sessions.html @@ -1030,7 +1030,7 @@

Method Details

Args: parent: string, Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}` (required) filter: string, A comma-separated list of fields to filter by, in EBNF grammar. The supported fields are: * `user_pseudo_id` * `state` * `display_name` * `starred` * `is_pinned` * `labels` * `create_time` * `update_time` * `collaborative_project` Examples: * `user_pseudo_id = some_id` * `display_name = "some_name"` * `starred = true` * `is_pinned=true AND (NOT labels:hidden)` * `create_time > "1970-01-01T12:00:00Z"` * `collaborative_project = "projects/123/locations/global/collections/default_collection/engines/" "default_engine/collaborative_projects/cp1"` - orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. + orderBy: string, A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time. pageSize: integer, Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. pageToken: string, A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. x__xgafv: string, V1 error format. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.userEvents.html b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.userEvents.html index 3ea1b1c1cb..d4e671fe88 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.userEvents.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.dataStores.userEvents.html @@ -192,6 +192,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -398,6 +419,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -529,6 +571,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.evaluations.html b/docs/dyn/discoveryengine_v1beta.projects.locations.evaluations.html index c194bff6dd..2f278953bf 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.evaluations.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.evaluations.html @@ -321,7 +321,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -659,7 +659,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. @@ -973,7 +973,7 @@

Method Details

"condition": "A String", # The condition under which query expansion should occur. Default to Condition.DISABLED. "pinUnexpandedResults": True or False, # Whether to pin unexpanded results. If this field is set to true, unexpanded products are always at the top of the search results, followed by the expanded results. }, - "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result + "rankingExpression": "A String", # Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results "rankingExpressionBackend": "A String", # Optional. The backend to use for the ranking expression evaluation. "regionCode": "A String", # The Unicode country/region code (CLDR) of a location, such as "US" and "419". For more information, see [Standard fields](https://cloud.google.com/apis/design/standard_fields). If set, then results will be boosted based on the region_code provided. "relevanceFilterSpec": { # Relevance filtering specification. # Optional. The granular relevance filtering specification. If not specified, the global `relevance_threshold` will be used for all sub-searches. If specified, this overrides the global `relevance_threshold` to use thresholds on a per sub-search basis. This feature is currently supported only for custom and site search. diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.userEvents.html b/docs/dyn/discoveryengine_v1beta.projects.locations.userEvents.html index 2667780fbc..ca1e5deab2 100644 --- a/docs/dyn/discoveryengine_v1beta.projects.locations.userEvents.html +++ b/docs/dyn/discoveryengine_v1beta.projects.locations.userEvents.html @@ -189,6 +189,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -352,6 +373,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. @@ -483,6 +525,27 @@

Method Details

"entity": "A String", # Optional. Represents the entity for customers that may run multiple different entities, domains, sites or regions, for example, `Google US`, `Google Ads`, `Waymo`, `google.com`, `youtube.com`, etc. We recommend that you set `entity` to get better per-entity search, completion, and prediction results. "eventTime": "A String", # Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened. "eventType": "A String", # Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. + "feedback": { # Information about the user feedback. This information will be used for logging and metrics purpose. # Optional. This field is optional except for the `add-feedback` event types. + "comment": "A String", # Optional. The additional user comment of the feedback if user gives a thumb down. + "componentVersion": "A String", # Optional. The version of the component that this report is being sent from. + "conversationInfo": { # The conversation information such as the question index and session name. # The related conversation information when user gives feedback. + "answerQueryToken": "A String", # Optional. The token which could be used to fetch the answer log. + "assistToken": "A String", # Optional. The token which could be used to fetch the assistant log. + "query": { # Defines a user inputed query. # Required. The user's search query. + "queryId": "A String", # Output only. Unique Id for the query. + "text": "A String", # Plain text. + }, + "questionIndex": 42, # The index of the user input within the conversation messages. + "session": "A String", # Name of the newly generated or continued session. + }, + "dataTermsAccepted": True or False, # Optional. Whether the customer accepted data use terms. + "feedbackSource": "A String", # Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP. + "feedbackType": "A String", # Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details. + "llmModelVersion": "A String", # The version of the LLM model that was used to generate the response. + "reasons": [ # Optional. The reason if user gives a thumb down. + "A String", + ], + }, "filter": "A String", # Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. "mediaInfo": { # Media-specific user event information. # Media-specific info. "mediaProgressDuration": "A String", # The media progress time in seconds, if applicable. For example, if the end user has finished 90 seconds of a playback video, then MediaInfo.media_progress_duration.seconds should be set to 90. diff --git a/docs/dyn/displayvideo_v2.advertisers.lineItems.html b/docs/dyn/displayvideo_v2.advertisers.lineItems.html index a3f90de257..c34d69b6bc 100644 --- a/docs/dyn/displayvideo_v2.advertisers.lineItems.html +++ b/docs/dyn/displayvideo_v2.advertisers.lineItems.html @@ -842,12 +842,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -938,7 +938,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -1113,12 +1113,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1209,7 +1209,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -1344,12 +1344,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1440,7 +1440,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -1630,12 +1630,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1726,7 +1726,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -1874,12 +1874,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1970,7 +1970,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -2125,12 +2125,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2221,7 +2221,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -2357,12 +2357,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2453,7 +2453,7 @@

Method Details

}, "reservationType": "A String", # Output only. The reservation type of the line item. "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. This config is only applicable for display, video, or audio line items that use automated bidding and positively target eligible audience lists. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, diff --git a/docs/dyn/displayvideo_v2.advertisers.youtubeAdGroups.html b/docs/dyn/displayvideo_v2.advertisers.youtubeAdGroups.html index 8c61d67c7d..167739363a 100644 --- a/docs/dyn/displayvideo_v2.advertisers.youtubeAdGroups.html +++ b/docs/dyn/displayvideo_v2.advertisers.youtubeAdGroups.html @@ -474,7 +474,7 @@

Method Details

"productMatchType": "A String", # How products are selected by the product feed. }, "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [targeting expansion](https://support.google.com/displayvideo/answer/10191558) settings of the ad group. This config is only applicable when eligible audience list targeting is assigned to the ad group. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, @@ -533,7 +533,7 @@

Method Details

"productMatchType": "A String", # How products are selected by the product feed. }, "targetingExpansion": { # Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item. # The [targeting expansion](https://support.google.com/displayvideo/answer/10191558) settings of the ad group. This config is only applicable when eligible audience list targeting is assigned to the ad group. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "excludeFirstPartyAudience": True or False, # Whether to exclude first-party audiences from use in targeting expansion. This field was deprecated with the launch of [optimized targeting](//support.google.com/displayvideo/answer/12060859). This field will be set to `false`. If this field is set to `true` when deprecated, all positive first-party audience targeting assigned to this line item will be replaced with negative targeting of the same first-party audiences to ensure the continued exclusion of those audiences. "targetingExpansionLevel": "A String", # Required. Whether optimized targeting is turned on. This field supports the following values: * `NO_EXPANSION`: optimized targeting is turned off * `LEAST_EXPANSION`: optimized targeting is turned on If this field is set to any other value, it will automatically be set to `LEAST_EXPANSION`. `NO_EXPANSION` will be the default value for the field and will be automatically assigned if you do not set the field. }, diff --git a/docs/dyn/displayvideo_v3.advertisers.adGroupAds.html b/docs/dyn/displayvideo_v3.advertisers.adGroupAds.html index 2fb3800930..81daffa341 100644 --- a/docs/dyn/displayvideo_v3.advertisers.adGroupAds.html +++ b/docs/dyn/displayvideo_v3.advertisers.adGroupAds.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, body=None, x__xgafv=None)

-

Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupAdId, x__xgafv=None)

-

Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupAdId, x__xgafv=None)

Gets an ad group ad.

@@ -94,7 +94,7 @@

Instance Methods

Retrieves the next page of results.

patch(advertiserId, adGroupAdId, body=None, updateMask=None, x__xgafv=None)

-

Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

Method Details

close() @@ -103,7 +103,7 @@

Method Details

create(advertiserId, body=None, x__xgafv=None) -
Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad belongs to. (required)
@@ -286,12 +286,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -347,7 +347,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -409,7 +409,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -433,7 +433,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -799,12 +799,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -860,7 +860,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -922,7 +922,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -946,7 +946,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -1131,7 +1131,7 @@

Method Details

delete(advertiserId, adGroupAdId, x__xgafv=None) -
Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad belongs to. (required)
@@ -1339,12 +1339,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -1400,7 +1400,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1462,7 +1462,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1486,7 +1486,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -1865,12 +1865,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -1926,7 +1926,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1988,7 +1988,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2012,7 +2012,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -2214,7 +2214,7 @@

Method Details

patch(advertiserId, adGroupAdId, body=None, updateMask=None, x__xgafv=None) -
Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad belongs to. (required)
@@ -2398,12 +2398,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -2459,7 +2459,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2521,7 +2521,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2545,7 +2545,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -2912,12 +2912,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -2973,7 +2973,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -3035,7 +3035,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -3059,7 +3059,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. diff --git a/docs/dyn/displayvideo_v3.advertisers.adGroups.html b/docs/dyn/displayvideo_v3.advertisers.adGroups.html index e631073342..fafdda13a8 100644 --- a/docs/dyn/displayvideo_v3.advertisers.adGroups.html +++ b/docs/dyn/displayvideo_v3.advertisers.adGroups.html @@ -81,7 +81,7 @@

Instance Methods

bulkEditAssignedTargetingOptions(advertiserId, body=None, x__xgafv=None)

-

Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

bulkListAdGroupAssignedTargetingOptions(advertiserId, adGroupIds=None, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned targeting options are not included.

@@ -93,10 +93,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, body=None, x__xgafv=None)

-

Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupId, x__xgafv=None)

-

Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupId, x__xgafv=None)

Gets an ad group.

@@ -108,11 +108,11 @@

Instance Methods

Retrieves the next page of results.

patch(advertiserId, adGroupId, body=None, updateMask=None, x__xgafv=None)

-

Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

Method Details

bulkEditAssignedTargetingOptions(advertiserId, body=None, x__xgafv=None) -
Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad groups belong to. (required)
@@ -875,7 +875,7 @@ 

Method Details

create(advertiserId, body=None, x__xgafv=None) -
Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad group belongs to. (required)
@@ -947,7 +947,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, } @@ -1024,14 +1024,14 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
delete(advertiserId, adGroupId, x__xgafv=None) -
Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser this ad group belongs to. (required)
@@ -1128,7 +1128,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
@@ -1218,7 +1218,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }, ], @@ -1242,7 +1242,7 @@

Method Details

patch(advertiserId, adGroupId, body=None, updateMask=None, x__xgafv=None) -
Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad group belongs to. (required)
@@ -1315,7 +1315,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, } @@ -1393,7 +1393,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
diff --git a/docs/dyn/displayvideo_v3.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v3.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html index 0472b9a8c9..56a32ffcaf 100644 --- a/docs/dyn/displayvideo_v3.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html +++ b/docs/dyn/displayvideo_v3.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, adGroupId, targetingType, body=None, x__xgafv=None)

-

Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None)

-

Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None)

Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are not included.

@@ -100,7 +100,7 @@

Method Details

create(advertiserId, adGroupId, targetingType, body=None, x__xgafv=None) -
Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad group belongs to. (required)
@@ -829,7 +829,7 @@ 

Method Details

delete(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None) -
Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad group belongs to. (required)
diff --git a/docs/dyn/displayvideo_v3.advertisers.lineItems.html b/docs/dyn/displayvideo_v3.advertisers.lineItems.html
index 3c2c01d428..e0f6dee3ee 100644
--- a/docs/dyn/displayvideo_v3.advertisers.lineItems.html
+++ b/docs/dyn/displayvideo_v3.advertisers.lineItems.html
@@ -934,12 +934,12 @@ 

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1033,7 +1033,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1205,12 +1205,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1304,7 +1304,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1436,12 +1436,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1535,7 +1535,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1722,12 +1722,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1821,7 +1821,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1966,12 +1966,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2065,7 +2065,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -2217,12 +2217,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2316,7 +2316,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -2449,12 +2449,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2548,7 +2548,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. diff --git a/docs/dyn/displayvideo_v4.advertisers.adGroupAds.html b/docs/dyn/displayvideo_v4.advertisers.adGroupAds.html index 1e77d5ee70..28f3dc9f77 100644 --- a/docs/dyn/displayvideo_v4.advertisers.adGroupAds.html +++ b/docs/dyn/displayvideo_v4.advertisers.adGroupAds.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, body=None, x__xgafv=None)

-

Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupAdId, x__xgafv=None)

-

Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupAdId, x__xgafv=None)

Gets an ad group ad.

@@ -94,7 +94,7 @@

Instance Methods

Retrieves the next page of results.

patch(advertiserId, adGroupAdId, body=None, updateMask=None, x__xgafv=None)

-

Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

Method Details

close() @@ -103,7 +103,7 @@

Method Details

create(advertiserId, body=None, x__xgafv=None) -
Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad belongs to. (required)
@@ -286,12 +286,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -347,7 +347,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -409,7 +409,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -433,7 +433,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -799,12 +799,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -860,7 +860,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -922,7 +922,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -946,7 +946,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -1131,7 +1131,7 @@

Method Details

delete(advertiserId, adGroupAdId, x__xgafv=None) -
Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad belongs to. (required)
@@ -1339,12 +1339,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -1400,7 +1400,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1462,7 +1462,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1486,7 +1486,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -1865,12 +1865,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -1926,7 +1926,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -1988,7 +1988,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2012,7 +2012,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -2214,7 +2214,7 @@

Method Details

patch(advertiserId, adGroupAdId, body=None, updateMask=None, x__xgafv=None) -
Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad belongs to. (required)
@@ -2398,12 +2398,12 @@ 

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -2459,7 +2459,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2521,7 +2521,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -2545,7 +2545,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. @@ -2912,12 +2912,12 @@

Method Details

}, }, }, - "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "dcmTrackingInfo": { # Details on the DCM tracking. # Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "creativeId": "A String", # Required. The DCM creative id. "placementId": "A String", # Required. The DCM placement id. "trackingAdId": "A String", # Required. The DCM tracking ad id. }, - "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenCarouselAd": { # Details for a Demand Gen carousel ad. # Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "cards": [ # Required. The list of cards shown on the ad. { # Details for a Demand Gen carousel card. @@ -2973,7 +2973,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenImageAd": { # Details for a Demand Gen image ad. # Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -3035,7 +3035,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenProductAd": { # Details for a Demand Gen product ad. # Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `APPLY_NOW` * `BOOK_NOW` * `CONTACT_US` * `DOWNLOAD` * `GET_QUOTE` * `LEARN_MORE` * `SHOP_NOW` * `SIGN_UP` * `SUBSCRIBE` "customParameters": { # Optional. The custom parameters and accompanying values to add to the tracking URL. @@ -3059,7 +3059,7 @@

Method Details

"trackingUrl": "A String", # Output only. The URL address loaded in the background for tracking purposes. "userSpecifiedTrackingUrl": "A String", # Optional. The tracking URL specified by the user manually. }, - "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenVideoAd": { # Details for a Demand Gen video ad. # Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "businessName": "A String", # Required. The business name shown on the ad. "callToAction": "A String", # Required. The call-to-action button shown on the ad. The supported values are: * `AUTOMATED` * `LEARN_MORE` * `GET_QUOTE` * `APPLY_NOW` * `SIGN_UP` * `CONTACT_US` * `SUBSCRIBE` * `DOWNLOAD` * `BOOK_NOW` * `SHOP_NOW` * `BUY_NOW` * `DONATE_NOW` * `ORDER_NOW` * `PLAY_NOW` * `SEE_MORE` * `START_NOW` * `VISIT_SITE` * `WATCH_NOW` "companionBanner": { # Meta data of an image asset. # Optional. The companion banner used by this ad. diff --git a/docs/dyn/displayvideo_v4.advertisers.adGroups.html b/docs/dyn/displayvideo_v4.advertisers.adGroups.html index ee153e7c5a..6d3b3c534d 100644 --- a/docs/dyn/displayvideo_v4.advertisers.adGroups.html +++ b/docs/dyn/displayvideo_v4.advertisers.adGroups.html @@ -86,7 +86,7 @@

Instance Methods

bulkEditAssignedTargetingOptions(advertiserId, body=None, x__xgafv=None)

-

Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

bulkListAssignedTargetingOptions(advertiserId, adGroupIds=None, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned targeting options are not included.

@@ -98,10 +98,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, body=None, x__xgafv=None)

-

Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupId, x__xgafv=None)

-

Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupId, x__xgafv=None)

Gets an ad group.

@@ -113,11 +113,11 @@

Instance Methods

Retrieves the next page of results.

patch(advertiserId, adGroupId, body=None, updateMask=None, x__xgafv=None)

-

Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

Method Details

bulkEditAssignedTargetingOptions(advertiserId, body=None, x__xgafv=None) -
Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad groups belong to. (required)
@@ -880,7 +880,7 @@ 

Method Details

create(advertiserId, body=None, x__xgafv=None) -
Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad group belongs to. (required)
@@ -952,7 +952,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, } @@ -1029,14 +1029,14 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
delete(advertiserId, adGroupId, x__xgafv=None) -
Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser this ad group belongs to. (required)
@@ -1133,7 +1133,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
@@ -1223,7 +1223,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }, ], @@ -1247,7 +1247,7 @@

Method Details

patch(advertiserId, adGroupId, body=None, updateMask=None, x__xgafv=None) -
Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Output only. The unique ID of the advertiser the ad group belongs to. (required)
@@ -1320,7 +1320,7 @@ 

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, } @@ -1398,7 +1398,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, }
diff --git a/docs/dyn/displayvideo_v4.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html b/docs/dyn/displayvideo_v4.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html index 510c3f0499..e3e6523942 100644 --- a/docs/dyn/displayvideo_v4.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html +++ b/docs/dyn/displayvideo_v4.advertisers.adGroups.targetingTypes.assignedTargetingOptions.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

create(advertiserId, adGroupId, targetingType, body=None, x__xgafv=None)

-

Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

delete(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None)

-

Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.

+

Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.

get(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None)

Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are not included.

@@ -100,7 +100,7 @@

Method Details

create(advertiserId, adGroupId, targetingType, body=None, x__xgafv=None) -
Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad group belongs to. (required)
@@ -829,7 +829,7 @@ 

Method Details

delete(advertiserId, adGroupId, targetingType, assignedTargetingOptionId, x__xgafv=None) -
Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.
+  
Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.
 
 Args:
   advertiserId: string, Required. The ID of the advertiser the ad group belongs to. (required)
diff --git a/docs/dyn/displayvideo_v4.advertisers.lineItems.html b/docs/dyn/displayvideo_v4.advertisers.lineItems.html
index fa241579ae..4f66f8870b 100644
--- a/docs/dyn/displayvideo_v4.advertisers.lineItems.html
+++ b/docs/dyn/displayvideo_v4.advertisers.lineItems.html
@@ -939,12 +939,12 @@ 

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1038,7 +1038,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1210,12 +1210,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1309,7 +1309,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1441,12 +1441,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1540,7 +1540,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1727,12 +1727,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -1826,7 +1826,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -1971,12 +1971,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2070,7 +2070,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -2222,12 +2222,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2321,7 +2321,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. @@ -2454,12 +2454,12 @@

Method Details

}, ], "postViewCountPercentageMillis": "A String", # The percentage of post-view conversions to count, in millis (1/1000 of a percent). Must be between 0 and 100000 inclusive. For example, to track 50% of the post-click conversions, set a value of 50000. - "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "primaryAttributionModelId": "A String", # Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "creativeIds": [ # The IDs of the creatives associated with the line item. "A String", ], - "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "demandGenSettings": { # Settings for Demand Gen line items. # Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. "geoLanguageTargetingEnabled": True or False, # Optional. Immutable. Whether location and language targeting can be set at the line item level. Otherwise, relevant targeting types must be assigned directly to ad groups. "linkedMerchantId": "A String", # Optional. The ID of the Merchant Center account used to provide a product feed. This Merchant Center account must already be linked to the advertiser. "thirdPartyMeasurementConfigs": { # Settings that control what third-party vendors are measuring specific line item metrics. # Optional. The third party measurement settings for the Demand Gen line item. @@ -2553,7 +2553,7 @@

Method Details

"audienceExpansionLevel": "A String", # Output only. Magnitude of expansion for eligible first-party user lists under this ad group. This field only applies to YouTube and Partners line item and ad group resources. "audienceExpansionSeedListExcluded": True or False, # Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources. "enableOptimizedTargeting": True or False, # Required. Whether to enable Optimized Targeting for the line item. Optimized targeting is not compatible with all bid strategies. Attempting to set this field to `true` for a line item using the BiddingStrategy field fixed_bid or one of the following combinations of BiddingStrategy fields and BiddingStrategyPerformanceGoalType will result in an error: maximize_auto_spend_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` performance_goal_auto_bid: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` This also applies if the line item inherits one of the above bid strategies from the parent insertion order. Bid strategies set at the insertion order-level will be inherited by their line items if the `InsertionOrder` budget field automationType is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`. - "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users. + "excludeDemographicExpansion": True or False, # Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*. }, "updateTime": "A String", # Output only. The timestamp when the line item was last updated. Assigned by the system. "warningMessages": [ # Output only. The warning messages generated by the line item. These warnings do not block saving the line item, but some may block the line item from running. diff --git a/docs/dyn/dlp_v2.organizations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.inspectTemplates.html index 86824cb97b..5195a2b5c9 100644 --- a/docs/dyn/dlp_v2.organizations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.organizations.inspectTemplates.html @@ -112,7 +112,7 @@

Method Details

{ # Request message for CreateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # Required. The InspectTemplate to create. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -372,7 +372,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -654,7 +654,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -924,7 +924,7 @@

Method Details

{ # Response message for ListInspectTemplates. "inspectTemplates": [ # List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1201,7 +1201,7 @@

Method Details

{ # Request message for UpdateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # New InspectTemplate value. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1460,7 +1460,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html index e9170727dc..548f7b6b66 100644 --- a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html +++ b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html @@ -3109,7 +3109,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html index 73fa4a7bb7..0399db6787 100644 --- a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html @@ -112,7 +112,7 @@

Method Details

{ # Request message for CreateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # Required. The InspectTemplate to create. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -372,7 +372,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -654,7 +654,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -924,7 +924,7 @@

Method Details

{ # Response message for ListInspectTemplates. "inspectTemplates": [ # List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1201,7 +1201,7 @@

Method Details

{ # Request message for UpdateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # New InspectTemplate value. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1460,7 +1460,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.content.html b/docs/dyn/dlp_v2.projects.content.html index 28394d1f3b..a45d005d01 100644 --- a/docs/dyn/dlp_v2.projects.content.html +++ b/docs/dyn/dlp_v2.projects.content.html @@ -1200,6 +1200,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in inspect_config will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to de-identify. Will be treated as text. This value must be of type Table if your deidentify_config is a RecordTransformations object. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -1212,6 +1219,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -1259,6 +1275,13 @@

Method Details

{ # Results of de-identifying a ContentItem. "item": { # Type of content to inspect. # The de-identified item. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -1271,6 +1294,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -2387,6 +2419,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in inspect_config will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to inspect. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -2399,6 +2438,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -2483,9 +2531,17 @@

Method Details

}, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. + "batchContentLocation": { # Location within a batch of content. # Location within a batch of content. + "itemIndex": 42, # Matches an index of a batch item in the batch provided in the request. + }, "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). + "conversationLocation": { # Location within a conversation. # Location within a conversation. + "allMessages": { # If set, indicates that the finding applies to all messages in the conversation. # If set, indicates that the finding applies to all messages in the conversation. + }, + "messageIndex": 42, # Matches an index of a message in the conversation provided in the request. + }, "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, @@ -2829,6 +2885,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in `inspect_config` will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to re-identify. Will be treated as text. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -2841,6 +2904,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -3744,6 +3816,13 @@

Method Details

{ # Results of re-identifying an item. "item": { # Type of content to inspect. # The re-identified item. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -3756,6 +3835,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. diff --git a/docs/dyn/dlp_v2.projects.dlpJobs.html b/docs/dyn/dlp_v2.projects.dlpJobs.html index 0f9691975d..b63e93ecb4 100644 --- a/docs/dyn/dlp_v2.projects.dlpJobs.html +++ b/docs/dyn/dlp_v2.projects.dlpJobs.html @@ -3682,7 +3682,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -7544,7 +7544,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -11400,7 +11400,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.image.html b/docs/dyn/dlp_v2.projects.image.html index a51951e574..11dd7fff31 100644 --- a/docs/dyn/dlp_v2.projects.image.html +++ b/docs/dyn/dlp_v2.projects.image.html @@ -411,9 +411,17 @@

Method Details

}, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. + "batchContentLocation": { # Location within a batch of content. # Location within a batch of content. + "itemIndex": 42, # Matches an index of a batch item in the batch provided in the request. + }, "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). + "conversationLocation": { # Location within a conversation. # Location within a conversation. + "allMessages": { # If set, indicates that the finding applies to all messages in the conversation. # If set, indicates that the finding applies to all messages in the conversation. + }, + "messageIndex": 42, # Matches an index of a message in the conversation provided in the request. + }, "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, diff --git a/docs/dyn/dlp_v2.projects.inspectTemplates.html b/docs/dyn/dlp_v2.projects.inspectTemplates.html index 9f89db71fc..6bfe934c4a 100644 --- a/docs/dyn/dlp_v2.projects.inspectTemplates.html +++ b/docs/dyn/dlp_v2.projects.inspectTemplates.html @@ -112,7 +112,7 @@

Method Details

{ # Request message for CreateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # Required. The InspectTemplate to create. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -372,7 +372,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -654,7 +654,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -924,7 +924,7 @@

Method Details

{ # Response message for ListInspectTemplates. "inspectTemplates": [ # List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1201,7 +1201,7 @@

Method Details

{ # Request message for UpdateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # New InspectTemplate value. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1460,7 +1460,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.jobTriggers.html b/docs/dyn/dlp_v2.projects.jobTriggers.html index f79f723ae6..b48b106fbc 100644 --- a/docs/dyn/dlp_v2.projects.jobTriggers.html +++ b/docs/dyn/dlp_v2.projects.jobTriggers.html @@ -3113,7 +3113,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.locations.content.html b/docs/dyn/dlp_v2.projects.locations.content.html index 965afc3d2d..6d69d5b097 100644 --- a/docs/dyn/dlp_v2.projects.locations.content.html +++ b/docs/dyn/dlp_v2.projects.locations.content.html @@ -1200,6 +1200,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in inspect_config will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to de-identify. Will be treated as text. This value must be of type Table if your deidentify_config is a RecordTransformations object. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -1212,6 +1219,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -1259,6 +1275,13 @@

Method Details

{ # Results of de-identifying a ContentItem. "item": { # Type of content to inspect. # The de-identified item. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -1271,6 +1294,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -2387,6 +2419,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in inspect_config will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to inspect. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -2399,6 +2438,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -2483,9 +2531,17 @@

Method Details

}, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. + "batchContentLocation": { # Location within a batch of content. # Location within a batch of content. + "itemIndex": 42, # Matches an index of a batch item in the batch provided in the request. + }, "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). + "conversationLocation": { # Location within a conversation. # Location within a conversation. + "allMessages": { # If set, indicates that the finding applies to all messages in the conversation. # If set, indicates that the finding applies to all messages in the conversation. + }, + "messageIndex": 42, # Matches an index of a message in the conversation provided in the request. + }, "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, @@ -2829,6 +2885,13 @@

Method Details

}, "inspectTemplateName": "A String", # Template to use. Any configuration directly specified in `inspect_config` will override those set in the template. Singular fields that are set in this request will replace their corresponding fields in the template. Repeated fields are appended. Singular sub-messages and groups are recursively merged. "item": { # Type of content to inspect. # The item to re-identify. Will be treated as text. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -2841,6 +2904,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -3744,6 +3816,13 @@

Method Details

{ # Results of re-identifying an item. "item": { # Type of content to inspect. # The re-identified item. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -3756,6 +3835,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. diff --git a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html index 99ec71825c..ef7aa7df5a 100644 --- a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html +++ b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html @@ -3688,7 +3688,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -7574,7 +7574,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -8445,6 +8445,13 @@

Method Details

}, }, "item": { # Type of content to inspect. # The item to inspect. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -8457,6 +8464,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. @@ -11526,7 +11542,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.locations.image.html b/docs/dyn/dlp_v2.projects.locations.image.html index 982305be15..88854071a8 100644 --- a/docs/dyn/dlp_v2.projects.locations.image.html +++ b/docs/dyn/dlp_v2.projects.locations.image.html @@ -411,9 +411,17 @@

Method Details

}, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. + "batchContentLocation": { # Location within a batch of content. # Location within a batch of content. + "itemIndex": 42, # Matches an index of a batch item in the batch provided in the request. + }, "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). + "conversationLocation": { # Location within a conversation. # Location within a conversation. + "allMessages": { # If set, indicates that the finding applies to all messages in the conversation. # If set, indicates that the finding applies to all messages in the conversation. + }, + "messageIndex": 42, # Matches an index of a message in the conversation provided in the request. + }, "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, diff --git a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html index a1936fe8b6..a296f15e5d 100644 --- a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html @@ -112,7 +112,7 @@

Method Details

{ # Request message for CreateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # Required. The InspectTemplate to create. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -372,7 +372,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -654,7 +654,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -924,7 +924,7 @@

Method Details

{ # Response message for ListInspectTemplates. "inspectTemplates": [ # List of inspectTemplates, up to page_size in ListInspectTemplatesRequest. { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1201,7 +1201,7 @@

Method Details

{ # Request message for UpdateInspectTemplate. "inspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # New InspectTemplate value. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -1460,7 +1460,7 @@

Method Details

An object of the form: { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). diff --git a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html index fbcaf047c7..8eecb9f8a9 100644 --- a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html +++ b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html @@ -3116,7 +3116,7 @@

Method Details

}, }, "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data to be detected) to be used anywhere you otherwise would normally specify InspectConfig. See https://cloud.google.com/sensitive-data-protection/docs/concepts-templates to learn more. # If run with an InspectTemplate, a snapshot of its state at the time of this run. - "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations. + "allowLimitedAvailabilityInfoTypes": True or False, # Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. "createTime": "A String", # Output only. The creation timestamp of an inspectTemplate. "description": "A String", # Short description (max 256 chars). "displayName": "A String", # Display name (max 256 chars). @@ -5271,6 +5271,13 @@

Method Details

}, }, "item": { # Type of content to inspect. # The item to inspect. + "batchContentItem": { # Represents a batch of content to inspect or redact. # Represents a batch of items to inspect. + "stringValueBatch": { # Represents a batch of string values to inspect or redact. # Optional. Represents a batch of string values to inspect or redact. + "values": [ # Optional. Represents string data to inspect or redact. + "A String", + ], + }, + }, "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. "type": "A String", # The type of data stored in the bytes string. Default will be TEXT_UTF8. @@ -5283,6 +5290,15 @@

Method Details

}, ], }, + "conversation": { # Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order. # Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order. + "messages": [ # Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response. + { # Single message in a conversation. + "content": "A String", # The contents of this message. + "messageType": "A String", # The type of message. + "participantId": "A String", # Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters. + }, + ], + }, "table": { # Structured content to inspect. Up to 50,000 `Value`s per request allowed. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-structured-text#inspecting_a_table to learn more. # Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more. "headers": [ # Headers of the table. { # General identifier of a data field in a storage service. diff --git a/docs/dyn/fcm_v1.projects.messages.html b/docs/dyn/fcm_v1.projects.messages.html index 465dd37a5a..7e89eb90e6 100644 --- a/docs/dyn/fcm_v1.projects.messages.html +++ b/docs/dyn/fcm_v1.projects.messages.html @@ -113,6 +113,7 @@

Method Details

"A String", ], "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize the body text to the user's current localization. See [String Resources](https://goo.gl/NdFZGI) for more information. + "bypassProxyNotification": True or False, # Optional. If set, display notifications delivered to the device will be handled by the app instead of the proxy. "channelId": "A String", # The [notification's channel id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) (new in Android O). The app must create a channel with this channel ID before any notification with this channel ID is received. If you don't send this channel ID in the request, or if the channel ID provided has not yet been created by the app, FCM uses the channel ID specified in the app manifest. "clickAction": "A String", # The action associated with a user click on the notification. If specified, an activity with a matching intent filter is launched when a user clicks on the notification. "color": "A String", # The notification's icon color, expressed in #rrggbb format. @@ -227,6 +228,7 @@

Method Details

"A String", ], "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize the body text to the user's current localization. See [String Resources](https://goo.gl/NdFZGI) for more information. + "bypassProxyNotification": True or False, # Optional. If set, display notifications delivered to the device will be handled by the app instead of the proxy. "channelId": "A String", # The [notification's channel id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) (new in Android O). The app must create a channel with this channel ID before any notification with this channel ID is received. If you don't send this channel ID in the request, or if the channel ID provided has not yet been created by the app, FCM uses the channel ID specified in the app manifest. "clickAction": "A String", # The action associated with a user click on the notification. If specified, an activity with a matching intent filter is launched when a user clicks on the notification. "color": "A String", # The notification's icon color, expressed in #rrggbb format. diff --git a/docs/dyn/firebaseapphosting_v1.projects.locations.backends.traffic.html b/docs/dyn/firebaseapphosting_v1.projects.locations.backends.traffic.html index 6f4b451f90..c71b4be6f8 100644 --- a/docs/dyn/firebaseapphosting_v1.projects.locations.backends.traffic.html +++ b/docs/dyn/firebaseapphosting_v1.projects.locations.backends.traffic.html @@ -126,13 +126,13 @@

Method Details

"codebaseBranch": "A String", # If set, specifies a branch that triggers a new build to be started with this policy. Otherwise, no automatic rollouts will happen. "disabled": True or False, # Optional. A flag that, if true, prevents automatic rollouts from being created via this RolloutPolicy. "disabledTime": "A String", # Output only. If `disabled` is set, the time at which the automatic rollouts were disabled. - "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: "foo/bar/excluded/*” type: GLOB } + "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: "foo/bar/excluded/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. }, ], - "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: “required_paths: { pattern: "foo/bar/*” type: GLOB } + "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: "foo/bar/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. @@ -184,13 +184,13 @@

Method Details

"codebaseBranch": "A String", # If set, specifies a branch that triggers a new build to be started with this policy. Otherwise, no automatic rollouts will happen. "disabled": True or False, # Optional. A flag that, if true, prevents automatic rollouts from being created via this RolloutPolicy. "disabledTime": "A String", # Output only. If `disabled` is set, the time at which the automatic rollouts were disabled. - "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: "foo/bar/excluded/*” type: GLOB } + "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: "foo/bar/excluded/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. }, ], - "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: “required_paths: { pattern: "foo/bar/*” type: GLOB } + "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: "foo/bar/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. diff --git a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.html b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.html index e1aeba1802..efc5165513 100644 --- a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.html +++ b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.html @@ -135,6 +135,7 @@

Method Details

"a_key": "A String", }, "appId": "A String", # Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend. + "automaticBaseImageUpdatesDisabled": True or False, # Optional. automatic_base_image_updates_disabled acts as a way for users to opt out of ABIU. "codebase": { # The connection to an external source repository to watch for event-driven updates to the backend. # Optional. If specified, the connection to an external source repository to watch for event-driven updates to the backend. "repository": "A String", # Required. The resource name for the Developer Connect [`gitRepositoryLink`](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks) connected to this backend, in the format: `projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink}` The connection for the `gitRepositoryLink` must made be using the Firebase App Hosting GitHub App via the Firebase Console. "rootDirectory": "A String", # Optional. If `repository` is provided, the directory relative to the root of the repository to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the `package.json` or `apphosting.yaml` file. @@ -170,6 +171,9 @@

Method Details

], "reconciling": True or False, # Output only. A field that, if true, indicates that the system is working to make adjustments to the backend during a LRO. "requestLogsDisabled": True or False, # Optional. A field that, if true, indicates that incoming request logs are disabled for this backend. Incoming request logs are enabled by default. + "runtime": { # Runtime is a string that represents the runtime that is used to build the backend. Users can specify one of the following runtimes: nodejs20, nodejs22, nodejs24, nodejs. Runtime "nodejs" means that nodejs version will be determined at build time. If not specified or specified with a value that is not in the list above, the default runtime `nodejs` will be used and Automatic Base Image Updates will be disabled. # Optional. The runtime that the backend will be built on. A default base_image will be chosen for a given runtime. + "value": "A String", # Optional. The value of the runtime. + }, "serviceAccount": "A String", # Required. The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions. "servingLocality": "A String", # Required. Immutable. Specifies how App Hosting will serve the content for this backend. It will either be contained to a single region (REGIONAL_STRICT) or allowed to use App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). "uid": "A String", # Output only. System-assigned, unique identifier. @@ -267,6 +271,7 @@

Method Details

"a_key": "A String", }, "appId": "A String", # Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend. + "automaticBaseImageUpdatesDisabled": True or False, # Optional. automatic_base_image_updates_disabled acts as a way for users to opt out of ABIU. "codebase": { # The connection to an external source repository to watch for event-driven updates to the backend. # Optional. If specified, the connection to an external source repository to watch for event-driven updates to the backend. "repository": "A String", # Required. The resource name for the Developer Connect [`gitRepositoryLink`](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks) connected to this backend, in the format: `projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink}` The connection for the `gitRepositoryLink` must made be using the Firebase App Hosting GitHub App via the Firebase Console. "rootDirectory": "A String", # Optional. If `repository` is provided, the directory relative to the root of the repository to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the `package.json` or `apphosting.yaml` file. @@ -302,6 +307,9 @@

Method Details

], "reconciling": True or False, # Output only. A field that, if true, indicates that the system is working to make adjustments to the backend during a LRO. "requestLogsDisabled": True or False, # Optional. A field that, if true, indicates that incoming request logs are disabled for this backend. Incoming request logs are enabled by default. + "runtime": { # Runtime is a string that represents the runtime that is used to build the backend. Users can specify one of the following runtimes: nodejs20, nodejs22, nodejs24, nodejs. Runtime "nodejs" means that nodejs version will be determined at build time. If not specified or specified with a value that is not in the list above, the default runtime `nodejs` will be used and Automatic Base Image Updates will be disabled. # Optional. The runtime that the backend will be built on. A default base_image will be chosen for a given runtime. + "value": "A String", # Optional. The value of the runtime. + }, "serviceAccount": "A String", # Required. The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions. "servingLocality": "A String", # Required. Immutable. Specifies how App Hosting will serve the content for this backend. It will either be contained to a single region (REGIONAL_STRICT) or allowed to use App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). "uid": "A String", # Output only. System-assigned, unique identifier. @@ -336,6 +344,7 @@

Method Details

"a_key": "A String", }, "appId": "A String", # Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend. + "automaticBaseImageUpdatesDisabled": True or False, # Optional. automatic_base_image_updates_disabled acts as a way for users to opt out of ABIU. "codebase": { # The connection to an external source repository to watch for event-driven updates to the backend. # Optional. If specified, the connection to an external source repository to watch for event-driven updates to the backend. "repository": "A String", # Required. The resource name for the Developer Connect [`gitRepositoryLink`](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks) connected to this backend, in the format: `projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink}` The connection for the `gitRepositoryLink` must made be using the Firebase App Hosting GitHub App via the Firebase Console. "rootDirectory": "A String", # Optional. If `repository` is provided, the directory relative to the root of the repository to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the `package.json` or `apphosting.yaml` file. @@ -371,6 +380,9 @@

Method Details

], "reconciling": True or False, # Output only. A field that, if true, indicates that the system is working to make adjustments to the backend during a LRO. "requestLogsDisabled": True or False, # Optional. A field that, if true, indicates that incoming request logs are disabled for this backend. Incoming request logs are enabled by default. + "runtime": { # Runtime is a string that represents the runtime that is used to build the backend. Users can specify one of the following runtimes: nodejs20, nodejs22, nodejs24, nodejs. Runtime "nodejs" means that nodejs version will be determined at build time. If not specified or specified with a value that is not in the list above, the default runtime `nodejs` will be used and Automatic Base Image Updates will be disabled. # Optional. The runtime that the backend will be built on. A default base_image will be chosen for a given runtime. + "value": "A String", # Optional. The value of the runtime. + }, "serviceAccount": "A String", # Required. The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions. "servingLocality": "A String", # Required. Immutable. Specifies how App Hosting will serve the content for this backend. It will either be contained to a single region (REGIONAL_STRICT) or allowed to use App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). "uid": "A String", # Output only. System-assigned, unique identifier. @@ -413,6 +425,7 @@

Method Details

"a_key": "A String", }, "appId": "A String", # Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend. + "automaticBaseImageUpdatesDisabled": True or False, # Optional. automatic_base_image_updates_disabled acts as a way for users to opt out of ABIU. "codebase": { # The connection to an external source repository to watch for event-driven updates to the backend. # Optional. If specified, the connection to an external source repository to watch for event-driven updates to the backend. "repository": "A String", # Required. The resource name for the Developer Connect [`gitRepositoryLink`](https://cloud.google.com/developer-connect/docs/api/reference/rest/v1/projects.locations.connections.gitRepositoryLinks) connected to this backend, in the format: `projects/{project}/locations/{location}/connections/{connection}/gitRepositoryLinks/{repositoryLink}` The connection for the `gitRepositoryLink` must made be using the Firebase App Hosting GitHub App via the Firebase Console. "rootDirectory": "A String", # Optional. If `repository` is provided, the directory relative to the root of the repository to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the `package.json` or `apphosting.yaml` file. @@ -448,6 +461,9 @@

Method Details

], "reconciling": True or False, # Output only. A field that, if true, indicates that the system is working to make adjustments to the backend during a LRO. "requestLogsDisabled": True or False, # Optional. A field that, if true, indicates that incoming request logs are disabled for this backend. Incoming request logs are enabled by default. + "runtime": { # Runtime is a string that represents the runtime that is used to build the backend. Users can specify one of the following runtimes: nodejs20, nodejs22, nodejs24, nodejs. Runtime "nodejs" means that nodejs version will be determined at build time. If not specified or specified with a value that is not in the list above, the default runtime `nodejs` will be used and Automatic Base Image Updates will be disabled. # Optional. The runtime that the backend will be built on. A default base_image will be chosen for a given runtime. + "value": "A String", # Optional. The value of the runtime. + }, "serviceAccount": "A String", # Required. The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions. "servingLocality": "A String", # Required. Immutable. Specifies how App Hosting will serve the content for this backend. It will either be contained to a single region (REGIONAL_STRICT) or allowed to use App Hosting's global-replicated serving infrastructure (GLOBAL_ACCESS). "uid": "A String", # Output only. System-assigned, unique identifier. diff --git a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.traffic.html b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.traffic.html index ffa801ec48..69f00b3eb5 100644 --- a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.traffic.html +++ b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.traffic.html @@ -126,13 +126,13 @@

Method Details

"codebaseBranch": "A String", # If set, specifies a branch that triggers a new build to be started with this policy. Otherwise, no automatic rollouts will happen. "disabled": True or False, # Optional. A flag that, if true, prevents automatic rollouts from being created via this RolloutPolicy. "disabledTime": "A String", # Output only. If `disabled` is set, the time at which the automatic rollouts were disabled. - "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: "foo/bar/excluded/*” type: GLOB } + "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: "foo/bar/excluded/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. }, ], - "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: “required_paths: { pattern: "foo/bar/*” type: GLOB } + "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: "foo/bar/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. @@ -184,13 +184,13 @@

Method Details

"codebaseBranch": "A String", # If set, specifies a branch that triggers a new build to be started with this policy. Otherwise, no automatic rollouts will happen. "disabled": True or False, # Optional. A flag that, if true, prevents automatic rollouts from being created via this RolloutPolicy. "disabledTime": "A String", # Output only. If `disabled` is set, the time at which the automatic rollouts were disabled. - "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: "foo/bar/excluded/*” type: GLOB } + "ignoredPaths": [ # Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: "foo/bar/excluded/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. }, ], - "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: “required_paths: { pattern: "foo/bar/*” type: GLOB } + "requiredPaths": [ # Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: "foo/bar/*", type: "GLOB" } ``` { # A file path pattern to match against. "pattern": "A String", # Optional. The pattern to match against. "type": "A String", # Optional. The type of pattern to match against. diff --git a/docs/dyn/firebasedataconnect_v1.html b/docs/dyn/firebasedataconnect_v1.html index 063e06a341..8f030e8b25 100644 --- a/docs/dyn/firebasedataconnect_v1.html +++ b/docs/dyn/firebasedataconnect_v1.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API

+

Firebase SQL Connect API

Instance Methods

projects() diff --git a/docs/dyn/firebasedataconnect_v1.projects.html b/docs/dyn/firebasedataconnect_v1.projects.html index 57ef534b09..6cdfb8669f 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.html +++ b/docs/dyn/firebasedataconnect_v1.projects.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects

+

Firebase SQL Connect API . projects

Instance Methods

locations() diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.html b/docs/dyn/firebasedataconnect_v1.projects.locations.html index dc502b7dac..3beb884c06 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations

+

Firebase SQL Connect API . projects . locations

Instance Methods

operations() diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.operations.html b/docs/dyn/firebasedataconnect_v1.projects.locations.operations.html index 87ad1710e3..bcf48c4197 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.operations.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.operations.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . operations

+

Firebase SQL Connect API . projects . locations . operations

Instance Methods

cancel(name, body=None, x__xgafv=None)

diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.services.connectors.html b/docs/dyn/firebasedataconnect_v1.projects.locations.services.connectors.html index 56a7095b08..c4204e83f5 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.services.connectors.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.services.connectors.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services . connectors

+

Firebase SQL Connect API . projects . locations . services . connectors

Instance Methods

close()

diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.services.html b/docs/dyn/firebasedataconnect_v1.projects.locations.services.html index efc4995d63..d8c768134c 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.services.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.services.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services

+

Firebase SQL Connect API . projects . locations . services

Instance Methods

connectors() diff --git a/docs/dyn/firebasedataconnect_v1.projects.locations.services.schemas.html b/docs/dyn/firebasedataconnect_v1.projects.locations.services.schemas.html index 6ca992de50..f432e520fd 100644 --- a/docs/dyn/firebasedataconnect_v1.projects.locations.services.schemas.html +++ b/docs/dyn/firebasedataconnect_v1.projects.locations.services.schemas.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services . schemas

+

Firebase SQL Connect API . projects . locations . services . schemas

Instance Methods

close()

diff --git a/docs/dyn/firebasedataconnect_v1beta.html b/docs/dyn/firebasedataconnect_v1beta.html index 10dd48cac8..2007b945d5 100644 --- a/docs/dyn/firebasedataconnect_v1beta.html +++ b/docs/dyn/firebasedataconnect_v1beta.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API

+

Firebase SQL Connect API

Instance Methods

projects() diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.html b/docs/dyn/firebasedataconnect_v1beta.projects.html index ff3d2942c4..948cc866be 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects

+

Firebase SQL Connect API . projects

Instance Methods

locations() diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.html index 56589ae16d..33fc8f62eb 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations

+

Firebase SQL Connect API . projects . locations

Instance Methods

operations() diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.operations.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.operations.html index 9117adc7bb..46ee2f891b 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.operations.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.operations.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . operations

+

Firebase SQL Connect API . projects . locations . operations

Instance Methods

cancel(name, body=None, x__xgafv=None)

diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.connectors.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.connectors.html index df125b00f4..5aa0c3a10d 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.connectors.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.connectors.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services . connectors

+

Firebase SQL Connect API . projects . locations . services . connectors

Instance Methods

close()

diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html index a8d78671aa..6543f53f05 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services

+

Firebase SQL Connect API . projects . locations . services

Instance Methods

connectors() diff --git a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.schemas.html b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.schemas.html index 8b9046c530..07038b6d83 100644 --- a/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.schemas.html +++ b/docs/dyn/firebasedataconnect_v1beta.projects.locations.services.schemas.html @@ -72,7 +72,7 @@ -

Firebase Data Connect API . projects . locations . services . schemas

+

Firebase SQL Connect API . projects . locations . services . schemas

Instance Methods

close()

diff --git a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html index 3666708b60..99c99e190b 100644 --- a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html +++ b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html @@ -381,7 +381,6 @@

Method Details

"codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation. }, "computerUse": { # Tool to support computer use. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. - "enablePromptInjectionDetection": True or False, # Optional. Enables the prompt injection detection check on computer-use request. "environment": "A String", # Required. The environment being operated. "excludedPredefinedFunctions": [ # Optional. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions. "A String", @@ -393,6 +392,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -939,7 +944,6 @@

Method Details

"codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation. }, "computerUse": { # Tool to support computer use. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. - "enablePromptInjectionDetection": True or False, # Optional. Enables the prompt injection detection check on computer-use request. "environment": "A String", # Required. The environment being operated. "excludedPredefinedFunctions": [ # Optional. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions. "A String", @@ -951,6 +955,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. @@ -1773,7 +1783,6 @@

Method Details

"codeExecution": { # Tool that executes code generated by the model, and automatically returns the result to the model. See also ExecutableCode and CodeExecutionResult, which are input and output to this tool. # Optional. CodeExecution tool type. Enables the model to execute code as part of generation. }, "computerUse": { # Tool to support computer use. # Optional. Tool to support the model interacting directly with the computer. If enabled, it automatically populates computer-use specific Function Declarations. - "enablePromptInjectionDetection": True or False, # Optional. Enables the prompt injection detection check on computer-use request. "environment": "A String", # Required. The environment being operated. "excludedPredefinedFunctions": [ # Optional. By default, [predefined functions](https://cloud.google.com/vertex-ai/generative-ai/docs/computer-use#supported-actions) are included in the final model call. Some of them can be explicitly excluded from being automatically included. This can serve two purposes: 1. Using a more restricted / different action space. 2. Improving the definitions / instructions of predefined functions. "A String", @@ -1785,6 +1794,12 @@

Method Details

"A String", ], }, + "exaAiSearch": { # ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. # Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + "apiKey": "A String", # Required. The API key for ExaAiSearch. + "customConfigs": { # Optional. This field can be used to pass any parameter from the Exa.ai Search API. + "a_key": "", # Properties of the object. + }, + }, "functionDeclarations": [ # Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. { # Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. "behavior": "A String", # Optional. Specifies the function Behavior. If not specified, the system keeps the current function call behavior. This field is currently only supported by the BidiGenerateContent method. diff --git a/docs/dyn/firestore_v1.projects.databases.collectionGroups.fields.html b/docs/dyn/firestore_v1.projects.databases.collectionGroups.fields.html index 1b67a7e1b5..d5b68d0fa4 100644 --- a/docs/dyn/firestore_v1.projects.databases.collectionGroups.fields.html +++ b/docs/dyn/firestore_v1.projects.databases.collectionGroups.fields.html @@ -123,7 +123,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -144,9 +144,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. @@ -197,7 +197,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -218,9 +218,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. @@ -278,7 +278,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -299,9 +299,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. diff --git a/docs/dyn/firestore_v1.projects.databases.collectionGroups.indexes.html b/docs/dyn/firestore_v1.projects.databases.collectionGroups.indexes.html index d84d4e7292..093f0cf35f 100644 --- a/docs/dyn/firestore_v1.projects.databases.collectionGroups.indexes.html +++ b/docs/dyn/firestore_v1.projects.databases.collectionGroups.indexes.html @@ -117,7 +117,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -138,9 +138,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. @@ -218,7 +218,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -239,9 +239,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. @@ -278,7 +278,7 @@

Method Details

"order": "A String", # Indicates that this field supports ordering by the specified order or comparing using =, !=, <, <=, >, >=. "searchConfig": { # The configuration for how to index a field for search. # Indicates that this field supports search operations. "geoSpec": { # The specification for how to build a geo search index for a field. # Optional. The specification for building a geo search index for a field. - "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + "geoJsonIndexingDisabled": True or False, # Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. }, "textSpec": { # The specification for how to build a text search index for a field. # Optional. The specification for building a text search index for a field. "indexSpecs": [ # Required. Specifications for how the field should be indexed. Repeated so that the field can be indexed in multiple ways. @@ -299,9 +299,9 @@

Method Details

"multikey": True or False, # Optional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope. "name": "A String", # Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty. "queryScope": "A String", # Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection ID as this index. - "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. + "searchIndexOptions": { # Options for search indexes at the definition level. # Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. "textLanguage": "A String", # Optional. The language to use for text search indexes. Used as the default language if not overridden at the document level by specifying the `text_language_override_field`. The language is specified as a BCP 47 language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If unspecified, the default language is English. For indexes with `ANY_API` ApiScope: If unspecified, the default behavior is autodetect. - "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + "textLanguageOverrideFieldPath": "A String", # Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. }, "shardCount": 42, # Optional. The number of shards for the index. "state": "A String", # Output only. The serving state of the index. diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.rollouts.html b/docs/dyn/gkehub_v1alpha.projects.locations.rollouts.html index e4b96c1901..e4ae347dc1 100644 --- a/docs/dyn/gkehub_v1alpha.projects.locations.rollouts.html +++ b/docs/dyn/gkehub_v1alpha.projects.locations.rollouts.html @@ -74,6 +74,9 @@

GKE Hub API . projects . locations . rollouts

Instance Methods

+

+ cancel(name, body=None, x__xgafv=None)

+

Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.

close()

Close httplib2 connections.

@@ -89,7 +92,54 @@

Instance Methods

list_next()

Retrieves the next page of results.

+

+ pause(name, body=None, x__xgafv=None)

+

Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.

+

+ resume(name, body=None, x__xgafv=None)

+

Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.

Method Details

+
+ cancel(name, body=None, x__xgafv=None) +
Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.
+
+Args:
+  name: string, Required. The name of the rollout to cancel. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for cancelling a rollout.
+}
+
+  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.
+  },
+}
+
+
close()
Close httplib2 connections.
@@ -281,4 +331,88 @@

Method Details

+
+ pause(name, body=None, x__xgafv=None) +
Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.
+
+Args:
+  name: string, Required. The name of the rollout to pause. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for pausing a rollout.
+}
+
+  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.
+  },
+}
+
+ +
+ resume(name, body=None, x__xgafv=None) +
Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.
+
+Args:
+  name: string, Required. The name of the rollout to resume. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for resuming a rollout.
+  "scheduleOffset": "A String", # Optional. The duration to offset the Rollout schedule by.
+  "validateOnly": True or False, # Optional. If set, resume rollout will be executed in dry-run mode.
+}
+
+  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.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/gkehub_v1beta.projects.locations.rollouts.html b/docs/dyn/gkehub_v1beta.projects.locations.rollouts.html index a1db3b2dbf..f921039ff1 100644 --- a/docs/dyn/gkehub_v1beta.projects.locations.rollouts.html +++ b/docs/dyn/gkehub_v1beta.projects.locations.rollouts.html @@ -74,6 +74,9 @@

GKE Hub API . projects . locations . rollouts

Instance Methods

+

+ cancel(name, body=None, x__xgafv=None)

+

Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.

close()

Close httplib2 connections.

@@ -89,7 +92,54 @@

Instance Methods

list_next()

Retrieves the next page of results.

+

+ pause(name, body=None, x__xgafv=None)

+

Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.

+

+ resume(name, body=None, x__xgafv=None)

+

Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.

Method Details

+
+ cancel(name, body=None, x__xgafv=None) +
Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.
+
+Args:
+  name: string, Required. The name of the rollout to cancel. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for cancelling a rollout.
+}
+
+  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.
+  },
+}
+
+
close()
Close httplib2 connections.
@@ -281,4 +331,88 @@

Method Details

+
+ pause(name, body=None, x__xgafv=None) +
Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.
+
+Args:
+  name: string, Required. The name of the rollout to pause. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for pausing a rollout.
+}
+
+  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.
+  },
+}
+
+ +
+ resume(name, body=None, x__xgafv=None) +
Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.
+
+Args:
+  name: string, Required. The name of the rollout to resume. projects/{project}/locations/{location}/rollouts/{rollout} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for resuming a rollout.
+  "scheduleOffset": "A String", # Optional. The duration to offset the Rollout schedule by.
+  "validateOnly": True or False, # Optional. If set, resume rollout will be executed in dry-run mode.
+}
+
+  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.
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/gmail_v1.users.drafts.html b/docs/dyn/gmail_v1.users.drafts.html index b98ce77b88..3be74a5aa2 100644 --- a/docs/dyn/gmail_v1.users.drafts.html +++ b/docs/dyn/gmail_v1.users.drafts.html @@ -152,7 +152,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -208,7 +208,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -290,7 +290,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -357,7 +357,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -431,7 +431,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -485,7 +485,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -541,7 +541,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -597,7 +597,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. diff --git a/docs/dyn/gmail_v1.users.history.html b/docs/dyn/gmail_v1.users.history.html index 94fc125d46..249018fd6f 100644 --- a/docs/dyn/gmail_v1.users.history.html +++ b/docs/dyn/gmail_v1.users.history.html @@ -159,7 +159,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -208,7 +208,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -253,7 +253,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -298,7 +298,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -344,7 +344,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. diff --git a/docs/dyn/gmail_v1.users.labels.html b/docs/dyn/gmail_v1.users.labels.html index 3630422502..31281f33c4 100644 --- a/docs/dyn/gmail_v1.users.labels.html +++ b/docs/dyn/gmail_v1.users.labels.html @@ -112,8 +112,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -136,8 +136,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -182,8 +182,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -215,8 +215,8 @@

Method Details

"labels": [ # List of labels. Note that each label resource only contains an `id`, `name`, `messageListVisibility`, `labelListVisibility`, and `type`. The [`labels.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/labels/get) method can fetch additional label details. { # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -244,8 +244,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -268,8 +268,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -295,8 +295,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. @@ -319,8 +319,8 @@

Method Details

{ # Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. "color": { # The color to assign to the label. Color is only available for labels that have their `type` set to `user`. - "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 - "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 + "backgroundColor": "A String", # The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 + "textColor": "A String", # The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 }, "id": "A String", # The immutable ID of the label. "labelListVisibility": "A String", # The visibility of the label in the label list in the Gmail web interface. diff --git a/docs/dyn/gmail_v1.users.messages.html b/docs/dyn/gmail_v1.users.messages.html index 964658154c..cc885653d8 100644 --- a/docs/dyn/gmail_v1.users.messages.html +++ b/docs/dyn/gmail_v1.users.messages.html @@ -261,7 +261,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -314,7 +314,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -374,7 +374,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -427,7 +427,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -485,7 +485,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -550,7 +550,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -653,7 +653,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -706,7 +706,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -759,7 +759,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -818,7 +818,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -877,7 +877,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. diff --git a/docs/dyn/gmail_v1.users.threads.html b/docs/dyn/gmail_v1.users.threads.html index 9fcf4ef62e..34ba87017c 100644 --- a/docs/dyn/gmail_v1.users.threads.html +++ b/docs/dyn/gmail_v1.users.threads.html @@ -180,7 +180,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -254,7 +254,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -348,7 +348,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -414,7 +414,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. @@ -480,7 +480,7 @@

Method Details

# Object with schema name: MessagePart ], }, - "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. + "raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update "sizeEstimate": 42, # Estimated size in bytes of the message. "snippet": "A String", # A short part of the message text. "threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. diff --git a/docs/dyn/health_v4.projects.subscribers.html b/docs/dyn/health_v4.projects.subscribers.html index 888e665dc0..b759ef5c42 100644 --- a/docs/dyn/health_v4.projects.subscribers.html +++ b/docs/dyn/health_v4.projects.subscribers.html @@ -74,6 +74,11 @@

Google Health API . projects . subscribers

Instance Methods

+

+ subscriptions() +

+

Returns the subscriptions Resource.

+

close()

Close httplib2 connections.

diff --git a/docs/dyn/health_v4.projects.subscribers.subscriptions.html b/docs/dyn/health_v4.projects.subscribers.subscriptions.html new file mode 100644 index 0000000000..c70b91cd2d --- /dev/null +++ b/docs/dyn/health_v4.projects.subscribers.subscriptions.html @@ -0,0 +1,233 @@ + + + +

Google Health API . projects . subscribers . subscriptions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, subscriptionId=None, x__xgafv=None)

+

Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types.

+

+ delete(name, x__xgafv=None)

+

Deletes a specific user subscription, stopping notifications for this user to this subscriber.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the data types for an existing user subscription.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, subscriptionId=None, x__xgafv=None) +
Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types.
+
+Args:
+  parent: string, Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Payload for creating a subscription.
+  "dataTypes": [ # Optional. Data types subscribed to.
+    "A String",
+  ],
+  "user": "A String", # Required. Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).
+}
+
+  subscriptionId: string, Optional. The {subscription_id} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A subscription to a data collection for a specific user, to be delivered to a subscriber.
+  "dataTypes": [ # Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id}/dataTypes/{data_type}" where `{data_type}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight".
+    "A String",
+  ],
+  "name": "A String", # Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.
+  "user": "A String", # Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).
+}
+
+ +
+ delete(name, x__xgafv=None) +
Deletes a specific user subscription, stopping notifications for this user to this subscriber.
+
+Args:
+  name: string, Required. The resource name of the subscription to delete. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated if not provided during creation. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.
+
+Args:
+  parent: string, Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. (required)
+  filter: string, Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight")
+  pageSize: integer, Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  pageToken: string, Optional. A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token.
+  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 ListSubscriptions.
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "subscriptions": [ # The subscriptions from the specified subscriber.
+    { # A subscription to a data collection for a specific user, to be delivered to a subscriber.
+      "dataTypes": [ # Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id}/dataTypes/{data_type}" where `{data_type}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight".
+        "A String",
+      ],
+      "name": "A String", # Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.
+      "user": "A String", # Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).
+    },
+  ],
+}
+
+ +
+ 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 the data types for an existing user subscription.
+
+Args:
+  name: string, Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A subscription to a data collection for a specific user, to be delivered to a subscriber.
+  "dataTypes": [ # Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id}/dataTypes/{data_type}" where `{data_type}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight".
+    "A String",
+  ],
+  "name": "A String", # Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.
+  "user": "A String", # Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).
+}
+
+  updateMask: string, Optional. The list of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A subscription to a data collection for a specific user, to be delivered to a subscriber.
+  "dataTypes": [ # Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id}/dataTypes/{data_type}" where `{data_type}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight".
+    "A String",
+  ],
+  "name": "A String", # Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.
+  "user": "A String", # Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/health_v4.users.dataTypes.dataPoints.html b/docs/dyn/health_v4.users.dataTypes.dataPoints.html index b1dc903e93..84b06059c0 100644 --- a/docs/dyn/health_v4.users.dataTypes.dataPoints.html +++ b/docs/dyn/health_v4.users.dataTypes.dataPoints.html @@ -176,6 +176,41 @@

Method Details

The object takes the form of: { # A computed or recorded metric. + "activeEnergyBurned": { # Energy burned as part of an activity, excluding the basal energy burn. # Optional. Data for points in the `active-energy-burned` interval data type collection. + "interval": { # Represents a time interval of an observed data point. # Required. Observed interval + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. Observed interval end time. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. Observed interval start time. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). + }, + "kcal": 3.14, # Required. Energy burned during an activity, measured in kilocalories. + }, "activeMinutes": { # Record of active minutes in a given time interval. # Optional. Data for points in the `active-minutes` interval data type collection. "activeMinutesByActivityLevel": [ # Required. Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes at a given activity level. @@ -357,6 +392,31 @@

Method Details

}, "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. }, + "bloodGlucose": { # Represents a blood glucose level measurement. LINT: LEGACY_NAMES # Optional. Data for points in the `blood-glucose` sample data type collection. + "bloodGlucoseMilligramsPerDeciliter": 3.14, # Required. Blood glucose level concentration in mg/dL. + "mealType": "A String", # Optional. Meal type of the measurement. + "measurementSource": "A String", # Optional. Source of the measurement. + "measurementTiming": "A String", # Optional. Timing of the measurement. + "notes": "A String", # Optional. Standard free-form notes captured at manual logging. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which blood glucose was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "specimen": "A String", # Optional. Type of body fluid used to measure the blood glucose. + }, "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. @@ -377,6 +437,28 @@

Method Details

"utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). }, }, + "coreBodyTemperature": { # Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. # Optional. Data for points in the `core-body-temperature` sample data type collection. + "id": "A String", # Optional. The unique identifier of the core body temperature measurement. + "measurementLocation": "A String", # Optional. The location of the core body temperature measurement. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which core body temperature was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "temperatureCelsius": 3.14, # Required. The core body temperature in Celsius. + }, "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Date (in the user's timezone) of heart rate variability measurement. @@ -502,6 +584,55 @@

Method Details

}, "millimeters": "A String", # Required. Distance in millimeters over the observed interval. }, + "electrocardiogram": { # Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `electrocardiogram` session data type collection. + "beatsPerMinuteAvg": "A String", # Optional. Average heart rate recorded during ECG reading in beats per minute. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "leadNumber": 42, # Optional. The number of leads used for ECG reading. + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + "millivoltsScalingFactor": 42, # Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor. + "resultClassification": "A String", # Optional. The result classification of the ECG reading. + "samplingFrequencyHertz": 42, # Optional. The sampling frequency of waveform samples in hertz. + "waveformSamples": [ # Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading. + 42, + ], + }, "exercise": { # An exercise that stores information about a physical activity. # Optional. Data for points in the `exercise` session data type collection. "activeDuration": "A String", # Optional. Duration excluding pauses. "createTime": "A String", # Output only. Represents the timestamp of the creation of the exercise. @@ -683,6 +814,67 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). }, }, + "food": { # Represents a food item. # Optional. The food details. + "accessLevel": "A String", # Required. The access level of the food. + "brand": "A String", # Optional. The brand of the food. + "defaultServing": { # Represents different properties and information about the serving of a specific food. # Required. Value representing the default serving of the food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + "description": "A String", # Optional. The description of the food. + "displayName": "A String", # Required. The display name of the food. + "energyAvg": { # Represents the energy quantity. # Optional. Value representing the average energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMax": { # Represents the energy quantity. # Optional. Value representing the maximum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMin": { # Represents the energy quantity. # Optional. Value representing the minimum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "languageCode": "A String", # Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code. + "mealType": "A String", # Optional. The meal type associated with this food. + "nutrients": [ # Optional. Value representing the nutrients of the food for the default serving. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "servings": [ # Optional. The serving of the food. + { # Represents different properties and information about the serving of a specific food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + ], + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + "foodMeasurementUnit": { # Represents a food measurement unit. # Optional. The food measurement unit details. + "displayName": "A String", # Required. The display name of the food measurement unit (e.g., "gram", "piece"). + "pluralDisplayName": "A String", # Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces"). + }, "heartRate": { # A heart rate measurement. # Optional. Data for points in the `heart-rate` sample data type collection. "beatsPerMinute": "A String", # Required. The heart rate value in beats per minute. "metadata": { # Heart rate metadata. # Optional. Metadata about the heart rate sample. @@ -786,7 +978,170 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). }, }, - "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "irregularRhythmNotification": { # Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `irregular-rhythm-notification` session data type collection. + "alertWindows": [ # Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm. + { # An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm). + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the analysis window. + "endUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window ended. + "heartBeats": [ # Optional. All heart beats in the interval contained in this analysis window. + { # A single heart beat measurement. + "beatsPerMinute": 42, # Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval). + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the heart beat measurement. + "utcOffset": "A String", # Required. The UTC offset of the user's timezone when the heart beat measurement occurred. + }, + ], + "positive": True or False, # Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib. + "startTime": "A String", # Required. Observed interval. The start time of the analysis window. + "startUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window started. + }, + ], + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + }, + "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "nutritionLog": { # Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable. # Optional. Data for points in the `nutrition-log` session data type collection. + "energy": { # Represents the energy quantity. # Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "food": "A String", # Required. Represents the food ID. + "foodDisplayName": "A String", # Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "mealType": "A String", # Optional. Value representing the meal type of the nutrition log. + "nutrients": [ # Optional. Value representing the nutrients of the nutrition log. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "serving": { # Represents different properties and information about the serving of a specific food. # Optional. Value representing the nutrition log serving. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + }, + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, "oxygenSaturation": { # Captures the user's instantaneous oxygen saturation percentage (SpO2). # Optional. Data for points in the `oxygen-saturation` sample data type collection. "percentage": 3.14, # Required. The oxygen saturation percentage. Valid values are from 0 to 100. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which oxygen saturation was measured. @@ -1211,6 +1566,9 @@

Method Details

{ # Response containing the list of rolled up data points. "rollupDataPoints": [ # Values for each aggregation time window. { # Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn. + "activeEnergyBurned": { # Represents the result of the rollup of active energy burned. # Returned by default when rolling up data points from the `active-energy-burned` data type. + "kcalSum": 3.14, # Output only. Sum of the active energy burned in kilocalories. + }, "activeMinutes": { # Represents the result of the rollup of the active minutes data type. # Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier. "activeMinutesRollupByActivityLevel": [ # Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes by activity level. @@ -1235,6 +1593,9 @@

Method Details

"altitude": { # Represents the result of the rollup of the user's altitude. # Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier. "gainMillimetersSum": "A String", # Sum of the altitude gain in millimeters. }, + "bloodGlucose": { # Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES # Returned by default when rolling up data points from the `blood-glucose` data type. + "bloodGlucoseMilligramsPerDeciliterAvg": 3.14, # Average blood glucose level in mg/dL. + }, "bodyFat": { # Represents the result of the rollup of the body fat data type. # Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier. "bodyFatPercentageAvg": 3.14, # Average body fat percentage. }, @@ -1272,6 +1633,11 @@

Method Details

"seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. }, }, + "coreBodyTemperature": { # Represents the result of the rollup of the core body temperature data type. # Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier. + "temperatureCelsiusAvg": 3.14, # Average core body temperature in Celsius. + "temperatureCelsiusMax": 3.14, # Maximum core body temperature in Celsius. + "temperatureCelsiusMin": 3.14, # Minimum core body temperature in Celsius. + }, "distance": { # Result of the rollup of the user's distance. # Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier. "millimetersSum": "A String", # Sum of the distance in millimeters. }, @@ -1293,6 +1659,33 @@

Method Details

"userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. }, }, + "nutritionLog": { # Represents the result of the rollup of the nutrition log data type. # Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier. + "energy": { # Rollup for the energy quantity. # Energy rollup. + "kcalSum": 3.14, # Required. The sum of the energy in kilocalories. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "energyFromFat": { # Rollup for the energy quantity. # Value Energy from fat rollup. + "kcalSum": 3.14, # Required. The sum of the energy in kilocalories. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "nutrients": [ # List of the nutrient roll-ups by the nutrient type. + { # Nutrient quantity rollup. + "nutrient": "A String", # Required. Aggregated nutrient. + "quantity": { # Rollup for the weight. # Required. Aggregated nutrient weight. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + }, + ], + "totalCarbohydrate": { # Rollup for the weight. # Total carbohydrate rollup. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "totalFat": { # Rollup for the weight. # Total fat rollup. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + }, "restingHeartRatePersonalRange": { # Represents the rollup value for the daily resting heart rate data type. # Returned by default when rolling up data points from the `daily-resting-heart-rate` data type, or when requested explicitly using the `resting-heart-rate-personal-range` rollup type identifier. "beatsPerMinuteMax": 3.14, # The upper bound of the user's daily resting heart rate personal range. "beatsPerMinuteMin": 3.14, # The lower bound of the user's daily resting heart rate personal range. @@ -1383,6 +1776,41 @@

Method Details

An object of the form: { # A computed or recorded metric. + "activeEnergyBurned": { # Energy burned as part of an activity, excluding the basal energy burn. # Optional. Data for points in the `active-energy-burned` interval data type collection. + "interval": { # Represents a time interval of an observed data point. # Required. Observed interval + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. Observed interval end time. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. Observed interval start time. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). + }, + "kcal": 3.14, # Required. Energy burned during an activity, measured in kilocalories. + }, "activeMinutes": { # Record of active minutes in a given time interval. # Optional. Data for points in the `active-minutes` interval data type collection. "activeMinutesByActivityLevel": [ # Required. Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes at a given activity level. @@ -1564,9 +1992,13 @@

Method Details

}, "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. }, - "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. - "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. - "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. + "bloodGlucose": { # Represents a blood glucose level measurement. LINT: LEGACY_NAMES # Optional. Data for points in the `blood-glucose` sample data type collection. + "bloodGlucoseMilligramsPerDeciliter": 3.14, # Required. Blood glucose level concentration in mg/dL. + "mealType": "A String", # Optional. Meal type of the measurement. + "measurementSource": "A String", # Optional. Source of the measurement. + "measurementTiming": "A String", # Optional. Timing of the measurement. + "notes": "A String", # Optional. Standard free-form notes captured at manual logging. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which blood glucose was measured. "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -1583,15 +2015,58 @@

Method Details

"physicalTime": "A String", # Required. The time of the observation. "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). }, + "specimen": "A String", # Optional. Type of body fluid used to measure the blood glucose. }, - "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. - "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. - "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Date (in the user's timezone) of heart rate variability measurement. - "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. - "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. - "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. - }, - "deepSleepRootMeanSquareOfSuccessiveDifferencesMilliseconds": 3.14, # Optional. The root mean square of successive differences (RMSSD) value during deep sleep. + "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. + "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + }, + "coreBodyTemperature": { # Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. # Optional. Data for points in the `core-body-temperature` sample data type collection. + "id": "A String", # Optional. The unique identifier of the core body temperature measurement. + "measurementLocation": "A String", # Optional. The location of the core body temperature measurement. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which core body temperature was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "temperatureCelsius": 3.14, # Required. The core body temperature in Celsius. + }, + "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. + "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Date (in the user's timezone) of heart rate variability measurement. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "deepSleepRootMeanSquareOfSuccessiveDifferencesMilliseconds": 3.14, # Optional. The root mean square of successive differences (RMSSD) value during deep sleep. "entropy": 3.14, # Optional. The Shanon entropy of heartbeat intervals. Entropy quantifies randomness or disorder in a system. High entropy indicates high HRV. Entropy is measured from the histogram of time interval between successive heart beats values measured during sleep. "nonRemHeartRateBeatsPerMinute": "A String", # Optional. Non-REM heart rate }, @@ -1709,6 +2184,55 @@

Method Details

}, "millimeters": "A String", # Required. Distance in millimeters over the observed interval. }, + "electrocardiogram": { # Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `electrocardiogram` session data type collection. + "beatsPerMinuteAvg": "A String", # Optional. Average heart rate recorded during ECG reading in beats per minute. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "leadNumber": 42, # Optional. The number of leads used for ECG reading. + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + "millivoltsScalingFactor": 42, # Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor. + "resultClassification": "A String", # Optional. The result classification of the ECG reading. + "samplingFrequencyHertz": 42, # Optional. The sampling frequency of waveform samples in hertz. + "waveformSamples": [ # Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading. + 42, + ], + }, "exercise": { # An exercise that stores information about a physical activity. # Optional. Data for points in the `exercise` session data type collection. "activeDuration": "A String", # Optional. Duration excluding pauses. "createTime": "A String", # Output only. Represents the timestamp of the creation of the exercise. @@ -1890,6 +2414,67 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). }, }, + "food": { # Represents a food item. # Optional. The food details. + "accessLevel": "A String", # Required. The access level of the food. + "brand": "A String", # Optional. The brand of the food. + "defaultServing": { # Represents different properties and information about the serving of a specific food. # Required. Value representing the default serving of the food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + "description": "A String", # Optional. The description of the food. + "displayName": "A String", # Required. The display name of the food. + "energyAvg": { # Represents the energy quantity. # Optional. Value representing the average energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMax": { # Represents the energy quantity. # Optional. Value representing the maximum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMin": { # Represents the energy quantity. # Optional. Value representing the minimum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "languageCode": "A String", # Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code. + "mealType": "A String", # Optional. The meal type associated with this food. + "nutrients": [ # Optional. Value representing the nutrients of the food for the default serving. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "servings": [ # Optional. The serving of the food. + { # Represents different properties and information about the serving of a specific food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + ], + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + "foodMeasurementUnit": { # Represents a food measurement unit. # Optional. The food measurement unit details. + "displayName": "A String", # Required. The display name of the food measurement unit (e.g., "gram", "piece"). + "pluralDisplayName": "A String", # Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces"). + }, "heartRate": { # A heart rate measurement. # Optional. Data for points in the `heart-rate` sample data type collection. "beatsPerMinute": "A String", # Required. The heart rate value in beats per minute. "metadata": { # Heart rate metadata. # Optional. Metadata about the heart rate sample. @@ -1993,7 +2578,170 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). }, }, - "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "irregularRhythmNotification": { # Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `irregular-rhythm-notification` session data type collection. + "alertWindows": [ # Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm. + { # An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm). + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the analysis window. + "endUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window ended. + "heartBeats": [ # Optional. All heart beats in the interval contained in this analysis window. + { # A single heart beat measurement. + "beatsPerMinute": 42, # Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval). + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the heart beat measurement. + "utcOffset": "A String", # Required. The UTC offset of the user's timezone when the heart beat measurement occurred. + }, + ], + "positive": True or False, # Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib. + "startTime": "A String", # Required. Observed interval. The start time of the analysis window. + "startUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window started. + }, + ], + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + }, + "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "nutritionLog": { # Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable. # Optional. Data for points in the `nutrition-log` session data type collection. + "energy": { # Represents the energy quantity. # Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "food": "A String", # Required. Represents the food ID. + "foodDisplayName": "A String", # Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "mealType": "A String", # Optional. Value representing the meal type of the nutrition log. + "nutrients": [ # Optional. Value representing the nutrients of the nutrition log. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "serving": { # Represents different properties and information about the serving of a specific food. # Optional. Value representing the nutrition log serving. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + }, + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, "oxygenSaturation": { # Captures the user's instantaneous oxygen saturation percentage (SpO2). # Optional. Data for points in the `oxygen-saturation` sample data type collection. "percentage": 3.14, # Required. The oxygen saturation percentage. Valid values are from 0 to 100. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which oxygen saturation was measured. @@ -2341,7 +3089,7 @@

Method Details

Args: parent: string, Required. Parent data type of the Data Point collection. Format: `users/me/dataTypes/{data_type}`, e.g.: - `users/me/dataTypes/steps` - `users/me/dataTypes/weight` For a list of the supported data types see the DataPoint data union field. (required) - filter: string, Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= "2023-11-24T00:00:00Z" AND steps.interval.start_time < "2023-11-25T00:00:00Z"` - `distance.interval.start_time >= "2024-08-14T12:34:56Z"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= "2023-11-24" AND steps.interval.civil_start_time < "2023-11-25"` - `distance.interval.civil_start_time >= "2024-08-14T12:34:56"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= "2023-11-24T00:00:00Z" AND weight.sample_time.physical_time < "2023-11-25T00:00:00Z"` - `weight.sample_time.physical_time >= "2024-08-14T12:34:56Z"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= "2023-11-24" AND weight.sample_time.civil_time < "2023-11-25"` - `weight.sample_time.civil_time >= "2024-08-14T12:34:56"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < "2024-08-15"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= "2024-08-14T12:34:56Z"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session civil start time (**Excluding Sleep**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= "2023-11-24" AND exercise.interval.civil_start_time < "2023-11-25"` - `exercise.interval.civil_start_time >= "2024-08-14T12:34:56"` - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= "2023-11-24T00:00:00Z" AND sleep.interval.end_time < "2023-11-25T00:00:00Z"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= "2023-11-24" AND sleep.interval.civil_end_time < "2023-11-25"` Data points in the response will be ordered by the interval start time in descending order. + filter: string, Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= "2023-11-24T00:00:00Z" AND steps.interval.start_time < "2023-11-25T00:00:00Z"` - `distance.interval.start_time >= "2024-08-14T12:34:56Z"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= "2023-11-24" AND steps.interval.civil_start_time < "2023-11-25"` - `distance.interval.civil_start_time >= "2024-08-14T12:34:56"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= "2023-11-24T00:00:00Z" AND weight.sample_time.physical_time < "2023-11-25T00:00:00Z"` - `weight.sample_time.physical_time >= "2024-08-14T12:34:56Z"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= "2023-11-24" AND weight.sample_time.civil_time < "2023-11-25"` - `weight.sample_time.civil_time >= "2024-08-14T12:34:56"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < "2024-08-15"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= "2023-11-24" AND exercise.interval.civil_start_time < "2023-11-25"` - `exercise.interval.civil_start_time >= "2024-08-14T12:34:56"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= "2024-08-14T12:34:56Z"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= "2023-11-24T00:00:00Z" AND sleep.interval.end_time < "2023-11-25T00:00:00Z"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= "2023-11-24" AND sleep.interval.civil_end_time < "2023-11-25"` Data points in the response will be ordered by the interval start time in descending order. pageSize: integer, Optional. The maximum number of data points to return. If unspecified, at most 1440 data points will be returned. The maximum page size is 10000; values above that will be truncated accordingly. For `exercise` and `sleep` the default page size is 25. The maximum page size for `exercise` and `sleep` is 25. pageToken: string, Optional. The `next_page_token` from a previous request, if any. x__xgafv: string, V1 error format. @@ -2355,6 +3103,41 @@

Method Details

{ # Response containing raw data points matching the query "dataPoints": [ # Data points matching the query { # A computed or recorded metric. + "activeEnergyBurned": { # Energy burned as part of an activity, excluding the basal energy burn. # Optional. Data for points in the `active-energy-burned` interval data type collection. + "interval": { # Represents a time interval of an observed data point. # Required. Observed interval + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. Observed interval end time. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. Observed interval start time. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). + }, + "kcal": 3.14, # Required. Energy burned during an activity, measured in kilocalories. + }, "activeMinutes": { # Record of active minutes in a given time interval. # Optional. Data for points in the `active-minutes` interval data type collection. "activeMinutesByActivityLevel": [ # Required. Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes at a given activity level. @@ -2536,6 +3319,31 @@

Method Details

}, "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. }, + "bloodGlucose": { # Represents a blood glucose level measurement. LINT: LEGACY_NAMES # Optional. Data for points in the `blood-glucose` sample data type collection. + "bloodGlucoseMilligramsPerDeciliter": 3.14, # Required. Blood glucose level concentration in mg/dL. + "mealType": "A String", # Optional. Meal type of the measurement. + "measurementSource": "A String", # Optional. Source of the measurement. + "measurementTiming": "A String", # Optional. Timing of the measurement. + "notes": "A String", # Optional. Standard free-form notes captured at manual logging. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which blood glucose was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "specimen": "A String", # Optional. Type of body fluid used to measure the blood glucose. + }, "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. @@ -2556,6 +3364,28 @@

Method Details

"utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). }, }, + "coreBodyTemperature": { # Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. # Optional. Data for points in the `core-body-temperature` sample data type collection. + "id": "A String", # Optional. The unique identifier of the core body temperature measurement. + "measurementLocation": "A String", # Optional. The location of the core body temperature measurement. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which core body temperature was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "temperatureCelsius": 3.14, # Required. The core body temperature in Celsius. + }, "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Date (in the user's timezone) of heart rate variability measurement. @@ -2681,6 +3511,55 @@

Method Details

}, "millimeters": "A String", # Required. Distance in millimeters over the observed interval. }, + "electrocardiogram": { # Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `electrocardiogram` session data type collection. + "beatsPerMinuteAvg": "A String", # Optional. Average heart rate recorded during ECG reading in beats per minute. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "leadNumber": 42, # Optional. The number of leads used for ECG reading. + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + "millivoltsScalingFactor": 42, # Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor. + "resultClassification": "A String", # Optional. The result classification of the ECG reading. + "samplingFrequencyHertz": 42, # Optional. The sampling frequency of waveform samples in hertz. + "waveformSamples": [ # Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading. + 42, + ], + }, "exercise": { # An exercise that stores information about a physical activity. # Optional. Data for points in the `exercise` session data type collection. "activeDuration": "A String", # Optional. Duration excluding pauses. "createTime": "A String", # Output only. Represents the timestamp of the creation of the exercise. @@ -2862,6 +3741,67 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). }, }, + "food": { # Represents a food item. # Optional. The food details. + "accessLevel": "A String", # Required. The access level of the food. + "brand": "A String", # Optional. The brand of the food. + "defaultServing": { # Represents different properties and information about the serving of a specific food. # Required. Value representing the default serving of the food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + "description": "A String", # Optional. The description of the food. + "displayName": "A String", # Required. The display name of the food. + "energyAvg": { # Represents the energy quantity. # Optional. Value representing the average energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMax": { # Represents the energy quantity. # Optional. Value representing the maximum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMin": { # Represents the energy quantity. # Optional. Value representing the minimum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "languageCode": "A String", # Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code. + "mealType": "A String", # Optional. The meal type associated with this food. + "nutrients": [ # Optional. Value representing the nutrients of the food for the default serving. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "servings": [ # Optional. The serving of the food. + { # Represents different properties and information about the serving of a specific food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + ], + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + "foodMeasurementUnit": { # Represents a food measurement unit. # Optional. The food measurement unit details. + "displayName": "A String", # Required. The display name of the food measurement unit (e.g., "gram", "piece"). + "pluralDisplayName": "A String", # Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces"). + }, "heartRate": { # A heart rate measurement. # Optional. Data for points in the `heart-rate` sample data type collection. "beatsPerMinute": "A String", # Required. The heart rate value in beats per minute. "metadata": { # Heart rate metadata. # Optional. Metadata about the heart rate sample. @@ -2965,7 +3905,170 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). }, }, - "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "irregularRhythmNotification": { # Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `irregular-rhythm-notification` session data type collection. + "alertWindows": [ # Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm. + { # An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm). + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the analysis window. + "endUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window ended. + "heartBeats": [ # Optional. All heart beats in the interval contained in this analysis window. + { # A single heart beat measurement. + "beatsPerMinute": 42, # Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval). + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the heart beat measurement. + "utcOffset": "A String", # Required. The UTC offset of the user's timezone when the heart beat measurement occurred. + }, + ], + "positive": True or False, # Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib. + "startTime": "A String", # Required. Observed interval. The start time of the analysis window. + "startUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window started. + }, + ], + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + }, + "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "nutritionLog": { # Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable. # Optional. Data for points in the `nutrition-log` session data type collection. + "energy": { # Represents the energy quantity. # Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "food": "A String", # Required. Represents the food ID. + "foodDisplayName": "A String", # Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "mealType": "A String", # Optional. Value representing the meal type of the nutrition log. + "nutrients": [ # Optional. Value representing the nutrients of the nutrition log. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "serving": { # Represents different properties and information about the serving of a specific food. # Optional. Value representing the nutrition log serving. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + }, + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, "oxygenSaturation": { # Captures the user's instantaneous oxygen saturation percentage (SpO2). # Optional. Data for points in the `oxygen-saturation` sample data type collection. "percentage": 3.14, # Required. The oxygen saturation percentage. Valid values are from 0 to 100. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which oxygen saturation was measured. @@ -3329,11 +4432,46 @@

Method Details

Updates a single identifiable data point. If a data point with the specified `name` is not found, the request will fail.
 
 Args:
-  name: string, Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. (required)
+  name: string, Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # A computed or recorded metric.
+  "activeEnergyBurned": { # Energy burned as part of an activity, excluding the basal energy burn. # Optional. Data for points in the `active-energy-burned` interval data type collection.
+    "interval": { # Represents a time interval of an observed data point. # Required. Observed interval
+      "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval
+        "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted.
+          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+        },
+      },
+      "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval
+        "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date.
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted.
+          "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+          "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+          "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+          "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+        },
+      },
+      "endTime": "A String", # Required. Observed interval end time.
+      "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC).
+      "startTime": "A String", # Required. Observed interval start time.
+      "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC).
+    },
+    "kcal": 3.14, # Required. Energy burned during an activity, measured in kilocalories.
+  },
   "activeMinutes": { # Record of active minutes in a given time interval. # Optional. Data for points in the `active-minutes` interval data type collection.
     "activeMinutesByActivityLevel": [ # Required. Active minutes by activity level. At most one record per activity level is allowed.
       { # Active minutes at a given activity level.
@@ -3513,11 +4651,57 @@ 

Method Details

"startTime": "A String", # Required. Observed interval start time. "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). }, - "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. + "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. + }, + "bloodGlucose": { # Represents a blood glucose level measurement. LINT: LEGACY_NAMES # Optional. Data for points in the `blood-glucose` sample data type collection. + "bloodGlucoseMilligramsPerDeciliter": 3.14, # Required. Blood glucose level concentration in mg/dL. + "mealType": "A String", # Optional. Meal type of the measurement. + "measurementSource": "A String", # Optional. Source of the measurement. + "measurementTiming": "A String", # Optional. Timing of the measurement. + "notes": "A String", # Optional. Standard free-form notes captured at manual logging. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which blood glucose was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "specimen": "A String", # Optional. Type of body fluid used to measure the blood glucose. + }, + "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. + "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, }, - "bodyFat": { # Body fat measurement. # Optional. Data for points in the `body-fat` sample data type collection. - "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. - "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. + "coreBodyTemperature": { # Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. # Optional. Data for points in the `core-body-temperature` sample data type collection. + "id": "A String", # Optional. The unique identifier of the core body temperature measurement. + "measurementLocation": "A String", # Optional. The location of the core body temperature measurement. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which core body temperature was measured. "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -3534,6 +4718,7 @@

Method Details

"physicalTime": "A String", # Required. The time of the observation. "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). }, + "temperatureCelsius": 3.14, # Required. The core body temperature in Celsius. }, "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Optional. Data for points in the `daily-heart-rate-variability` daily data type collection. "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. @@ -3660,6 +4845,55 @@

Method Details

}, "millimeters": "A String", # Required. Distance in millimeters over the observed interval. }, + "electrocardiogram": { # Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `electrocardiogram` session data type collection. + "beatsPerMinuteAvg": "A String", # Optional. Average heart rate recorded during ECG reading in beats per minute. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "leadNumber": 42, # Optional. The number of leads used for ECG reading. + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + "millivoltsScalingFactor": 42, # Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor. + "resultClassification": "A String", # Optional. The result classification of the ECG reading. + "samplingFrequencyHertz": 42, # Optional. The sampling frequency of waveform samples in hertz. + "waveformSamples": [ # Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading. + 42, + ], + }, "exercise": { # An exercise that stores information about a physical activity. # Optional. Data for points in the `exercise` session data type collection. "activeDuration": "A String", # Optional. Duration excluding pauses. "createTime": "A String", # Output only. Represents the timestamp of the creation of the exercise. @@ -3841,6 +5075,67 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). }, }, + "food": { # Represents a food item. # Optional. The food details. + "accessLevel": "A String", # Required. The access level of the food. + "brand": "A String", # Optional. The brand of the food. + "defaultServing": { # Represents different properties and information about the serving of a specific food. # Required. Value representing the default serving of the food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + "description": "A String", # Optional. The description of the food. + "displayName": "A String", # Required. The display name of the food. + "energyAvg": { # Represents the energy quantity. # Optional. Value representing the average energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMax": { # Represents the energy quantity. # Optional. Value representing the maximum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyMin": { # Represents the energy quantity. # Optional. Value representing the minimum energy of the food for the default serving. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "languageCode": "A String", # Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code. + "mealType": "A String", # Optional. The meal type associated with this food. + "nutrients": [ # Optional. Value representing the nutrients of the food for the default serving. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "servings": [ # Optional. The serving of the food. + { # Represents different properties and information about the serving of a specific food. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + "foodMeasurementUnitDisplayNamePlural": "A String", # Output only. Legacy measurement unit for serving size in plural form (e.g. "pieces", "grams"). + "multiplier": 3.14, # Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving. + }, + ], + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the food for the default serving. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + "foodMeasurementUnit": { # Represents a food measurement unit. # Optional. The food measurement unit details. + "displayName": "A String", # Required. The display name of the food measurement unit (e.g., "gram", "piece"). + "pluralDisplayName": "A String", # Optional. The plural display name of the food measurement unit (e.g., "grams", "pieces"). + }, "heartRate": { # A heart rate measurement. # Optional. Data for points in the `heart-rate` sample data type collection. "beatsPerMinute": "A String", # Required. The heart rate value in beats per minute. "metadata": { # Heart rate metadata. # Optional. Metadata about the heart rate sample. @@ -3944,7 +5239,170 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). }, }, - "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "irregularRhythmNotification": { # Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review. # Optional. Data for points in the `irregular-rhythm-notification` session data type collection. + "alertWindows": [ # Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm. + { # An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save "inconclusive" windows (they aren't produced by the algorithm). + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the analysis window. + "endUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window ended. + "heartBeats": [ # Optional. All heart beats in the interval contained in this analysis window. + { # A single heart beat measurement. + "beatsPerMinute": 42, # Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval). + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the heart beat measurement. + "utcOffset": "A String", # Required. The UTC offset of the user's timezone when the heart beat measurement occurred. + }, + ], + "positive": True or False, # Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib. + "startTime": "A String", # Required. Observed interval. The start time of the analysis window. + "startUtcOffset": "A String", # Required. The UTC offset of the user's timezone when the analysis window started. + }, + ], + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "medicalDeviceInfo": { # Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI). # Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`. + "algorithmVersion": "A String", # Output only. The algorithm version used by the feature. + "deviceModel": "A String", # Output only. The model name or device type of the compatible device used to collect the data. + "featureVersion": "A String", # Output only. The version of the feature/app running on the device. + "firmwareVersion": "A String", # Output only. The firmware version running on the compatible device used to collect the data. + "serviceVersion": "A String", # Output only. The service version used by the feature. + }, + }, + "name": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "nutritionLog": { # Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable. # Optional. Data for points in the `nutrition-log` session data type collection. + "energy": { # Represents the energy quantity. # Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "food": "A String", # Required. Represents the food ID. + "foodDisplayName": "A String", # Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "mealType": "A String", # Optional. Value representing the meal type of the nutrition log. + "nutrients": [ # Optional. Value representing the nutrients of the nutrition log. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "serving": { # Represents different properties and information about the serving of a specific food. # Optional. Value representing the nutrition log serving. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + }, + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, "oxygenSaturation": { # Captures the user's instantaneous oxygen saturation percentage (SpO2). # Optional. Data for points in the `oxygen-saturation` sample data type collection. "percentage": 3.14, # Required. The oxygen saturation percentage. Valid values are from 0 to 100. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which oxygen saturation was measured. @@ -4335,6 +5793,41 @@

Method Details

{ # Response containing the list of reconciled DataPoints. "dataPoints": [ # Data points matching the query { # A reconciled computed or recorded metric. + "activeEnergyBurned": { # Energy burned as part of an activity, excluding the basal energy burn. # Data for points in the `active-energy-burned` interval data type collection. + "interval": { # Represents a time interval of an observed data point. # Required. Observed interval + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. Observed interval end time. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the observation relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. Observed interval start time. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the observation relative to the Coordinated Universal Time (UTC). + }, + "kcal": 3.14, # Required. Energy burned during an activity, measured in kilocalories. + }, "activeMinutes": { # Record of active minutes in a given time interval. # Data for points in the `active-minutes` interval data type collection. "activeMinutesByActivityLevel": [ # Required. Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes at a given activity level. @@ -4516,6 +6009,31 @@

Method Details

}, "kcal": 3.14, # Required. Number of calories burned due to basal metabolic rate in kilocalories over the observed interval. }, + "bloodGlucose": { # Represents a blood glucose level measurement. LINT: LEGACY_NAMES # Data for points in the `blood-glucose` sample data type collection. + "bloodGlucoseMilligramsPerDeciliter": 3.14, # Required. Blood glucose level concentration in mg/dL. + "mealType": "A String", # Optional. Meal type of the measurement. + "measurementSource": "A String", # Optional. Source of the measurement. + "measurementTiming": "A String", # Optional. Timing of the measurement. + "notes": "A String", # Optional. Standard free-form notes captured at manual logging. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which blood glucose was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "specimen": "A String", # Optional. Type of body fluid used to measure the blood glucose. + }, "bodyFat": { # Body fat measurement. # Data for points in the `body-fat` sample data type collection. "percentage": 3.14, # Required. Body fat percentage, in range [0, 100]. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which body fat was measured. @@ -4536,6 +6054,28 @@

Method Details

"utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). }, }, + "coreBodyTemperature": { # Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs. # Data for points in the `core-body-temperature` sample data type collection. + "id": "A String", # Optional. The unique identifier of the core body temperature measurement. + "measurementLocation": "A String", # Optional. The location of the core body temperature measurement. + "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which core body temperature was measured. + "civilTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. The civil time in the timezone the subject is in at the time of the observation. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "physicalTime": "A String", # Required. The time of the observation. + "utcOffset": "A String", # Required. The offset of the user's local time during the observation relative to the Coordinated Universal Time (UTC). + }, + "temperatureCelsius": 3.14, # Required. The core body temperature in Celsius. + }, "dailyHeartRateVariability": { # Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds` # Data for points in the `daily-heart-rate-variability` daily data type collection. "averageHeartRateVariabilityMilliseconds": 3.14, # Optional. A user's average heart rate variability calculated using the root mean square of successive differences (RMSSD) in times between heartbeats. "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Date (in the user's timezone) of heart rate variability measurement. @@ -4612,7 +6152,7 @@

Method Details

"vo2Max": 3.14, # Required. Daily VO2 max value measured as in ml consumed oxygen / kg of body weight / min. "vo2MaxCovariance": 3.14, # Optional. The covariance of the VO2 max value. }, - "dataPointName": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. + "dataPointName": "A String", # Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens. "distance": { # Distance traveled over an interval of time. # Data for points in the `distance` interval data type collection. "interval": { # Represents a time interval of an observed data point. # Required. Observed interval. "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval @@ -4932,6 +6472,73 @@

Method Details

"startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). }, }, + "nutritionLog": { # Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable. # Data for points in the `nutrition-log` session data type collection. + "energy": { # Represents the energy quantity. # Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "energyFromFat": { # Represents the energy quantity. # Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "kcal": 3.14, # Required. Value representing the energy in kilocalories. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "food": "A String", # Required. Represents the food ID. + "foodDisplayName": "A String", # Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "interval": { # Represents a time interval of session data point, which bundles multiple observed metrics together. # Required. Observed interval. + "civilEndTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session end time in civil time in the timezone the subject is in at the end of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "civilStartTime": { # Civil time representation similar to google.type.DateTime, but ensures that neither the timezone nor the UTC offset can be set to avoid confusion between civil and physical time queries. # Output only. Session start time in civil time in the timezone the subject is in at the start of the session. + "date": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Required. Calendar date. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "time": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. Time of day. Defaults to the start of the day, at midnight if omitted. + "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. + "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. + "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. + }, + }, + "endTime": "A String", # Required. The end time of the observed session. + "endUtcOffset": "A String", # Required. The offset of the user's local time at the end of the session relative to the Coordinated Universal Time (UTC). + "startTime": "A String", # Required. The start time of the observed session. + "startUtcOffset": "A String", # Required. The offset of the user's local time at the start of the session relative to the Coordinated Universal Time (UTC). + }, + "mealType": "A String", # Optional. Value representing the meal type of the nutrition log. + "nutrients": [ # Optional. Value representing the nutrients of the nutrition log. + { # Represents the quantity of a nutrient. + "nutrient": "A String", # Required. Value representing the nutrient. + "quantity": { # Represents the weight quantity. # Required. Value representing the quantity of the nutrient. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, + ], + "serving": { # Represents different properties and information about the serving of a specific food. # Optional. Value representing the nutrition log serving. + "amount": 3.14, # Optional. Amount of food consumed, fractional values are supported. + "foodMeasurementUnit": "A String", # Required. Food measurement unit + "foodMeasurementUnitDisplayName": "A String", # Output only. Legacy measurement unit for serving size in singular form (e.g. "piece", "gram"). + }, + "totalCarbohydrate": { # Represents the weight quantity. # Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + "totalFat": { # Represents the weight quantity. # Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually. + "grams": 3.14, # Required. Value representing the weight in grams. + "userProvidedUnit": "A String", # Optional. Value representing the user provided unit. + }, + }, "oxygenSaturation": { # Captures the user's instantaneous oxygen saturation percentage (SpO2). # Data for points in the `oxygen-saturation` sample data type collection. "percentage": 3.14, # Required. The oxygen saturation percentage. Valid values are from 0 to 100. "sampleTime": { # Represents a sample time of an observed data point. # Required. The time at which oxygen saturation was measured. @@ -5322,6 +6929,9 @@

Method Details

"nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "rollupDataPoints": [ # Values for each aggregation time window. { # Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn. + "activeEnergyBurned": { # Represents the result of the rollup of active energy burned. # Returned by default when rolling up data points from the `active-energy-burned` data type. + "kcalSum": 3.14, # Output only. Sum of the active energy burned in kilocalories. + }, "activeMinutes": { # Represents the result of the rollup of the active minutes data type. # Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier. "activeMinutesRollupByActivityLevel": [ # Active minutes by activity level. At most one record per activity level is allowed. { # Active minutes by activity level. @@ -5346,6 +6956,9 @@

Method Details

"altitude": { # Represents the result of the rollup of the user's altitude. # Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier. "gainMillimetersSum": "A String", # Sum of the altitude gain in millimeters. }, + "bloodGlucose": { # Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES # Returned by default when rolling up data points from the `blood-glucose` data type. + "bloodGlucoseMilligramsPerDeciliterAvg": 3.14, # Average blood glucose level in mg/dL. + }, "bodyFat": { # Represents the result of the rollup of the body fat data type. # Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier. "bodyFatPercentageAvg": 3.14, # Average body fat percentage. }, @@ -5357,6 +6970,11 @@

Method Details

}, ], }, + "coreBodyTemperature": { # Represents the result of the rollup of the core body temperature data type. # Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier. + "temperatureCelsiusAvg": 3.14, # Average core body temperature in Celsius. + "temperatureCelsiusMax": 3.14, # Maximum core body temperature in Celsius. + "temperatureCelsiusMin": 3.14, # Minimum core body temperature in Celsius. + }, "distance": { # Result of the rollup of the user's distance. # Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier. "millimetersSum": "A String", # Sum of the distance in millimeters. }, @@ -5375,6 +6993,33 @@

Method Details

"userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. }, }, + "nutritionLog": { # Represents the result of the rollup of the nutrition log data type. # Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier. + "energy": { # Rollup for the energy quantity. # Energy rollup. + "kcalSum": 3.14, # Required. The sum of the energy in kilocalories. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "energyFromFat": { # Rollup for the energy quantity. # Value Energy from fat rollup. + "kcalSum": 3.14, # Required. The sum of the energy in kilocalories. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "nutrients": [ # List of the nutrient roll-ups by the nutrient type. + { # Nutrient quantity rollup. + "nutrient": "A String", # Required. Aggregated nutrient. + "quantity": { # Rollup for the weight. # Required. Aggregated nutrient weight. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + }, + ], + "totalCarbohydrate": { # Rollup for the weight. # Total carbohydrate rollup. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + "totalFat": { # Rollup for the weight. # Total fat rollup. + "gramsSum": 3.14, # Required. The sum of the weight in grams. + "userProvidedUnitLast": "A String", # Optional. The user provided unit on the last element. + }, + }, "runVo2Max": { # Represents the result of the rollup of the user's daily heart rate variability personal range. # Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier. "rateAvg": 3.14, # Average value of run VO2 max in the interval. "rateMax": 3.14, # Maximum value of run VO2 max in the interval. diff --git a/docs/dyn/health_v4.users.html b/docs/dyn/health_v4.users.html index 5274accf29..f527da29ed 100644 --- a/docs/dyn/health_v4.users.html +++ b/docs/dyn/health_v4.users.html @@ -79,12 +79,20 @@

Instance Methods

Returns the dataTypes Resource.

+

+ pairedDevices() +

+

Returns the pairedDevices Resource.

+

close()

Close httplib2 connections.

getIdentity(name, x__xgafv=None)

Gets the user's identity. It includes the legacy Fitbit user ID and the Google user ID and it can be used by migrating clients to map identifiers between the two systems.

+

+ getIrnProfile(name, x__xgafv=None)

+

Returns user's IRN Profile details.

getProfile(name, x__xgafv=None)

Returns user Profile details.

@@ -124,6 +132,28 @@

Method Details

}
+
+ getIrnProfile(name, x__xgafv=None) +
Returns user's IRN Profile details.
+
+Args:
+  name: string, Required. The resource name of the IRN Profile. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Irregular Rhythm Notifications (IRN) Profile details. The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature.
+  "enrollmentStatus": True or False, # Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts.
+  "name": "A String", # Identifier. The resource name of this IrnProfile resource. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.
+  "onboardingStatus": True or False, # Required. Whether or not the user has onboarded onto the IRN feature.
+  "updateTime": "A String", # Output only. The timestamp of the last piece of analyzable data synced by the user.
+}
+
+
getProfile(name, x__xgafv=None)
Returns user Profile details.
@@ -170,6 +200,7 @@ 

Method Details

{ # Settings details. "autoStrideEnabled": True or False, # Optional. True if the user's stride length is determined automatically. Updates to this field are currently not supported. "distanceUnit": "A String", # Optional. The measurement unit defined in the user's account settings. Updates to this field are currently not supported. + "foodLanguageCode": "A String", # Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported. "glucoseUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "heightUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "languageLocale": "A String", # Optional. The locale defined in the user's account settings. Updates to this field are currently not supported. @@ -244,6 +275,7 @@

Method Details

{ # Settings details. "autoStrideEnabled": True or False, # Optional. True if the user's stride length is determined automatically. Updates to this field are currently not supported. "distanceUnit": "A String", # Optional. The measurement unit defined in the user's account settings. Updates to this field are currently not supported. + "foodLanguageCode": "A String", # Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported. "glucoseUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "heightUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "languageLocale": "A String", # Optional. The locale defined in the user's account settings. Updates to this field are currently not supported. @@ -270,6 +302,7 @@

Method Details

{ # Settings details. "autoStrideEnabled": True or False, # Optional. True if the user's stride length is determined automatically. Updates to this field are currently not supported. "distanceUnit": "A String", # Optional. The measurement unit defined in the user's account settings. Updates to this field are currently not supported. + "foodLanguageCode": "A String", # Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported. "glucoseUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "heightUnit": "A String", # Optional. The measurement unit defined in the user's account settings. "languageLocale": "A String", # Optional. The locale defined in the user's account settings. Updates to this field are currently not supported. diff --git a/docs/dyn/health_v4.users.pairedDevices.html b/docs/dyn/health_v4.users.pairedDevices.html new file mode 100644 index 0000000000..edebdda7cd --- /dev/null +++ b/docs/dyn/health_v4.users.pairedDevices.html @@ -0,0 +1,172 @@ + + + +

Google Health API . users . pairedDevices

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Returns user's Device.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Returns the user's list of paired 1P trackers and smartwatches.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(name, x__xgafv=None) +
Returns user's Device.
+
+Args:
+  name: string, Required. The name of the device to retrieve. Format: users/{user}/devices/{device} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.
+  "batteryLevel": 42, # Output only. The battery level of the device.
+  "batteryStatus": "A String", # Output only. The battery status of the device. Supported: High | Medium | Low | Empty
+  "deviceType": "A String", # Output only. The device type. Supported: TRACKER | SCALE
+  "deviceVersion": "A String", # Output only. The product name of the device
+  "features": [ # Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support.
+    "A String",
+  ],
+  "lastSyncTime": "A String", # Output only. The time of last sync with the Fitbit mobile application.
+  "macAddress": "A String", # Output only. Mac ID number of the device.
+  "name": "A String", # Identifier. The resource name of this Device resource. Format: `users/{user}/pairedDevices/{paired_device}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123`
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Returns the user's list of paired 1P trackers and smartwatches.
+
+Args:
+  parent: string, Required. The parent, which owns this collection of devices. Format: users/{user} (required)
+  pageSize: integer, Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100.
+  pageToken: string, Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token.
+  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 ListPairedDevices.
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+  "pairedDevices": [ # The paired devices of the user.
+    { # User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.
+      "batteryLevel": 42, # Output only. The battery level of the device.
+      "batteryStatus": "A String", # Output only. The battery status of the device. Supported: High | Medium | Low | Empty
+      "deviceType": "A String", # Output only. The device type. Supported: TRACKER | SCALE
+      "deviceVersion": "A String", # Output only. The product name of the device
+      "features": [ # Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support.
+        "A String",
+      ],
+      "lastSyncTime": "A String", # Output only. The time of last sync with the Fitbit mobile application.
+      "macAddress": "A String", # Output only. Mac ID number of the device.
+      "name": "A String", # Identifier. The resource name of this Device resource. Format: `users/{user}/pairedDevices/{paired_device}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123`
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html index 38850112a9..035165033e 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.dicomStores.html @@ -265,6 +265,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -296,6 +304,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -365,6 +381,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html index c55bd59989..8b3bb39961 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.fhirStores.html @@ -475,6 +475,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -506,6 +514,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -575,6 +591,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -765,6 +789,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -796,6 +828,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -865,6 +905,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -992,6 +1040,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1023,6 +1079,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1092,6 +1156,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1489,6 +1561,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1520,6 +1600,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1589,6 +1677,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1956,6 +2052,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -1987,6 +2091,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2056,6 +2168,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2264,6 +2384,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2295,6 +2423,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2364,6 +2500,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2554,6 +2698,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2585,6 +2737,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -2654,6 +2814,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], diff --git a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html index b5d1ef4589..b934752f20 100644 --- a/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html +++ b/docs/dyn/healthcare_v1beta1.projects.locations.datasets.html @@ -224,6 +224,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -255,6 +263,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], @@ -324,6 +340,14 @@

Method Details

"additionalInfoTypes": [ # Additional InfoTypes to redact in the images in addition to those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT`, `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS` or `TEXT_REDACTION_MODE_UNSPECIFIED`. "A String", ], + "customRegexes": [ # Optional. Custom regex patterns to redact from the image. + { # Defines a custom regular expression pattern to detect and redact in the image. + "groupIndexes": [ # Optional. The capturing group indexes to redact. skip_request_analyics: true + 42, + ], + "pattern": "A String", # Optional. The regular expression pattern to match. + }, + ], "excludeInfoTypes": [ # InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`. "A String", ], diff --git a/docs/dyn/homegraph_v1.devices.html b/docs/dyn/homegraph_v1.devices.html index f2af8cf914..fb4b9e5cf9 100644 --- a/docs/dyn/homegraph_v1.devices.html +++ b/docs/dyn/homegraph_v1.devices.html @@ -187,7 +187,7 @@

Method Details

"componentId": "A String", # Required. ID of the component from the device provider. "traitData": [ # Required. The updated trait data for the component. { # Contains the trait payload for a single trait. - "trait": { # Optional. The Home API trait payload. + "trait": { # The Provider Home API trait payload. "a_key": "", # Properties of the object. Contains field @type with type URL. }, }, diff --git a/docs/dyn/index.md b/docs/dyn/index.md index 825c43c927..4780a11922 100644 --- a/docs/dyn/index.md +++ b/docs/dyn/index.md @@ -73,10 +73,6 @@ * [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/alloydb_v1beta.html) -## analytics -* [v3](http://googleapis.github.io/google-api-python-client/docs/dyn/analytics_v3.html) - - ## analyticsadmin * [v1alpha](http://googleapis.github.io/google-api-python-client/docs/dyn/analyticsadmin_v1alpha.html) * [v1beta](http://googleapis.github.io/google-api-python-client/docs/dyn/analyticsadmin_v1beta.html) @@ -1381,6 +1377,10 @@ * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/walletobjects_v1.html) +## webcontentpublisher +* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/webcontentpublisher_v1.html) + + ## webfonts * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/webfonts_v1.html) diff --git a/docs/dyn/logging_v2.billingAccounts.locations.recentQueries.html b/docs/dyn/logging_v2.billingAccounts.locations.recentQueries.html index a9e0dfc0c4..a78d518a32 100644 --- a/docs/dyn/logging_v2.billingAccounts.locations.recentQueries.html +++ b/docs/dyn/logging_v2.billingAccounts.locations.recentQueries.html @@ -144,6 +144,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -172,6 +178,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -193,6 +205,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -222,6 +240,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.billingAccounts.locations.savedQueries.html b/docs/dyn/logging_v2.billingAccounts.locations.savedQueries.html index 6dcb91fb85..c7038a5476 100644 --- a/docs/dyn/logging_v2.billingAccounts.locations.savedQueries.html +++ b/docs/dyn/logging_v2.billingAccounts.locations.savedQueries.html @@ -147,6 +147,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -175,6 +181,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -196,6 +208,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -225,6 +243,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -287,6 +311,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -315,6 +345,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -336,6 +372,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -365,6 +407,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -451,6 +499,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -479,6 +533,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -500,6 +560,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -529,6 +595,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -603,6 +675,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -631,6 +709,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -652,6 +736,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -681,6 +771,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -763,6 +859,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -791,6 +893,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -812,6 +920,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -841,6 +955,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -903,6 +1023,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -931,6 +1057,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -952,6 +1084,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -981,6 +1119,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.folders.locations.recentQueries.html b/docs/dyn/logging_v2.folders.locations.recentQueries.html index df6caf2a9a..f08addeb6c 100644 --- a/docs/dyn/logging_v2.folders.locations.recentQueries.html +++ b/docs/dyn/logging_v2.folders.locations.recentQueries.html @@ -144,6 +144,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -172,6 +178,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -193,6 +205,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -222,6 +240,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.folders.locations.savedQueries.html b/docs/dyn/logging_v2.folders.locations.savedQueries.html index e41d81ddb3..88b15cb44e 100644 --- a/docs/dyn/logging_v2.folders.locations.savedQueries.html +++ b/docs/dyn/logging_v2.folders.locations.savedQueries.html @@ -147,6 +147,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -175,6 +181,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -196,6 +208,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -225,6 +243,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -287,6 +311,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -315,6 +345,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -336,6 +372,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -365,6 +407,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -451,6 +499,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -479,6 +533,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -500,6 +560,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -529,6 +595,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -603,6 +675,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -631,6 +709,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -652,6 +736,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -681,6 +771,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -763,6 +859,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -791,6 +893,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -812,6 +920,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -841,6 +955,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -903,6 +1023,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -931,6 +1057,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -952,6 +1084,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -981,6 +1119,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.organizations.locations.recentQueries.html b/docs/dyn/logging_v2.organizations.locations.recentQueries.html index e6fe4c202d..53d7475ca9 100644 --- a/docs/dyn/logging_v2.organizations.locations.recentQueries.html +++ b/docs/dyn/logging_v2.organizations.locations.recentQueries.html @@ -144,6 +144,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -172,6 +178,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -193,6 +205,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -222,6 +240,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.organizations.locations.savedQueries.html b/docs/dyn/logging_v2.organizations.locations.savedQueries.html index e5f8cffa81..a584585bed 100644 --- a/docs/dyn/logging_v2.organizations.locations.savedQueries.html +++ b/docs/dyn/logging_v2.organizations.locations.savedQueries.html @@ -147,6 +147,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -175,6 +181,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -196,6 +208,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -225,6 +243,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -287,6 +311,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -315,6 +345,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -336,6 +372,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -365,6 +407,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -451,6 +499,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -479,6 +533,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -500,6 +560,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -529,6 +595,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -603,6 +675,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -631,6 +709,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -652,6 +736,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -681,6 +771,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -763,6 +859,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -791,6 +893,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -812,6 +920,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -841,6 +955,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -903,6 +1023,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -931,6 +1057,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -952,6 +1084,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -981,6 +1119,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.projects.locations.recentQueries.html b/docs/dyn/logging_v2.projects.locations.recentQueries.html index e1ff2394f9..06116fa47c 100644 --- a/docs/dyn/logging_v2.projects.locations.recentQueries.html +++ b/docs/dyn/logging_v2.projects.locations.recentQueries.html @@ -144,6 +144,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -172,6 +178,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -193,6 +205,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -222,6 +240,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/logging_v2.projects.locations.savedQueries.html b/docs/dyn/logging_v2.projects.locations.savedQueries.html index 55af6a88ab..3ee71b95c1 100644 --- a/docs/dyn/logging_v2.projects.locations.savedQueries.html +++ b/docs/dyn/logging_v2.projects.locations.savedQueries.html @@ -147,6 +147,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -175,6 +181,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -196,6 +208,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -225,6 +243,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -287,6 +311,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -315,6 +345,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -336,6 +372,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -365,6 +407,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -451,6 +499,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -479,6 +533,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -500,6 +560,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -529,6 +595,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -603,6 +675,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -631,6 +709,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -652,6 +736,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -681,6 +771,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -763,6 +859,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -791,6 +893,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -812,6 +920,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -841,6 +955,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. @@ -903,6 +1023,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, ], @@ -931,6 +1057,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "fieldSourceValue": { # A source that can be used to represent a "field of data" within various parts of a structured query, such as in SELECT, WHERE, or ORDER BY clauses. The term "field of data" is used here because it is not limited to literal fields in the underlying data schema. # The field. This will be the field that is set as the Right Hand Side of the filter. @@ -952,6 +1084,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "isNegation": True or False, # Determines if the NOT flag should be added to the comparator. @@ -981,6 +1119,12 @@

Method Details

"type": "A String", # Required. Specifies the aggregation function. Use one of the following string identifiers: "average": Computes the average (AVG). Applies only to numeric values. "count": Counts the number of values (COUNT). "count-distinct": Counts the number of distinct values (COUNT DISTINCT). "count-distinct-approx": Approximates the count of distinct values (APPROX_COUNT_DISTINCT). "max": Finds the maximum value (MAX). Applies only to numeric values. "min": Finds the minimum value (MIN). Applies only to numeric values. "sum": Computes the sum (SUM). Applies only to numeric values. }, "truncationGranularity": "A String", # The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. + "virtualField": { # A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. # Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + "underlyingFieldSources": [ # The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + # Object with schema name: FieldSource + ], + "virtualFieldType": "A String", # Required. The type of the virtual field. + }, }, }, "sortOrderDirection": "A String", # The sort order to use for the query. diff --git a/docs/dyn/memcache_v1.projects.locations.html b/docs/dyn/memcache_v1.projects.locations.html index bbd4ebd39b..680e6a02ea 100644 --- a/docs/dyn/memcache_v1.projects.locations.html +++ b/docs/dyn/memcache_v1.projects.locations.html @@ -92,7 +92,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/memcache_v1beta2.projects.locations.html b/docs/dyn/memcache_v1beta2.projects.locations.html
index f143be4f7d..f9a7233bc5 100644
--- a/docs/dyn/memcache_v1beta2.projects.locations.html
+++ b/docs/dyn/memcache_v1beta2.projects.locations.html
@@ -92,7 +92,7 @@ 

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/merchantapi_products_v1.accounts.productInputs.html b/docs/dyn/merchantapi_products_v1.accounts.productInputs.html
index 0019b0e25d..29990829ab 100644
--- a/docs/dyn/merchantapi_products_v1.accounts.productInputs.html
+++ b/docs/dyn/merchantapi_products_v1.accounts.productInputs.html
@@ -233,6 +233,9 @@ 

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -303,6 +306,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -376,6 +380,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -412,6 +417,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -518,6 +536,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -671,6 +695,9 @@

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -741,6 +768,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -814,6 +842,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -850,6 +879,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -956,6 +998,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -1110,6 +1158,9 @@

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -1180,6 +1231,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -1253,6 +1305,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -1289,6 +1342,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -1395,6 +1461,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -1549,6 +1621,9 @@

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -1619,6 +1694,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -1692,6 +1768,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -1728,6 +1805,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -1834,6 +1924,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). diff --git a/docs/dyn/merchantapi_products_v1.accounts.products.html b/docs/dyn/merchantapi_products_v1.accounts.products.html index 6104f57056..a6f43a119a 100644 --- a/docs/dyn/merchantapi_products_v1.accounts.products.html +++ b/docs/dyn/merchantapi_products_v1.accounts.products.html @@ -233,6 +233,9 @@

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -303,6 +306,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -376,6 +380,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -412,6 +417,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -518,6 +536,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -730,6 +754,9 @@

Method Details

], "displayAdsTitle": "A String", # Title of an item for dynamic remarketing campaigns. "displayAdsValue": 3.14, # Offer margin for dynamic remarketing campaigns. For more information, see [Display ads attribute](https://support.google.com/merchants/answer/6069387). + "documentLinks": [ # Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with "http://" or "https://"), ASCII characters only, and RFC 3986 compliant. + "A String", + ], "electricRange": { # The mileage of the vehicle. # The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms. "unit": "A String", # The unit of the mileage. "value": "A String", # The distance value. @@ -800,6 +827,7 @@

Method Details

}, "isBundle": True or False, # Whether the item is a business-defined sub-API. A [sub-API] (https://support.google.com/merchants/answer/6324449) is a custom grouping of different products sold by a business for a single price. "itemGroupId": "A String", # Shared identifier for all variants of the same product. + "itemGroupTitle": "A String", # Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently. "lifestyleImageLinks": [ # Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information. "A String", ], @@ -873,6 +901,7 @@

Method Details

}, "pickupMethod": "A String", # The [pickup](https://support.google.com/merchants/answer/14634021) option for the item. "pickupSla": "A String", # Item store pickup timeline. For more information, see [Pickup SLA](https://support.google.com/merchants/answer/14635400). + "popularityRank": 3.14, # Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest). "price": { # The price represented as a number and currency. # Price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). @@ -909,6 +938,19 @@

Method Details

"promotionIds": [ # The unique ID of a promotion. "A String", ], + "questionsAndAnswers": [ # Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + { # The question and answer for the product. + "answer": "A String", # Required. The answer text. + "question": "A String", # Required. The question text. + }, + ], + "relatedProducts": [ # Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product. + { # Specifies how other products are related to this product. + "id": "A String", # Required. The identifier of the related product. + "idType": "A String", # Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405). + "relationshipType": "A String", # Required. The type of the relationship between this product and the related product. + }, + ], "returnPolicyLabel": "A String", # The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425). "salePrice": { # The price represented as a number and currency. # Advertised sale price of the item. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). @@ -1015,6 +1057,12 @@

Method Details

"unit": "A String", # The unit of the measure. "value": 3.14, # The measure of an item. }, + "variantOptions": [ # Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product. + { # Additional product variants for the product. + "name": "A String", # Required. The name of the variant. For example, "Color", "Memory", "Size", "Length" + "value": "A String", # Required. The value of the variant. For example, "Red", "128GB", "XL", "100cm" + }, + ], "vehicleAllInPrice": { # The price represented as a number and currency. # The all-in advertised price for a vehicle, which includes costs for the following – any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information. "amountMicros": "A String", # The price represented as a number in micros (1 million micros is an equivalent to one's currency standard unit, for example, 1 USD = 1000000 micros). "currencyCode": "A String", # The currency of the price using three-letter acronyms according to [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217). diff --git a/docs/dyn/mybusinessverifications_v1.verificationTokens.html b/docs/dyn/mybusinessverifications_v1.verificationTokens.html index 243615dbf0..5968aca03a 100644 --- a/docs/dyn/mybusinessverifications_v1.verificationTokens.html +++ b/docs/dyn/mybusinessverifications_v1.verificationTokens.html @@ -95,26 +95,6 @@

Method Details

The object takes the form of: { # Request message for Verifications.GenerateInstantVerificationToken. - "locationData": { # The address and other details of the location to generate an instant verification token for. # Immutable. The address and other details of the location to generate an instant verification token for. - "address": { # Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478. # Immutable. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. - "addressLines": [ # Unstructured address lines describing the lower levels of an address. Because values in `address_lines` do not have type information and may sometimes contain multiple values in a single field (for example, "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country or region of the address. In places where this can vary (for example, Japan), `address_language` is used to make it explicit (for example, "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). In this way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a `region_code` with all remaining information placed in the `address_lines`. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a `region_code` and `address_lines` and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). - "A String", - ], - "administrativeArea": "A String", # Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. For Spain, this is the province and not the autonomous community (for example, "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example, in Switzerland, this should be left unpopulated. - "languageCode": "A String", # Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: "zh-Hant", "ja", "ja-Latn", "en". - "locality": "A String", # Optional. Generally refers to the city or town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave `locality` empty and use `address_lines`. - "organization": "A String", # Optional. The name of the organization at the address. - "postalCode": "A String", # Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (for example, state or zip code validation in the United States). - "recipients": [ # Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain "care of" information. - "A String", - ], - "regionCode": "A String", # Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: "CH" for Switzerland. - "revision": 42, # The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions. - "sortingCode": "A String", # Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (for example, "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (Côte d'Ivoire). - "sublocality": "A String", # Optional. Sublocality of the address. For example, this can be a neighborhood, borough, or district. - }, - "name": "A String", # Immutable. Name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer "Google" over "Google Inc. - Mountain View Corporate Headquarters"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, "Chase ATM in Duane Reade"). - }, "locationId": "A String", # The location identifier associated with an unverified listing. This is the location id generated at the time that the listing was originally created. It is the final portion of a location resource name as generated by the Google My Business API. Note: the caller must be an owner or manager of this listing in order to generate a verification token. See the [location resource](/my-business/reference/rest/v4/accounts.locations) documentation for more information. } diff --git a/docs/dyn/netapp_v1.projects.locations.backupVaults.backups.html b/docs/dyn/netapp_v1.projects.locations.backupVaults.backups.html index f30b014479..42105d155d 100644 --- a/docs/dyn/netapp_v1.projects.locations.backupVaults.backups.html +++ b/docs/dyn/netapp_v1.projects.locations.backupVaults.backups.html @@ -121,6 +121,11 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + "ontapSource": { # Represents ONTAP source details. # Optional. Represents source details for ONTAP backups. Either source_volume or ontap_source should be provided. + "snapshotUuid": "A String", # Optional. The UUID of the ONTAP source snapshot. + "storagePool": "A String", # Required. Name of the storage pool. This must be specified for creating backups for ONTAP mode volumes. Format: `projects/{projects_id}/locations/{location}/storagePools/{storage_pool_id}` + "volumeUuid": "A String", # Required. The UUID of the ONTAP source volume. + }, "satisfiesPzi": True or False, # Output only. Reserved for future use "satisfiesPzs": True or False, # Output only. Reserved for future use "sourceSnapshot": "A String", # If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` @@ -220,6 +225,11 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + "ontapSource": { # Represents ONTAP source details. # Optional. Represents source details for ONTAP backups. Either source_volume or ontap_source should be provided. + "snapshotUuid": "A String", # Optional. The UUID of the ONTAP source snapshot. + "storagePool": "A String", # Required. Name of the storage pool. This must be specified for creating backups for ONTAP mode volumes. Format: `projects/{projects_id}/locations/{location}/storagePools/{storage_pool_id}` + "volumeUuid": "A String", # Required. The UUID of the ONTAP source volume. + }, "satisfiesPzi": True or False, # Output only. Reserved for future use "satisfiesPzs": True or False, # Output only. Reserved for future use "sourceSnapshot": "A String", # If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` @@ -261,6 +271,11 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + "ontapSource": { # Represents ONTAP source details. # Optional. Represents source details for ONTAP backups. Either source_volume or ontap_source should be provided. + "snapshotUuid": "A String", # Optional. The UUID of the ONTAP source snapshot. + "storagePool": "A String", # Required. Name of the storage pool. This must be specified for creating backups for ONTAP mode volumes. Format: `projects/{projects_id}/locations/{location}/storagePools/{storage_pool_id}` + "volumeUuid": "A String", # Required. The UUID of the ONTAP source volume. + }, "satisfiesPzi": True or False, # Output only. Reserved for future use "satisfiesPzs": True or False, # Output only. Reserved for future use "sourceSnapshot": "A String", # If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` @@ -311,6 +326,11 @@

Method Details

"a_key": "A String", }, "name": "A String", # Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + "ontapSource": { # Represents ONTAP source details. # Optional. Represents source details for ONTAP backups. Either source_volume or ontap_source should be provided. + "snapshotUuid": "A String", # Optional. The UUID of the ONTAP source snapshot. + "storagePool": "A String", # Required. Name of the storage pool. This must be specified for creating backups for ONTAP mode volumes. Format: `projects/{projects_id}/locations/{location}/storagePools/{storage_pool_id}` + "volumeUuid": "A String", # Required. The UUID of the ONTAP source volume. + }, "satisfiesPzi": True or False, # Output only. Reserved for future use "satisfiesPzs": True or False, # Output only. Reserved for future use "sourceSnapshot": "A String", # If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` diff --git a/docs/dyn/netapp_v1.projects.locations.storagePools.backupConfigs.html b/docs/dyn/netapp_v1.projects.locations.storagePools.backupConfigs.html new file mode 100644 index 0000000000..0dd524d7c4 --- /dev/null +++ b/docs/dyn/netapp_v1.projects.locations.storagePools.backupConfigs.html @@ -0,0 +1,145 @@ + + + +

NetApp API . projects . locations . storagePools . backupConfigs

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists backup configurations for all volumes in an ONTAP-mode Storage Pool.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists backup configurations for all volumes in an ONTAP-mode Storage Pool.
+
+Args:
+  parent: string, Required. The ONTAP StoragePool for which to retrieve backup configuration information, in the format `projects/{project}/locations/{location}/storagePools/{storage_pool}`. (required)
+  filter: string, Optional. The standard list filter.
+  orderBy: string, Optional. Sort results. Supported values are "volume_id" or ""
+  pageSize: integer, Optional. The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified or set to 0, a default of 50 will be used.
+  pageToken: string, Optional. The next_page_token value to use if there are additional results to retrieve for this list request.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing BackupConfigs in an ONTAP StoragePool.
+  "nextPageToken": "A String", # The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+  "volumeBackupConfigs": [ # A list of backup configurations for volumes in the pool.
+    { # Backup configuration for a volume in a pool.
+      "backupConfig": { # BackupConfig contains backup related config on a volume. # Backup configuration for the volume.
+        "backupChainBytes": "A String", # Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).
+        "backupPolicies": [ # Optional. When specified, schedule backups will be created based on the policy configuration.
+          "A String",
+        ],
+        "backupVault": "A String", # Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}
+        "scheduledBackupEnabled": True or False, # Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.
+      },
+      "volumeUuid": "A String", # Provides the Ontap UUID of the volume within the pool.
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/netapp_v1.projects.locations.storagePools.html b/docs/dyn/netapp_v1.projects.locations.storagePools.html index 5ebbee9605..ebfac2ff1f 100644 --- a/docs/dyn/netapp_v1.projects.locations.storagePools.html +++ b/docs/dyn/netapp_v1.projects.locations.storagePools.html @@ -74,6 +74,11 @@

NetApp API . projects . locations . storagePools

Instance Methods

+

+ backupConfigs() +

+

Returns the backupConfigs Resource.

+

ontap()

@@ -100,9 +105,15 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the storage pool properties with the full spec

+

+ restoreVolume(name, body=None, x__xgafv=None)

+

Restores a backup to an ONTAP-mode volume.

switch(name, body=None, x__xgafv=None)

This operation will switch the active/replica zone for a regional storagePool.

+

+ updateBackupConfig(name, body=None, x__xgafv=None)

+

Updates the backup configuration for an ONTAP-mode volume.

validateDirectoryService(name, body=None, x__xgafv=None)

ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool.

@@ -437,6 +448,57 @@

Method Details

}
+
+ restoreVolume(name, body=None, x__xgafv=None) +
Restores a backup to an ONTAP-mode volume.
+
+Args:
+  name: string, Required. The resource name of the ONTAP mode storage pool, in the format of `projects/{project}/locations/{location}/storagePools/{storage_pool}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `RestoreVolume` API.
+  "backupSource": { # Represents the backup source of the restore operation. # The backup source of the restore operation.
+    "backup": "A String", # Required. The backup resource name.
+    "fileList": [ # Optional. List of files to be restored in the form of their absolute path as in source volume. If provided, only these files will be restored. If not provided, the entire backup will be restored (Full Backup Restore)
+      "A String",
+    ],
+  },
+  "ontapVolumeTarget": { # Represents the ONTAP volume target of the restore operation. # The ONTAP volume target of the restore operation.
+    "restoreDestinationPath": "A String", # Optional. Absolute directory path in the destination volume.
+    "volumeUuid": "A String", # Required. The UUID of the ONTAP volume to restore to.
+  },
+}
+
+  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.
+  },
+}
+
+
switch(name, body=None, x__xgafv=None)
This operation will switch the active/replica zone for a regional storagePool.
@@ -478,6 +540,57 @@ 

Method Details

}
+
+ updateBackupConfig(name, body=None, x__xgafv=None) +
Updates the backup configuration for an ONTAP-mode volume.
+
+Args:
+  name: string, Required. The resource name of the StoragePool, in the format: projects/{projectNumber}/locations/{locationId}/storagePools/{poolId} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UpdateBackupConfig
+  "backupConfig": { # BackupConfig contains backup related config on a volume. # Required. Backup configuration to apply.
+    "backupChainBytes": "A String", # Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).
+    "backupPolicies": [ # Optional. When specified, schedule backups will be created based on the policy configuration.
+      "A String",
+    ],
+    "backupVault": "A String", # Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}
+    "scheduledBackupEnabled": True or False, # Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.
+  },
+  "updateMask": "A String", # Required. Field mask is used to specify the fields to be overwritten in the BackupConfig for the Volume. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.
+  "volumeUuid": "A String", # Required. The UUID of the ONTAP-mode volume.
+}
+
+  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.
+  },
+}
+
+
validateDirectoryService(name, body=None, x__xgafv=None)
ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool.
diff --git a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
index a9d56ad915..cd9b27457b 100644
--- a/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
+++ b/docs/dyn/networkconnectivity_v1alpha1.projects.locations.internalRanges.html
@@ -145,6 +145,7 @@ 

Method Details

], "peering": "A String", # Optional. The type of peering set for this internal range. "prefixLength": 42, # Optional. An alternative to ip_cidr_range. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter. + "rangeStatus": "A String", # Output only. Status of the Internal Range. "targetCidrRange": [ # Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used to target the search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. "A String", ], @@ -262,6 +263,7 @@

Method Details

], "peering": "A String", # Optional. The type of peering set for this internal range. "prefixLength": 42, # Optional. An alternative to ip_cidr_range. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter. + "rangeStatus": "A String", # Output only. Status of the Internal Range. "targetCidrRange": [ # Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used to target the search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. "A String", ], @@ -367,6 +369,7 @@

Method Details

], "peering": "A String", # Optional. The type of peering set for this internal range. "prefixLength": 42, # Optional. An alternative to ip_cidr_range. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter. + "rangeStatus": "A String", # Output only. Status of the Internal Range. "targetCidrRange": [ # Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used to target the search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. "A String", ], @@ -433,6 +436,7 @@

Method Details

], "peering": "A String", # Optional. The type of peering set for this internal range. "prefixLength": 42, # Optional. An alternative to ip_cidr_range. Can be set when trying to create an IPv4 reservation that automatically finds a free range of the given size. If both ip_cidr_range and prefix_length are set, there is an error if the range sizes do not match. Can also be used during updates to change the range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as well, and both fields must match. In other words, with IPv6 this field only works as a redundant parameter. + "rangeStatus": "A String", # Output only. Status of the Internal Range. "targetCidrRange": [ # Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks, the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used to target the search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC. "A String", ], diff --git a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html index 4121bc36b5..993d75db53 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html @@ -133,6 +133,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -264,6 +265,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -625,6 +631,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -944,6 +955,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -1058,6 +1070,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -1189,6 +1202,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -1550,6 +1568,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -1869,6 +1892,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -1974,6 +1998,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -2105,6 +2130,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -2466,6 +2496,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -2785,6 +2820,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -2849,6 +2885,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} @@ -2980,6 +3017,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -3341,6 +3383,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -3660,6 +3707,7 @@

Method Details

"cloudFunction": { # Wrapper for Cloud Function attributes. # A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. "uri": "A String", # A [Cloud Function](https://cloud.google.com/functions) name. }, + "cloudRunJob": "A String", # A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job} "cloudRunRevision": { # Wrapper for Cloud Run revision attributes. # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. "serviceUri": "A String", # Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project}/locations/{location}/services/{service} "uri": "A String", # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision} diff --git a/docs/dyn/networkmanagement_v1.projects.locations.html b/docs/dyn/networkmanagement_v1.projects.locations.html index 3a7f4cfad7..c3c8b0ca12 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.html @@ -79,6 +79,11 @@

Instance Methods

Returns the global_ Resource.

+

+ networkMonitoringProviders() +

+

Returns the networkMonitoringProviders Resource.

+

vpcFlowLogsConfigs()

diff --git a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.html b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.html index 24508b7fbc..686a1aa1d6 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.html @@ -96,8 +96,14 @@

Instance Methods

create(parent, body=None, networkMonitoringProviderId=None, x__xgafv=None)

Creates a NetworkMonitoringProvider resource.

- delete(name, x__xgafv=None)

+ delete(name, force=None, x__xgafv=None)

Deletes a NetworkMonitoringProvider resource and all of its child resources.

+

+ generateMonitoringPointConfig(name, privateConnectivityEnabled=None, x__xgafv=None)

+

Generates Monitoring Point configuration of a NetworkMonitoringProvider resource.

+

+ generateProviderAccessToken(name, gcpAccessToken=None, x__xgafv=None)

+

Generates a provider access token for a given Google access token. Provider access token is a short-lived token that is used to access resources in the provider's platform.

get(name, x__xgafv=None)

Gets the NetworkMonitoringProvider resource.

@@ -165,11 +171,12 @@

Method Details

- delete(name, x__xgafv=None) + delete(name, force=None, x__xgafv=None)
Deletes a NetworkMonitoringProvider resource and all of its child resources.
 
 Args:
   name: string, Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider} (required)
+  force: boolean, Optional. If set to true, any nested MonitoringPoints, NetworkPaths and WebPaths resources from this NetworkMonitoringProvider will also be deleted. Otherwise, the request will only work if there are no nested resources.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -199,6 +206,48 @@ 

Method Details

}
+
+ generateMonitoringPointConfig(name, privateConnectivityEnabled=None, x__xgafv=None) +
Generates Monitoring Point configuration of a NetworkMonitoringProvider resource.
+
+Args:
+  name: string, Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider} (required)
+  privateConnectivityEnabled: boolean, Optional. For Google Cloud MPs, this field indicates whether the Monitoring Point is deployed in a Private Service Connect deployment. Not used for non-Google Cloud MPs.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response for getting Monitoring Point configuration of a NetworkMonitoringProvider resource.
+  "config": { # The Monitoring Point configuration of the provider in JSON format.
+    "a_key": "", # Properties of the object.
+  },
+}
+
+ +
+ generateProviderAccessToken(name, gcpAccessToken=None, x__xgafv=None) +
Generates a provider access token for a given Google access token. Provider access token is a short-lived token that is used to access resources in the provider's platform.
+
+Args:
+  name: string, Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider} (required)
+  gcpAccessToken: string, Required. Google access token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response for generating an access token for a NetworkMonitoringProvider resource.
+  "providerAccessToken": "A String", # Provider access token for the NetworkMonitoringProvider resource.
+}
+
+
get(name, x__xgafv=None)
Gets the NetworkMonitoringProvider resource.
diff --git a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.monitoringPoints.html b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.monitoringPoints.html
index dde84031dc..92c220c9af 100644
--- a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.monitoringPoints.html
+++ b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.monitoringPoints.html
@@ -77,6 +77,15 @@ 

Instance Methods

close()

Close httplib2 connections.

+

+ downloadInstallScript(parent, hostname=None, monitoringPointType=None, ntpServerAddress=None, ntpServerSecondaryAddress=None, privateConnectivityEnabled=None, staticIpAddress_dnsServerAddress=None, staticIpAddress_dnsServerSecondaryAddress=None, staticIpAddress_domain=None, staticIpAddress_gatewayAddress=None, staticIpAddress_ipAddress=None, staticIpAddress_netmask=None, timeZone_id=None, timeZone_version=None, useDhcp=None, x__xgafv=None, x_password=None)

+

Downloads an install script for MonitoringPoints for a given network monitoring provider.

+

+ downloadRecreateInstallScript(name, hostname=None, x__xgafv=None)

+

Downloads an install script for a specific Container MonitoringPoint.

+

+ downloadServerConnectConfig(parent, x__xgafv=None)

+

Downloads the server connect configuration for a given network monitoring provider.

get(name, x__xgafv=None)

Gets the MonitoringPoint resource.

@@ -92,6 +101,105 @@

Method Details

Close httplib2 connections.
+
+ downloadInstallScript(parent, hostname=None, monitoringPointType=None, ntpServerAddress=None, ntpServerSecondaryAddress=None, privateConnectivityEnabled=None, staticIpAddress_dnsServerAddress=None, staticIpAddress_dnsServerSecondaryAddress=None, staticIpAddress_domain=None, staticIpAddress_gatewayAddress=None, staticIpAddress_ipAddress=None, staticIpAddress_netmask=None, timeZone_id=None, timeZone_version=None, useDhcp=None, x__xgafv=None, x_password=None) +
Downloads an install script for MonitoringPoints for a given network monitoring provider.
+
+Args:
+  parent: string, Required. Parent value for DownloadInstallScriptRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider} (required)
+  hostname: string, Required. The hostname of the MonitoringPoint, e.g. "test-vm"
+  monitoringPointType: string, Required. The type of the monitoring point.
+    Allowed values
+      MONITORING_POINT_TYPE_UNSPECIFIED - This value should not be used.
+      CONTAINER - Monitoring Point that runs in a Docker container.
+      KVM - Monitoring Point that runs in a Kernel-based Virtual Machine (KVM) hypervisor.
+      VMWARE - Monitoring Point that runs in a VMware hypervisor.
+      HELM - Monitoring Point that runs on a K8S Helm.
+      GCE_VM - Monitoring Point that runs as a startup script in a Compute Engine VM.
+      AZURE_VM - Monitoring Point that runs as a startup script in an Azure VM.
+  ntpServerAddress: string, Optional. Network Time Protocol a user can configure. If the user omits the field, the default is either NTP servers provided in the DHCP lease or a set of well-known NTP servers pre-configured on the monitoring point. This field can be an IP address or FQDN.
+  ntpServerSecondaryAddress: string, Optional. Second NTP server.
+  privateConnectivityEnabled: boolean, Optional. For Google Cloud MPs, this field indicates whether the Monitoring Point is deployed in a Private Service Connect deployment. Not used for non-Google Cloud MPs.
+  staticIpAddress_dnsServerAddress: string, Required. DNS server.
+  staticIpAddress_dnsServerSecondaryAddress: string, Optional. Second DNS server.
+  staticIpAddress_domain: string, Optional. Domain name of the MonitoringPoint.
+  staticIpAddress_gatewayAddress: string, Required. Gateway IP address. Example: "100.80.40.1".
+  staticIpAddress_ipAddress: string, Required. IP address of the MonitoringPoint.
+  staticIpAddress_netmask: string, Optional. Networkmask and CIDR range. Example: "255.255.255.0/24"
+  timeZone_id: string, IANA Time Zone Database time zone. For example "America/New_York".
+  timeZone_version: string, Optional. IANA Time Zone Database version number. For example "2019a".
+  useDhcp: boolean, Optional. Dynamic Host Configuration Protocol, is a network management protocol that automatically assigns IP addresses and other network configuration parameters to devices connecting to a network.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  x_password: string, Optional. Password for logging into the MonitoringPoint.
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+ +
+ downloadRecreateInstallScript(name, hostname=None, x__xgafv=None) +
Downloads an install script for a specific Container MonitoringPoint.
+
+Args:
+  name: string, Required. Resource name of the MonitoringPoint. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/monitoringPoints/{monitoring_point} (required)
+  hostname: string, Optional. The hostname of the MonitoringPoint, e.g. "test-vm"
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+ +
+ downloadServerConnectConfig(parent, x__xgafv=None) +
Downloads the server connect configuration for a given network monitoring provider.
+
+Args:
+  parent: string, Required. Parent value for DownloadServerConnectConfigRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
+  "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
+  "data": "A String", # The HTTP request/response body as raw binary.
+  "extensions": [ # Application specific response metadata. Must be set in the first response for streaming APIs.
+    {
+      "a_key": "", # Properties of the object. Contains field @type with type URL.
+    },
+  ],
+}
+
+
get(name, x__xgafv=None)
Gets the MonitoringPoint resource.
@@ -110,14 +218,16 @@ 

Method Details

"autoGeoLocationEnabled": True or False, # Output only. Indicates if automaitic geographic location is enabled for the MonitoringPoint. "connectionStatus": "A String", # Output only. Connection status of the MonitoringPoint. "createTime": "A String", # Output only. The time the MonitoringPoint was created. + "deploymentType": "A String", # Output only. The deployment type of the MonitoringPoint. "displayName": "A String", # Output only. Display name of the MonitoringPoint. "errors": [ # Output only. The codes of errors detected in the MonitoringPoint. "A String", ], - "geoLocation": { # The geographical location of the MonitoringPoint. # Output only. The geographical location of the MonitoringPoint. ; - "country": "A String", # Country. + "geoLocation": { # The geographical location of the MonitoringPoint. # Output only. The geographical location of the MonitoringPoint. "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. }, + "guid": "A String", # Output only. The GUID of the MonitoringPoint. "host": { # Message describing information about the host. # Output only. The host information of the MonitoringPoint. "cloudInstanceId": "A String", # Output only. The cloud instance id of the host. "cloudProjectId": "A String", # Output only. The cloud project id of the host. @@ -126,7 +236,6 @@

Method Details

"cloudVirtualNetworkIds": [ # Output only. The ids of cloud virtual networks of the host. "A String", ], - "cloudVpcId": "A String", # Output only. The id of Virtual Private Cloud (VPC) of the host. "cloudZone": "A String", # Output only. The cloud zone of the host. "os": "A String", # Output only. The operating system of the host. }, @@ -181,14 +290,16 @@

Method Details

"autoGeoLocationEnabled": True or False, # Output only. Indicates if automaitic geographic location is enabled for the MonitoringPoint. "connectionStatus": "A String", # Output only. Connection status of the MonitoringPoint. "createTime": "A String", # Output only. The time the MonitoringPoint was created. + "deploymentType": "A String", # Output only. The deployment type of the MonitoringPoint. "displayName": "A String", # Output only. Display name of the MonitoringPoint. "errors": [ # Output only. The codes of errors detected in the MonitoringPoint. "A String", ], - "geoLocation": { # The geographical location of the MonitoringPoint. # Output only. The geographical location of the MonitoringPoint. ; - "country": "A String", # Country. + "geoLocation": { # The geographical location of the MonitoringPoint. # Output only. The geographical location of the MonitoringPoint. "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. }, + "guid": "A String", # Output only. The GUID of the MonitoringPoint. "host": { # Message describing information about the host. # Output only. The host information of the MonitoringPoint. "cloudInstanceId": "A String", # Output only. The cloud instance id of the host. "cloudProjectId": "A String", # Output only. The cloud project id of the host. @@ -197,7 +308,6 @@

Method Details

"cloudVirtualNetworkIds": [ # Output only. The ids of cloud virtual networks of the host. "A String", ], - "cloudVpcId": "A String", # Output only. The id of Virtual Private Cloud (VPC) of the host. "cloudZone": "A String", # Output only. The cloud zone of the host. "os": "A String", # Output only. The operating system of the host. }, diff --git a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.networkPaths.html b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.networkPaths.html index 2739ae15e1..529862fe16 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.networkPaths.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.networkPaths.html @@ -109,10 +109,11 @@

Method Details

{ # Message describing NetworkPath resource. "createTime": "A String", # Output only. The time the NetworkPath was created. "destination": "A String", # Output only. IP address or hostname of the network path destination. - "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination MonitoringPoint. ; - "country": "A String", # Country. + "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination MonitoringPoint. "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. }, + "destinationMonitoringPointId": "A String", # Output only. Provider's UUID of the destination MonitoringPoint. This id may not point to a resource in the Google Cloud. "displayName": "A String", # Output only. The display name of the network path. "dualEnded": True or False, # Output only. Indicates if the network path is dual ended. When true, the network path is measured both: from both source to destination, and from destination to source. When false, the network path is measured from the source through the destination back to the source (round trip measurement). "monitoringEnabled": True or False, # Output only. Is monitoring enabled for the network path. @@ -129,7 +130,7 @@

Method Details

}, ], "providerUiUri": "A String", # Output only. Link to provider's UI; link shows the NetworkPath. - "sourceMonitoringPointId": "A String", # Output only. Provider's UUID of the source MonitoringPoint. This id may not point to a resource in the GCP. + "sourceMonitoringPointId": "A String", # Output only. Provider's UUID of the source MonitoringPoint. This id may not point to a resource in the Google Cloud. "updateTime": "A String", # Output only. The time the NetworkPath was updated. }
@@ -155,10 +156,11 @@

Method Details

{ # Message describing NetworkPath resource. "createTime": "A String", # Output only. The time the NetworkPath was created. "destination": "A String", # Output only. IP address or hostname of the network path destination. - "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination MonitoringPoint. ; - "country": "A String", # Country. + "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination MonitoringPoint. "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. }, + "destinationMonitoringPointId": "A String", # Output only. Provider's UUID of the destination MonitoringPoint. This id may not point to a resource in the Google Cloud. "displayName": "A String", # Output only. The display name of the network path. "dualEnded": True or False, # Output only. Indicates if the network path is dual ended. When true, the network path is measured both: from both source to destination, and from destination to source. When false, the network path is measured from the source through the destination back to the source (round trip measurement). "monitoringEnabled": True or False, # Output only. Is monitoring enabled for the network path. @@ -175,7 +177,7 @@

Method Details

}, ], "providerUiUri": "A String", # Output only. Link to provider's UI; link shows the NetworkPath. - "sourceMonitoringPointId": "A String", # Output only. Provider's UUID of the source MonitoringPoint. This id may not point to a resource in the GCP. + "sourceMonitoringPointId": "A String", # Output only. Provider's UUID of the source MonitoringPoint. This id may not point to a resource in the Google Cloud. "updateTime": "A String", # Output only. The time the NetworkPath was updated. }, ], diff --git a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.webPaths.html b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.webPaths.html index 80cd387184..fd96cd1422 100644 --- a/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.webPaths.html +++ b/docs/dyn/networkmanagement_v1.projects.locations.networkMonitoringProviders.webPaths.html @@ -109,6 +109,10 @@

Method Details

{ # Message describing WebPath resource. "createTime": "A String", # Output only. The time the WebPath was created. "destination": "A String", # Output only. Web monitoring target. + "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination. + "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. + }, "displayName": "A String", # Output only. Display name of the WebPath. "interval": "A String", # Output only. Monitoring interval. "monitoringEnabled": True or False, # Output only. Is monitoring enabled for the WebPath. @@ -153,6 +157,10 @@

Method Details

{ # Message describing WebPath resource. "createTime": "A String", # Output only. The time the WebPath was created. "destination": "A String", # Output only. Web monitoring target. + "destinationGeoLocation": { # The geographical location of the MonitoringPoint. # Output only. Geographical location of the destination. + "formattedAddress": "A String", # Formatted address. + "regionCode": "A String", # Unicode CLDR region code. + }, "displayName": "A String", # Output only. Display name of the WebPath. "interval": "A String", # Output only. Monitoring interval. "monitoringEnabled": True or False, # Output only. Is monitoring enabled for the WebPath. diff --git a/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html b/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html index 901ded0f1c..7818f06d57 100644 --- a/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html +++ b/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html @@ -267,6 +267,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -628,6 +633,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -1198,6 +1208,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -1559,6 +1574,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -2120,6 +2140,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -2481,6 +2506,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -3001,6 +3031,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. @@ -3362,6 +3397,11 @@

Method Details

"uri": "A String", # URI of a Cloud Function. "versionId": "A String", # Latest successfully deployed version id of the Cloud Function. }, + "cloudRunJob": { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job. + "displayName": "A String", # Name of a Cloud Run job. + "location": "A String", # Location in which this job is deployed. + "uri": "A String", # URI of a Cloud Run job. + }, "cloudRunRevision": { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision. "displayName": "A String", # Name of a Cloud Run revision. "location": "A String", # Location in which this revision is deployed. diff --git a/docs/dyn/networksecurity_v1.organizations.locations.addressGroups.html b/docs/dyn/networksecurity_v1.organizations.locations.addressGroups.html index 6681614be1..6dd4b2e50d 100644 --- a/docs/dyn/networksecurity_v1.organizations.locations.addressGroups.html +++ b/docs/dyn/networksecurity_v1.organizations.locations.addressGroups.html @@ -110,6 +110,9 @@

Instance Methods

removeItems(addressGroup, body=None, x__xgafv=None)

Removes items from an address group.

+

+ testIamPermissions(resource, body=None, x__xgafv=None)

+

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

Method Details

addItems(addressGroup, body=None, x__xgafv=None) @@ -538,4 +541,34 @@

Method Details

}
+
+ testIamPermissions(resource, body=None, x__xgafv=None) +
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. 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 `TestIamPermissions` method.
+  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    "A String",
+  ],
+}
+
+  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 `TestIamPermissions` method.
+  "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    "A String",
+  ],
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html index 04dd716aac..070dc774df 100644 --- a/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1.organizations.locations.firewallEndpoints.html @@ -111,7 +111,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -219,7 +219,7 @@

Method Details

An object of the form: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -267,7 +267,7 @@

Method Details

{ # Message for response to listing Endpoints "firewallEndpoints": [ # The list of Endpoint { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -324,7 +324,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. diff --git a/docs/dyn/networksecurity_v1.organizations.locations.html b/docs/dyn/networksecurity_v1.organizations.locations.html index b6e90d83a7..c68d0d2954 100644 --- a/docs/dyn/networksecurity_v1.organizations.locations.html +++ b/docs/dyn/networksecurity_v1.organizations.locations.html @@ -102,10 +102,96 @@

Instance Methods

close()

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets information about a location.

+

+ list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

+ list_next()

+

Retrieves the next page of results.

Method Details

close()
Close httplib2 connections.
+
+ get(name, x__xgafv=None) +
Gets information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents a Google Cloud location.
+  "displayName": "A String", # The friendly name for this location, typically a nearby city name. For example, "Tokyo".
+  "labels": { # Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"}
+    "a_key": "A String",
+  },
+  "locationId": "A String", # The canonical id for this location. For example: `"us-east1"`.
+  "metadata": { # Service-specific metadata. For example the available capacity at the given location.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
+}
+
+ +
+ list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+
+Args:
+  name: string, The resource that owns the locations collection, if applicable. (required)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
+  pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  "locations": [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents a Google Cloud location.
+      "displayName": "A String", # The friendly name for this location, typically a nearby city name. For example, "Tokyo".
+      "labels": { # Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"}
+        "a_key": "A String",
+      },
+      "locationId": "A String", # The canonical id for this location. For example: `"us-east1"`.
+      "metadata": { # Service-specific metadata. For example the available capacity at the given location.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+      "name": "A String", # Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
+    },
+  ],
+  "nextPageToken": "A String", # The standard List next-page token.
+}
+
+ +
+ 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.
+        
+
+ \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1.projects.locations.authzPolicies.html b/docs/dyn/networksecurity_v1.projects.locations.authzPolicies.html index afac76c8c1..20b0f17671 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.authzPolicies.html +++ b/docs/dyn/networksecurity_v1.projects.locations.authzPolicies.html @@ -267,6 +267,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -323,6 +332,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -333,6 +351,221 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). @@ -572,6 +805,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -628,6 +870,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -638,18 +889,233 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. - "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. - "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. - "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). - "resources": [ # Required. A list of references to the Forwarding Rules, Secure Web Proxy Gateways, or Agent Gateways on which this policy will be applied. - "A String", - ], - }, - "updateTime": "A String", # Output only. The timestamp when the resource was updated. -}
-
- -
+ "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], + "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. + "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. + "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + "resources": [ # Required. A list of references to the Forwarding Rules, Secure Web Proxy Gateways, or Agent Gateways on which this policy will be applied. + "A String", + ], + }, + "updateTime": "A String", # Output only. The timestamp when the resource was updated. +}
+
+ +
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
 
@@ -729,8 +1195,227 @@ 

Method Details

"cloudIap": { # Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. # Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. }, }, - "description": "A String", # Optional. A human-readable description of the resource. - "httpRules": [ # Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. + "description": "A String", # Optional. A human-readable description of the resource. + "httpRules": [ # Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], + "labels": { # Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). + "a_key": "A String", + }, + "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. { # Conditions to match against the incoming request. "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. @@ -865,6 +1550,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -921,16 +1615,21 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. }, ], - "labels": { # Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). - "a_key": "A String", - }, - "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). @@ -1119,6 +1818,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -1175,6 +1883,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -1185,6 +1902,221 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). diff --git a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html index c1a109c9e2..6834fd97c7 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1.projects.locations.firewallEndpoints.html @@ -111,7 +111,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -219,7 +219,7 @@

Method Details

An object of the form: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -267,7 +267,7 @@

Method Details

{ # Message for response to listing Endpoints "firewallEndpoints": [ # The list of Endpoint { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -324,7 +324,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. diff --git a/docs/dyn/networksecurity_v1.projects.locations.html b/docs/dyn/networksecurity_v1.projects.locations.html index 51faaf84a7..ab03dfc70e 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.html +++ b/docs/dyn/networksecurity_v1.projects.locations.html @@ -164,6 +164,16 @@

Instance Methods

Returns the operations Resource.

+

+ sacAttachments() +

+

Returns the sacAttachments Resource.

+ +

+ sacRealms() +

+

Returns the sacRealms Resource.

+

securityProfileGroups()

diff --git a/docs/dyn/networksecurity_v1.projects.locations.mirroringDeployments.html b/docs/dyn/networksecurity_v1.projects.locations.mirroringDeployments.html index 9a0c2f7f30..d934d812f7 100644 --- a/docs/dyn/networksecurity_v1.projects.locations.mirroringDeployments.html +++ b/docs/dyn/networksecurity_v1.projects.locations.mirroringDeployments.html @@ -255,7 +255,7 @@

Method Details

}, ], "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details. - "unreachable": [ # Locations that could not be reached. + "unreachable": [ # Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details. "A String", ], }
diff --git a/docs/dyn/networksecurity_v1.projects.locations.sacAttachments.html b/docs/dyn/networksecurity_v1.projects.locations.sacAttachments.html new file mode 100644 index 0000000000..8686e8c02a --- /dev/null +++ b/docs/dyn/networksecurity_v1.projects.locations.sacAttachments.html @@ -0,0 +1,269 @@ + + + +

Network Security API . projects . locations . sacAttachments

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, sacAttachmentId=None, x__xgafv=None)

+

Creates a new SACAttachment in a given project and location.

+

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes the specified attachment.

+

+ get(name, x__xgafv=None)

+

Returns the specified attachment.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists SACAttachments in a given project and location.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, sacAttachmentId=None, x__xgafv=None) +
Creates a new SACAttachment in a given project and location.
+
+Args:
+  parent: string, Required. The parent, in the form `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Secure Access Connect (SAC) attachment resource. A Secure Access Connect attachment enables NCC Gateway to process traffic with an SSE product.
+  "createTime": "A String", # Output only. Timestamp when the attachment was created.
+  "labels": { # Optional. Optional list of labels applied to the resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.
+  "nccGateway": "A String", # Required. NCC Gateway associated with the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/spokes/{ncc_gateway}`.
+  "sacRealm": "A String", # Required. SAC Realm which owns the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/sacRealms/{sac_realm}`.
+  "state": "A String", # Output only. State of the attachment.
+  "updateTime": "A String", # Output only. Timestamp when the attachment was last updated.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  sacAttachmentId: string, Required. ID of the created attachment. The ID must be 1-63 characters long, and comply with RFC1035. Specifically, it must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  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, requestId=None, x__xgafv=None) +
Deletes the specified attachment.
+
+Args:
+  name: string, Required. Name of the resource, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  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) +
Returns the specified attachment.
+
+Args:
+  name: string, Required. Name of the resource, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a Secure Access Connect (SAC) attachment resource. A Secure Access Connect attachment enables NCC Gateway to process traffic with an SSE product.
+  "createTime": "A String", # Output only. Timestamp when the attachment was created.
+  "labels": { # Optional. Optional list of labels applied to the resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.
+  "nccGateway": "A String", # Required. NCC Gateway associated with the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/spokes/{ncc_gateway}`.
+  "sacRealm": "A String", # Required. SAC Realm which owns the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/sacRealms/{sac_realm}`.
+  "state": "A String", # Output only. State of the attachment.
+  "updateTime": "A String", # Output only. Timestamp when the attachment was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists SACAttachments in a given project and location.
+
+Args:
+  parent: string, Required. The parent, in the form `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. An expression that filters the list of results.
+  orderBy: string, Optional. Sort the results by a certain order.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for `ListSACAttachments` method.
+  "nextPageToken": "A String", # A token identifying a page of results the server should return.
+  "sacAttachments": [ # The list of SACAttachments.
+    { # Represents a Secure Access Connect (SAC) attachment resource. A Secure Access Connect attachment enables NCC Gateway to process traffic with an SSE product.
+      "createTime": "A String", # Output only. Timestamp when the attachment was created.
+      "labels": { # Optional. Optional list of labels applied to the resource.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.
+      "nccGateway": "A String", # Required. NCC Gateway associated with the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/spokes/{ncc_gateway}`.
+      "sacRealm": "A String", # Required. SAC Realm which owns the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/sacRealms/{sac_realm}`.
+      "state": "A String", # Output only. State of the attachment.
+      "updateTime": "A String", # Output only. Timestamp when the attachment was last updated.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1.projects.locations.sacRealms.html b/docs/dyn/networksecurity_v1.projects.locations.sacRealms.html new file mode 100644 index 0000000000..02310a599b --- /dev/null +++ b/docs/dyn/networksecurity_v1.projects.locations.sacRealms.html @@ -0,0 +1,278 @@ + + + +

Network Security API . projects . locations . sacRealms

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, sacRealmId=None, x__xgafv=None)

+

Creates a new SACRealm in a given project.

+

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes the specified realm.

+

+ get(name, x__xgafv=None)

+

Returns the specified realm.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists SACRealms in a given project.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, sacRealmId=None, x__xgafv=None) +
Creates a new SACRealm in a given project.
+
+Args:
+  parent: string, Required. The parent, in the form `projects/{project}/locations/global`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Secure Access Connect (SAC) realm resource. A Secure Access Connect realm establishes a connection between your Google Cloud project and an SSE service.
+  "createTime": "A String", # Output only. Timestamp when the realm was created.
+  "labels": { # Optional. Optional list of labels applied to the resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.
+  "pairingKey": { # Key to be shared with SSE service provider to establish global handshake. # Output only. Key to be shared with SSE service provider during pairing.
+    "expireTime": "A String", # Output only. Timestamp in UTC of when this resource is considered expired. It expires 7 days after creation.
+    "key": "A String", # Output only. Key value.
+  },
+  "securityService": "A String", # Immutable. SSE service provider associated with the realm.
+  "state": "A String", # Output only. State of the realm.
+  "updateTime": "A String", # Output only. Timestamp when the realm was last updated.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  sacRealmId: string, Required. ID of the created realm. The ID must be 1-63 characters long, and comply with RFC1035. Specifically, it must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  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, requestId=None, x__xgafv=None) +
Deletes the specified realm.
+
+Args:
+  name: string, Required. Name of the resource, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  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) +
Returns the specified realm.
+
+Args:
+  name: string, Required. Name of the resource, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a Secure Access Connect (SAC) realm resource. A Secure Access Connect realm establishes a connection between your Google Cloud project and an SSE service.
+  "createTime": "A String", # Output only. Timestamp when the realm was created.
+  "labels": { # Optional. Optional list of labels applied to the resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.
+  "pairingKey": { # Key to be shared with SSE service provider to establish global handshake. # Output only. Key to be shared with SSE service provider during pairing.
+    "expireTime": "A String", # Output only. Timestamp in UTC of when this resource is considered expired. It expires 7 days after creation.
+    "key": "A String", # Output only. Key value.
+  },
+  "securityService": "A String", # Immutable. SSE service provider associated with the realm.
+  "state": "A String", # Output only. State of the realm.
+  "updateTime": "A String", # Output only. Timestamp when the realm was last updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists SACRealms in a given project.
+
+Args:
+  parent: string, Required. The parent, in the form `projects/{project}/locations/global`. (required)
+  filter: string, Optional. An expression that filters the list of results.
+  orderBy: string, Optional. Sort the results by a certain order.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for `ListSACRealms` method.
+  "nextPageToken": "A String", # A token identifying a page of results the server should return.
+  "sacRealms": [ # The list of SACRealms.
+    { # Represents a Secure Access Connect (SAC) realm resource. A Secure Access Connect realm establishes a connection between your Google Cloud project and an SSE service.
+      "createTime": "A String", # Output only. Timestamp when the realm was created.
+      "labels": { # Optional. Optional list of labels applied to the resource.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. Resource name, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.
+      "pairingKey": { # Key to be shared with SSE service provider to establish global handshake. # Output only. Key to be shared with SSE service provider during pairing.
+        "expireTime": "A String", # Output only. Timestamp in UTC of when this resource is considered expired. It expires 7 days after creation.
+        "key": "A String", # Output only. Key value.
+      },
+      "securityService": "A String", # Immutable. SSE service provider associated with the realm.
+      "state": "A String", # Output only. State of the realm.
+      "updateTime": "A String", # Output only. Timestamp when the realm was last updated.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.addressGroups.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.addressGroups.html index ebe73c9c63..ebdf206653 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.addressGroups.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.addressGroups.html @@ -110,6 +110,9 @@

Instance Methods

removeItems(addressGroup, body=None, x__xgafv=None)

Removes items from an address group.

+

+ testIamPermissions(resource, body=None, x__xgafv=None)

+

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

Method Details

addItems(addressGroup, body=None, x__xgafv=None) @@ -538,4 +541,34 @@

Method Details

}
+
+ testIamPermissions(resource, body=None, x__xgafv=None) +
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. 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 `TestIamPermissions` method.
+  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    "A String",
+  ],
+}
+
+  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 `TestIamPermissions` method.
+  "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    "A String",
+  ],
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html index 1bc040f830..e1d99c84a1 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.html @@ -74,6 +74,11 @@

Network Security API . organizations . locations . firewallEndpoints

Instance Methods

+

+ wildfireVerdictChangeRequests() +

+

Returns the wildfireVerdictChangeRequests Resource.

+

close()

Close httplib2 connections.

@@ -111,7 +116,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -124,6 +129,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -135,6 +142,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, } firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. @@ -219,7 +237,7 @@

Method Details

An object of the form: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -232,6 +250,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -243,6 +263,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, }
@@ -267,7 +298,7 @@

Method Details

{ # Message for response to listing Endpoints "firewallEndpoints": [ # The list of Endpoint { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -280,6 +311,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -291,6 +324,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, }, ], "nextPageToken": "A String", # A token identifying a page of results the server should return. @@ -324,7 +368,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -337,6 +381,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -348,6 +394,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, } requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html new file mode 100644 index 0000000000..dac95efe67 --- /dev/null +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.html @@ -0,0 +1,239 @@ + + + +

Network Security API . organizations . locations . firewallEndpoints . wildfireVerdictChangeRequests

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

+ get(name, x__xgafv=None)

+

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, x__xgafv=None) +
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+
+Args:
+  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+ +
+ get(name, x__xgafv=None) +
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.
+
+Args:
+  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.
+
+Args:
+  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing WildfireVerdictChangeRequests.
+  "nextPageToken": "A String", # A token identifying a page of results the server should return.
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+  "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests
+    { # Message for a WildfireVerdictChangeRequest.
+      "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+      "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+      "fileName": "A String", # Output only. The file name of the Malware Sample.
+      "fileType": "A String", # Output only. The file type of the Malware Sample.
+      "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+      "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+      "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+      "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+      "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+      "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+      "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+      "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+      "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+      "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.html index f9b8bbac27..82e8f843fb 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.html @@ -102,10 +102,96 @@

Instance Methods

close()

Close httplib2 connections.

+

+ get(name, x__xgafv=None)

+

Gets information about a location.

+

+ list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

+ list_next()

+

Retrieves the next page of results.

Method Details

close()
Close httplib2 connections.
+
+ get(name, x__xgafv=None) +
Gets information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents a Google Cloud location.
+  "displayName": "A String", # The friendly name for this location, typically a nearby city name. For example, "Tokyo".
+  "labels": { # Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"}
+    "a_key": "A String",
+  },
+  "locationId": "A String", # The canonical id for this location. For example: `"us-east1"`.
+  "metadata": { # Service-specific metadata. For example the available capacity at the given location.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
+}
+
+ +
+ list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+
+Args:
+  name: string, The resource that owns the locations collection, if applicable. (required)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
+  pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  "locations": [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents a Google Cloud location.
+      "displayName": "A String", # The friendly name for this location, typically a nearby city name. For example, "Tokyo".
+      "labels": { # Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"}
+        "a_key": "A String",
+      },
+      "locationId": "A String", # The canonical id for this location. For example: `"us-east1"`.
+      "metadata": { # Service-specific metadata. For example the available capacity at the given location.
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+      "name": "A String", # Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
+    },
+  ],
+  "nextPageToken": "A String", # The standard List next-page token.
+}
+
+ +
+ 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.
+        
+
+ \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html index c99a1d1f67..2e411df97a 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfileGroups.html @@ -124,6 +124,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. } securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". @@ -220,6 +221,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. }
@@ -256,6 +258,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. }, ], }
@@ -298,6 +301,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. } updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. diff --git a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html index 792c581cb1..a5336235a4 100644 --- a/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html +++ b/docs/dyn/networksecurity_v1beta1.organizations.locations.securityProfiles.html @@ -158,6 +158,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, } securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". @@ -288,6 +362,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, }
@@ -358,6 +506,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, }, ], }
@@ -434,6 +656,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, } updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.authzPolicies.html b/docs/dyn/networksecurity_v1beta1.projects.locations.authzPolicies.html index d2071184ae..605508ca71 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.authzPolicies.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.authzPolicies.html @@ -267,6 +267,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -323,6 +332,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -333,6 +351,221 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). @@ -572,6 +805,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -628,6 +870,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -638,18 +889,233 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. - "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. - "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. - "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). - "resources": [ # Required. A list of references to the Forwarding Rules, Secure Web Proxy Gateways, or Agent Gateways on which this policy will be applied. - "A String", - ], - }, - "updateTime": "A String", # Output only. The timestamp when the resource was updated. -}
-
- -
+ "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], + "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. + "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. + "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + "resources": [ # Required. A list of references to the Forwarding Rules, Secure Web Proxy Gateways, or Agent Gateways on which this policy will be applied. + "A String", + ], + }, + "updateTime": "A String", # Output only. The timestamp when the resource was updated. +}
+
+ +
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
 
@@ -729,8 +1195,227 @@ 

Method Details

"cloudIap": { # Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. # Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. }, }, - "description": "A String", # Optional. A human-readable description of the resource. - "httpRules": [ # Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. + "description": "A String", # Optional. A human-readable description of the resource. + "httpRules": [ # Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], + "labels": { # Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). + "a_key": "A String", + }, + "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. { # Conditions to match against the incoming request. "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. @@ -865,6 +1550,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -921,16 +1615,21 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. }, ], - "labels": { # Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). - "a_key": "A String", - }, - "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). @@ -1119,6 +1818,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. @@ -1175,6 +1883,15 @@

Method Details

"suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` }, ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], }, ], }, @@ -1185,6 +1902,221 @@

Method Details

"a_key": "A String", }, "name": "A String", # Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`. + "networkRules": [ # Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules. + { # Conditions to match against the incoming request. + "from": { # Describes properties of one or more sources of a request. # Optional. Describes properties of a source of a request. + "notSources": [ # Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + "sources": [ # Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + { # Describes the properties of a single source. + "ipBlocks": [ # Optional. A list of IP addresses or IP address ranges to match against the source IP address of the request. Limited to 10 ip_blocks per Authorization Policy + { # Represents a range of IP Addresses. + "length": 42, # Required. The length of the address range. + "prefix": "A String", # Required. The address prefix. + }, + ], + "principals": [ # Optional. A list of identities derived from the client's certificate. This field will not match on a request unless frontend mutual TLS is enabled for the forwarding rule or Gateway and the client certificate has been successfully validated by mTLS. Each identity is a string whose value is matched against a list of URI SANs, DNS Name SANs, or the common name in the client's certificate. A match happens when any principal matches with the rule. Limited to 50 principals per Authorization Policy for regional internal Application Load Balancers, regional external Application Load Balancers, cross-region internal Application Load Balancers, and Cloud Service Mesh. This field is not supported for global external Application Load Balancers. + { # Describes the properties of a principal to be matched against. + "principal": { # Determines how a string value should be matched. # Required. A non-empty string whose value is matched against the principal value based on the principal_selector. Only exact match can be applied for CLIENT_CERT_URI_SAN, CLIENT_CERT_DNS_NAME_SAN, CLIENT_CERT_COMMON_NAME selectors. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "principalSelector": "A String", # Optional. An enum to decide what principal value the principal rule will match against. If not specified, the PrincipalSelector is CLIENT_CERT_URI_SAN. + }, + ], + "resources": [ # Optional. A list of resources to match against the resource of the source VM of a request. Limited to 10 resources per Authorization Policy. + { # Describes the properties of a client VM resource accessing the internal application load balancers. + "iamServiceAccount": { # Determines how a string value should be matched. # Optional. An IAM service account to match against the source service account of the VM sending the request. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + "tagValueIdSet": { # Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. # Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + "ids": [ # Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 ids in the Tag value id set. + "A String", + ], + }, + }, + ], + }, + ], + }, + "to": { # Describes properties of one or more targets of a request. # Optional. Describes properties of a target of a request. + "notOperations": [ # Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + "operations": [ # Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + { # Describes properties of one or more targets of a request. + "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A list of headers to match against in http header. + "headers": [ # Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 headers per Authorization Policy. + { # Determines how a HTTP header should be matched. + "name": "A String", # Optional. Specifies the name of the header in the request. + "value": { # Determines how a string value should be matched. # Optional. Specifies how the header match will be performed. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + }, + ], + }, + "hosts": [ # Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 hosts per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "mcp": { # Describes a set of MCP protocol attributes to match against for a given MCP request. # Optional. Defines the MCP protocol attributes to match on. If the MCP payload in the request body cannot be successfully parsed, the request will be denied. This field can be set only for AuthzPolicies targeting AgentGateway resources. + "baseProtocolMethodsOption": "A String", # Optional. If specified, matches on the MCP protocol’s non-access specific methods namely: * initialize * completion/ * logging/ * notifications/ * ping Defaults to SKIP_BASE_PROTOCOL_METHODS if not specified. + "methods": [ # Optional. A list of MCP methods and associated parameters to match on. It is recommended to use this field to match on tools, prompts and resource accesses while setting the baseProtocolMethodsOption to MATCH_BASE_PROTOCOL_METHODS to match on all the other MCP protocol methods. Limited to 10 MCP methods per Authorization Policy. + { # Describes a set of MCP methods to match against. + "name": "A String", # Required. The MCP method to match against. Allowed values are as follows: 1. `tools`, `prompts`, `resources` - these will match against all sub methods under the respective methods. 2. `prompts/list`, `tools/list`, `resources/list`, `resources/templates/list` 3. `prompts/get`, `tools/call`, `resources/subscribe`, `resources/unsubscribe`, `resources/read` Params cannot be specified for categories 1 and 2. + "params": [ # Optional. A list of MCP method parameters to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 MCP method parameters per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "methods": [ # Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. Limited to 10 methods per Authorization Policy. + "A String", + ], + "paths": [ # Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 10 paths per Authorization Policy. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + "snis": [ # Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy. + { # Determines how a string value should be matched. + "contains": "A String", # The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + "exact": "A String", # The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + "ignoreCase": True or False, # If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + "prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + "suffix": "A String", # The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + }, + ], + }, + ], + }, + "when": "A String", # Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + }, + ], "policyProfile": "A String", # Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created. "target": { # Specifies the set of targets to which this policy should be applied to. # Required. Specifies the set of resources to which this policy should be applied to. "loadBalancingScheme": "A String", # Optional. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Required only when targeting forwarding rules. If targeting Secure Web Proxy, this field must be `INTERNAL_MANAGED` or not specified. Must not be specified when targeting Agent Gateway. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html index a248dfffc9..b6c866710f 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.html @@ -74,6 +74,11 @@

Network Security API . projects . locations . firewallEndpoints

Instance Methods

+

+ wildfireVerdictChangeRequests() +

+

Returns the wildfireVerdictChangeRequests Resource.

+

close()

Close httplib2 connections.

@@ -111,7 +116,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -124,6 +129,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -135,6 +142,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, } firewallEndpointId: string, Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. @@ -219,7 +237,7 @@

Method Details

An object of the form: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -232,6 +250,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -243,6 +263,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, }
@@ -267,7 +298,7 @@

Method Details

{ # Message for response to listing Endpoints "firewallEndpoints": [ # The list of Endpoint { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -280,6 +311,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -291,6 +324,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, }, ], "nextPageToken": "A String", # A token identifying a page of results the server should return. @@ -324,7 +368,7 @@

Method Details

The object takes the form of: { # Message describing Endpoint object. - "associatedNetworks": [ # Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. + "associatedNetworks": [ # Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}. "A String", ], "associations": [ # Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured. @@ -337,6 +381,8 @@

Method Details

"createTime": "A String", # Output only. Create time stamp. "description": "A String", # Optional. Description of the firewall endpoint. Max length 2048 characters. "endpointSettings": { # Settings for the endpoint. # Optional. Settings for the endpoint. + "contentCloudRegion": "A String", # Optional. The content cloud region of the endpoint. + "httpPartialResponseBlocked": True or False, # Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. "jumboFramesEnabled": True or False, # Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. }, "labels": { # Optional. Labels as key value pairs @@ -348,6 +394,17 @@

Method Details

"satisfiesPzs": True or False, # Output only. [Output Only] Reserved for future use. "state": "A String", # Output only. Current state of the endpoint. "updateTime": "A String", # Output only. Update time stamp + "wildfireSettings": { # Settings for WildFire analysis. # Optional. Settings for WildFire analysis. + "enabled": True or False, # Optional. Indicates whether WildFire analysis is enabled. Default value is false. + "wildfireInlineCloudAnalysisSettings": { # Settings for WildFire inline cloud analysis. # Optional. Settings for WildFire inline cloud analysis. + "maxAnalysisDuration": "A String", # Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + "submissionTimeoutLoggingDisabled": True or False, # Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + "timeoutAction": "A String", # Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + }, + "wildfireRealtimeLookupDuration": "A String", # Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + "wildfireRealtimeLookupTimeoutAction": "A String", # Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + "wildfireRegion": "A String", # Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + }, } requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html new file mode 100644 index 0000000000..c97fa27863 --- /dev/null +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.html @@ -0,0 +1,239 @@ + + + +

Network Security API . projects . locations . firewallEndpoints . wildfireVerdictChangeRequests

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

+ get(name, x__xgafv=None)

+

Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.

+

+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, x__xgafv=None) +
Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+
+Args:
+  parent: string, Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+ +
+ get(name, x__xgafv=None) +
Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.
+
+Args:
+  name: string, Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for a WildfireVerdictChangeRequest.
+  "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+  "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+  "fileName": "A String", # Output only. The file name of the Malware Sample.
+  "fileType": "A String", # Output only. The file type of the Malware Sample.
+  "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+  "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+  "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+  "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+  "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+  "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+  "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+  "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+  "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+  "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+}
+
+ +
+ list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.
+
+Args:
+  parent: string, Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint} (required)
+  filter: string, Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time > "2026-01-01T00:00:00Z"`)
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing WildfireVerdictChangeRequests.
+  "nextPageToken": "A String", # A token identifying a page of results the server should return.
+  "unreachable": [ # Unordered list. Locations that could not be reached.
+    "A String",
+  ],
+  "wildfireVerdictChangeRequests": [ # The list of WildfireVerdictChangeRequests
+    { # Message for a WildfireVerdictChangeRequest.
+      "comment": "A String", # Required. The justification for the verdict change request. Max length 2048 characters.
+      "createTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was created.
+      "fileName": "A String", # Output only. The file name of the Malware Sample.
+      "fileType": "A String", # Output only. The file type of the Malware Sample.
+      "finalVerdict": "A String", # Output only. The final verdict of the Malware Sample.
+      "name": "A String", # Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+      "newVerdict": "A String", # Required. The suggested verdict to apply to the Malware Sample.
+      "oldVerdict": "A String", # Output only. The original verdict of the Malware Sample.
+      "resolutionTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.
+      "sha256": "A String", # Required. The SHA256 hash of the Malware Sample to change the verdict of.
+      "sourceRegion": "A String", # Output only. The region of the file associated with the Malware Sample.
+      "state": "A String", # Output only. The review state of the WildfireVerdictChangeRequest.
+      "updateTime": "A String", # Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.
+      "wildfireVerdictChangeRequestId": "A String", # Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
+    },
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringDeployments.html b/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringDeployments.html index 523595defa..4c3bb3210a 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringDeployments.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringDeployments.html @@ -255,7 +255,7 @@

Method Details

}, ], "nextPageToken": "A String", # A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. See https://google.aip.dev/158 for more details. - "unreachable": [ # Locations that could not be reached. + "unreachable": [ # Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details. "A String", ], }
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html index 7428c0cd9f..81bf637500 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfileGroups.html @@ -124,6 +124,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. } securityProfileGroupId: string, Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". @@ -220,6 +221,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. }
@@ -256,6 +258,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. }, ], }
@@ -298,6 +301,7 @@

Method Details

"threatPreventionProfile": "A String", # Optional. Reference to a SecurityProfile with the ThreatPrevention configuration. "updateTime": "A String", # Output only. Last resource update timestamp. "urlFilteringProfile": "A String", # Optional. Reference to a SecurityProfile with the UrlFiltering configuration. + "wildfireAnalysisProfile": "A String", # Optional. Reference to a SecurityProfile with the WildFire configuration. } updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html index c8e27bbb7b..8e0a3d8818 100644 --- a/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html +++ b/docs/dyn/networksecurity_v1beta1.projects.locations.securityProfiles.html @@ -158,6 +158,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, } securityProfileId: string, Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". @@ -288,6 +362,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, }
@@ -358,6 +506,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, }, ], }
@@ -434,6 +656,80 @@

Method Details

}, ], }, + "wildfireAnalysisProfile": { # WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. # The WildFire Analysis configurations for SecurityProfile. + "wildfireInlineCloudAnalysisRules": [ # Optional. Configuration for WildFire inline cloud analysis. + { # The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + "action": "A String", # Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire inline cloud analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire inline cloud analysis. + }, + ], + "wildfireInlineMlOverrides": [ # Optional. Configuration for overriding inline ML WildFire actions per protocol. + { # Defines what action to take for WildFire Inline ML threats per protocol. + "action": "A String", # Required. The action to take for WildFire Inline ML override. + "protocol": "A String", # Required. Protocol to match for WildFire Inline ML override. + }, + ], + "wildfireInlineMlSetting": { # Defines the settings for WildFire Inline ML analysis. # Optional. Settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + "wildfireInlineMlSettings": [ # Optional. Settings for WildFire Inline ML analysis. + { # Defines the settings for WildFire Inline ML analysis. + "fileExceptions": [ # Optional. List of files to exclude from WildFire Inline ML analysis. + { # Defines the file to exclude from WildFire Inline ML analysis. + "filename": "A String", # Optional. Name of the file to exclude from WildFire Inline ML analysis. + "partialHash": "A String", # Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + }, + ], + "inlineMlConfigs": [ # Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + { # Configuration for WildFire Inline ML analysis per file type. + "action": "A String", # Required. Action to take when a threat is detected using Inline ML. + "fileType": "A String", # Required. File type to configure Inline ML for. + }, + ], + }, + ], + "wildfireOverrides": [ # Optional. Configuration for overriding WildFire actions per protocol. + { # Defines what action to take for WildFire threats per protocol. + "action": "A String", # Required. Threat action override. For some threat types, only a subset of actions applies. + "protocol": "A String", # Required. Protocol to match. + }, + ], + "wildfireRealtimeLookup": True or False, # Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + "wildfireSubmissionRules": [ # Optional. Configurations for WildFire file submissions. + { # Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + "customFileTypes": { # The options to submit a custom list of file types for scan. # Submit a custom list of file types for WildFire analysis. + "fileTypes": [ # Required. File types to be submitted for WildFire analysis. + "A String", + ], + }, + "direction": "A String", # Required. Direction for the files to be analyzed by WildFire. + "fileSelectionMode": "A String", # Required. File selection mode for WildFire analysis. + }, + ], + "wildfireThreatOverrides": [ # Optional. Configuration for overriding WildFire threats action by threat_id match. + { # Defines what action to take for a specific WildFire threat_id match. + "action": "A String", # Required. Threat action override. + "threatId": "A String", # Required. Threat ID to match. + }, + ], + }, } updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. diff --git a/docs/dyn/networkservices_v1.projects.locations.agentGateways.html b/docs/dyn/networkservices_v1.projects.locations.agentGateways.html new file mode 100644 index 0000000000..5cf0969cb5 --- /dev/null +++ b/docs/dyn/networkservices_v1.projects.locations.agentGateways.html @@ -0,0 +1,441 @@ + + + +

Network Services API . projects . locations . agentGateways

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, agentGatewayId=None, body=None, x__xgafv=None)

+

Creates a new AgentGateway in a given project and location.

+

+ delete(name, etag=None, x__xgafv=None)

+

Deletes a single AgentGateway.

+

+ get(name, x__xgafv=None)

+

Gets details of a single AgentGateway.

+

+ list(parent, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

+

Lists AgentGateways in a given project and location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the parameters of a single AgentGateway.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, agentGatewayId=None, body=None, x__xgafv=None) +
Creates a new AgentGateway in a given project and location.
+
+Args:
+  parent: string, Required. The parent resource of the AgentGateway. Must be in the format `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # AgentGateway represents the agent gateway resource.
+  "agentGatewayCard": { # AgentGatewayOutputCard contains informational output-only fields # Output only. Field for populated AgentGateway card.
+    "mtlsEndpoint": "A String", # Output only. mTLS Endpoint associated with this AgentGateway
+    "rootCertificates": [ # Output only. Root Certificates for Agents to validate this AgentGateway
+      "A String",
+    ],
+    "serviceExtensionsServiceAccount": "A String", # Output only. Service Account used by Service Extensions to operate.
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "googleManaged": { # Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. # Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant project.
+    "governedAccessPath": "A String", # Optional. Operating Mode of Agent Gateway.
+  },
+  "labels": { # Optional. Set of label tags associated with the AgentGateway resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.
+  "networkConfig": { # NetworkConfig contains network configurations for the AgentGateway. # Optional. Network configuration for the AgentGateway.
+    "dnsPeeringConfig": { # DNS peering config for the user VPC network. # Optional. Optional DNS peering configuration for connectivity to your private VPC network.
+      "domains": [ # Required. Domain names for which DNS queries should be forwarded to the target network.
+        "A String",
+      ],
+      "targetNetwork": "A String", # Required. Target network in 'target project' to which DNS queries should be forwarded to. Must be in format of `projects/{project}/global/networks/{network}`.
+      "targetProject": "A String", # Required. Target project ID to which DNS queries should be forwarded to. This can be the same project that contains the AgentGateway or a different project.
+    },
+    "egress": { # Configuration for Egress # Optional. Optional PSC-Interface network attachment for connectivity to your private VPCs network.
+      "networkAttachment": "A String", # Optional. The URI of the Network Attachment resource.
+    },
+  },
+  "protocols": [ # Required. List of protocols supported by an Agent Gateway
+    "A String",
+  ],
+  "registries": [ # Optional. A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway. Note: Currently limited to project-scoped registries Must be of format `//agentregistry.googleapis.com/projects/{project}/locations/{location}/
+    "A String",
+  ],
+  "selfManaged": { # Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. # Optional. Attach to existing Application Load Balancers or Secure Web Proxies.
+    "resourceUri": "A String", # Optional. A supported Google Cloud networking proxy in the Project and Location
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+  agentGatewayId: string, Required. Short name of the AgentGateway resource to be created.
+  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, etag=None, x__xgafv=None) +
Deletes a single AgentGateway.
+
+Args:
+  name: string, Required. A name of the AgentGateway to delete. Must be in the format `projects/*/locations/*/agentGateways/*`. (required)
+  etag: string, Optional. The etag of the AgentGateway to delete.
+  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 details of a single AgentGateway.
+
+Args:
+  name: string, Required. A name of the AgentGateway to get. Must be in the format `projects/*/locations/*/agentGateways/*`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # AgentGateway represents the agent gateway resource.
+  "agentGatewayCard": { # AgentGatewayOutputCard contains informational output-only fields # Output only. Field for populated AgentGateway card.
+    "mtlsEndpoint": "A String", # Output only. mTLS Endpoint associated with this AgentGateway
+    "rootCertificates": [ # Output only. Root Certificates for Agents to validate this AgentGateway
+      "A String",
+    ],
+    "serviceExtensionsServiceAccount": "A String", # Output only. Service Account used by Service Extensions to operate.
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "googleManaged": { # Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. # Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant project.
+    "governedAccessPath": "A String", # Optional. Operating Mode of Agent Gateway.
+  },
+  "labels": { # Optional. Set of label tags associated with the AgentGateway resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.
+  "networkConfig": { # NetworkConfig contains network configurations for the AgentGateway. # Optional. Network configuration for the AgentGateway.
+    "dnsPeeringConfig": { # DNS peering config for the user VPC network. # Optional. Optional DNS peering configuration for connectivity to your private VPC network.
+      "domains": [ # Required. Domain names for which DNS queries should be forwarded to the target network.
+        "A String",
+      ],
+      "targetNetwork": "A String", # Required. Target network in 'target project' to which DNS queries should be forwarded to. Must be in format of `projects/{project}/global/networks/{network}`.
+      "targetProject": "A String", # Required. Target project ID to which DNS queries should be forwarded to. This can be the same project that contains the AgentGateway or a different project.
+    },
+    "egress": { # Configuration for Egress # Optional. Optional PSC-Interface network attachment for connectivity to your private VPCs network.
+      "networkAttachment": "A String", # Optional. The URI of the Network Attachment resource.
+    },
+  },
+  "protocols": [ # Required. List of protocols supported by an Agent Gateway
+    "A String",
+  ],
+  "registries": [ # Optional. A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway. Note: Currently limited to project-scoped registries Must be of format `//agentregistry.googleapis.com/projects/{project}/locations/{location}/
+    "A String",
+  ],
+  "selfManaged": { # Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. # Optional. Attach to existing Application Load Balancers or Secure Web Proxies.
+    "resourceUri": "A String", # Optional. A supported Google Cloud networking proxy in the Project and Location
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) +
Lists AgentGateways in a given project and location.
+
+Args:
+  parent: string, Required. The project and location from which the AgentGateways should be listed, specified in the format `projects/*/locations/*`. (required)
+  pageSize: integer, Optional. Maximum number of AgentGateways to return per call.
+  pageToken: string, Optional. The value returned by the last `ListAgentGatewaysResponse` Indicates that this is a continuation of a prior `ListAgentGateways` call, and that the system should return the next page of data.
+  returnPartialSuccess: boolean, Optional. If true, allow partial responses for multi-regional Aggregated List requests. Otherwise if one of the locations is down or unreachable, the Aggregated List request will fail.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response returned by the ListAgentGateways method.
+  "agentGateways": [ # List of AgentGateway resources.
+    { # AgentGateway represents the agent gateway resource.
+      "agentGatewayCard": { # AgentGatewayOutputCard contains informational output-only fields # Output only. Field for populated AgentGateway card.
+        "mtlsEndpoint": "A String", # Output only. mTLS Endpoint associated with this AgentGateway
+        "rootCertificates": [ # Output only. Root Certificates for Agents to validate this AgentGateway
+          "A String",
+        ],
+        "serviceExtensionsServiceAccount": "A String", # Output only. Service Account used by Service Extensions to operate.
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+      "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+      "googleManaged": { # Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. # Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant project.
+        "governedAccessPath": "A String", # Optional. Operating Mode of Agent Gateway.
+      },
+      "labels": { # Optional. Set of label tags associated with the AgentGateway resource.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.
+      "networkConfig": { # NetworkConfig contains network configurations for the AgentGateway. # Optional. Network configuration for the AgentGateway.
+        "dnsPeeringConfig": { # DNS peering config for the user VPC network. # Optional. Optional DNS peering configuration for connectivity to your private VPC network.
+          "domains": [ # Required. Domain names for which DNS queries should be forwarded to the target network.
+            "A String",
+          ],
+          "targetNetwork": "A String", # Required. Target network in 'target project' to which DNS queries should be forwarded to. Must be in format of `projects/{project}/global/networks/{network}`.
+          "targetProject": "A String", # Required. Target project ID to which DNS queries should be forwarded to. This can be the same project that contains the AgentGateway or a different project.
+        },
+        "egress": { # Configuration for Egress # Optional. Optional PSC-Interface network attachment for connectivity to your private VPCs network.
+          "networkAttachment": "A String", # Optional. The URI of the Network Attachment resource.
+        },
+      },
+      "protocols": [ # Required. List of protocols supported by an Agent Gateway
+        "A String",
+      ],
+      "registries": [ # Optional. A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway. Note: Currently limited to project-scoped registries Must be of format `//agentregistry.googleapis.com/projects/{project}/locations/{location}/
+        "A String",
+      ],
+      "selfManaged": { # Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. # Optional. Attach to existing Application Load Balancers or Secure Web Proxies.
+        "resourceUri": "A String", # Optional. A supported Google Cloud networking proxy in the Project and Location
+      },
+      "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+    },
+  ],
+  "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.
+  "unreachable": [ # Unreachable resources. Populated when the request attempts to list all resources across all supported locations, while some locations are temporarily unavailable.
+    "A String",
+  ],
+}
+
+ +
+ 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 the parameters of a single AgentGateway.
+
+Args:
+  name: string, Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # AgentGateway represents the agent gateway resource.
+  "agentGatewayCard": { # AgentGatewayOutputCard contains informational output-only fields # Output only. Field for populated AgentGateway card.
+    "mtlsEndpoint": "A String", # Output only. mTLS Endpoint associated with this AgentGateway
+    "rootCertificates": [ # Output only. Root Certificates for Agents to validate this AgentGateway
+      "A String",
+    ],
+    "serviceExtensionsServiceAccount": "A String", # Output only. Service Account used by Service Extensions to operate.
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "description": "A String", # Optional. A free-text description of the resource. Max length 1024 characters.
+  "etag": "A String", # Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
+  "googleManaged": { # Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project. # Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant project.
+    "governedAccessPath": "A String", # Optional. Operating Mode of Agent Gateway.
+  },
+  "labels": { # Optional. Set of label tags associated with the AgentGateway resource.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.
+  "networkConfig": { # NetworkConfig contains network configurations for the AgentGateway. # Optional. Network configuration for the AgentGateway.
+    "dnsPeeringConfig": { # DNS peering config for the user VPC network. # Optional. Optional DNS peering configuration for connectivity to your private VPC network.
+      "domains": [ # Required. Domain names for which DNS queries should be forwarded to the target network.
+        "A String",
+      ],
+      "targetNetwork": "A String", # Required. Target network in 'target project' to which DNS queries should be forwarded to. Must be in format of `projects/{project}/global/networks/{network}`.
+      "targetProject": "A String", # Required. Target project ID to which DNS queries should be forwarded to. This can be the same project that contains the AgentGateway or a different project.
+    },
+    "egress": { # Configuration for Egress # Optional. Optional PSC-Interface network attachment for connectivity to your private VPCs network.
+      "networkAttachment": "A String", # Optional. The URI of the Network Attachment resource.
+    },
+  },
+  "protocols": [ # Required. List of protocols supported by an Agent Gateway
+    "A String",
+  ],
+  "registries": [ # Optional. A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway. Note: Currently limited to project-scoped registries Must be of format `//agentregistry.googleapis.com/projects/{project}/locations/{location}/
+    "A String",
+  ],
+  "selfManaged": { # Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies. # Optional. Attach to existing Application Load Balancers or Secure Web Proxies.
+    "resourceUri": "A String", # Optional. A supported Google Cloud networking proxy in the Project and Location
+  },
+  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
+}
+
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the AgentGateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
+  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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/networkservices_v1.projects.locations.html b/docs/dyn/networkservices_v1.projects.locations.html index f41b7c4fce..914c25a3f6 100644 --- a/docs/dyn/networkservices_v1.projects.locations.html +++ b/docs/dyn/networkservices_v1.projects.locations.html @@ -74,6 +74,11 @@

Network Services API . projects . locations

Instance Methods

+

+ agentGateways() +

+

Returns the agentGateways Resource.

+

authzExtensions()

@@ -134,6 +139,16 @@

Instance Methods

Returns the meshes Resource.

+

+ multicastConsumerAssociations() +

+

Returns the multicastConsumerAssociations Resource.

+ +

+ multicastGroupConsumerActivations() +

+

Returns the multicastGroupConsumerActivations Resource.

+

operations()

diff --git a/docs/dyn/networkservices_v1.projects.locations.multicastConsumerAssociations.html b/docs/dyn/networkservices_v1.projects.locations.multicastConsumerAssociations.html index a019326d5a..61f6c0053a 100644 --- a/docs/dyn/networkservices_v1.projects.locations.multicastConsumerAssociations.html +++ b/docs/dyn/networkservices_v1.projects.locations.multicastConsumerAssociations.html @@ -78,14 +78,23 @@

Instance Methods

close()

Close httplib2 connections.

- getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)

-

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

+ create(parent, body=None, multicastConsumerAssociationId=None, requestId=None, x__xgafv=None)

+

Creates a new multicast consumer association in a given project and location.

- setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes a single multicast consumer association.

- testIamPermissions(resource, body=None, x__xgafv=None)

-

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

+ get(name, x__xgafv=None)

+

Gets details of a single multicast consumer association.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists multicast consumer associations in a given project and location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

+

Updates the parameters of a single multicast consumer association.

Method Details

close() @@ -93,12 +102,34 @@

Method Details

- getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None) -
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
+    create(parent, body=None, multicastConsumerAssociationId=None, requestId=None, x__xgafv=None)
+  
Creates a new multicast consumer association in a given project and location.
 
 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).
+  parent: string, Required. The parent resource of the multicast consumer association. Use the following format: `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Multicast consumer association resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast consumer association was created.
+  "description": "A String", # Optional. An optional text description of the multicast consumer association.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "multicastDomainActivation": "A String", # Optional. The resource name of the multicast domain activation that is in the same zone as this multicast consumer association. Use the following format: `projects/*/locations/*/multicastDomainActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "network": "A String", # Required. The resource name of the multicast consumer VPC network. Use following format: `projects/{project}/locations/global/networks/{network}`.
+  "placementPolicy": "A String", # Output only. [Output only] A Compute Engine (placement policy)[https://cloud.google.com/compute/docs/instances/placement-policies-overview] that can be used to place virtual machine (VM) instances as multicast consumers close to the multicast infrastructure created for this domain, on a best effort basis.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast consumer association. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast consumer association resources. If a consumer association is deleted and another with the same name is created, the new consumer association is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the Multicast Consumer Association was most recently updated.
+}
+
+  multicastConsumerAssociationId: string, Required. A unique name for the multicast consumer association. The name is restricted to lower-case letters, numbers, and hyphen, with the first character a lower-case letter, and the last a letter or a number. The name must not exceed 48 characters.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -107,83 +138,106 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. - "A String", - ], - "logType": "A String", # The log type that this config enables. - }, - ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. - }, - ], - "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. + { # 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. }, - "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`. * `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. - "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`. - }, - ], - "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). + ], + "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. + }, }
- setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
+    delete(name, requestId=None, x__xgafv=None)
+  
Deletes a single multicast consumer association.
 
 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:
+  name: string, Required. The resource name of the multicast consumer association to delete. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
-{ # 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.
-    "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-        "auditLogConfigs": [ # The configuration for logging of each type of permission.
-          { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-            "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
-              "A String",
-            ],
-            "logType": "A String", # The log type that this config enables.
-          },
-        ],
-        "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
-      },
-    ],
-    "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`. * `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.
-          "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`.
+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.
       },
     ],
-    "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).
+    "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.
   },
-  "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: "bindings, etag"`
-}
+  "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 details of a single multicast consumer association.
+
+Args:
+  name: string, Required. The resource name of the multicast consumer association to get. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
 
+Returns:
+  An object of the form:
+
+    { # Multicast consumer association resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast consumer association was created.
+  "description": "A String", # Optional. An optional text description of the multicast consumer association.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "multicastDomainActivation": "A String", # Optional. The resource name of the multicast domain activation that is in the same zone as this multicast consumer association. Use the following format: `projects/*/locations/*/multicastDomainActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "network": "A String", # Required. The resource name of the multicast consumer VPC network. Use following format: `projects/{project}/locations/global/networks/{network}`.
+  "placementPolicy": "A String", # Output only. [Output only] A Compute Engine (placement policy)[https://cloud.google.com/compute/docs/instances/placement-policies-overview] that can be used to place virtual machine (VM) instances as multicast consumers close to the multicast infrastructure created for this domain, on a best effort basis.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast consumer association. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast consumer association resources. If a consumer association is deleted and another with the same name is created, the new consumer association is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the Multicast Consumer Association was most recently updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists multicast consumer associations in a given project and location.
+
+Args:
+  parent: string, Required. The parent resource for which to list multicast consumer associations. Use the following format: `projects/*/locations/*`. (required)
+  filter: string, Optional. A filter expression that filters the resources listed in the response. The expression must be of the form ` ` where operators: `<`, `>`, `<=`, `>=`, `!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is roughly synonymous with equality). can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: * Filter by name: name = "RESOURCE_NAME" * Filter by labels: * Resources that have a key named `foo` labels.foo:* * Resources that have a key named `foo` whose value is `bar` labels.foo = bar
+  orderBy: string, Optional. A field used to sort the results by a certain order.
+  pageSize: integer, Optional. The maximum number of multicast consumer associations to return per call.
+  pageToken: string, Optional. A page token from an earlier query, as returned in `next_page_token`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -192,54 +246,76 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. - "A String", - ], - "logType": "A String", # The log type that this config enables. - }, - ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. - }, - ], - "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. + { # Response message for ListMulticastConsumerAssociations. + "multicastConsumerAssociations": [ # The list of multicast consumer associations. + { # Multicast consumer association resource. + "createTime": "A String", # Output only. [Output only] The timestamp when the multicast consumer association was created. + "description": "A String", # Optional. An optional text description of the multicast consumer association. + "labels": { # Optional. Labels as key-value pairs + "a_key": "A String", + }, + "multicastDomainActivation": "A String", # Optional. The resource name of the multicast domain activation that is in the same zone as this multicast consumer association. Use the following format: `projects/*/locations/*/multicastDomainActivations/*`. + "name": "A String", # Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`. + "network": "A String", # Required. The resource name of the multicast consumer VPC network. Use following format: `projects/{project}/locations/global/networks/{network}`. + "placementPolicy": "A String", # Output only. [Output only] A Compute Engine (placement policy)[https://cloud.google.com/compute/docs/instances/placement-policies-overview] that can be used to place virtual machine (VM) instances as multicast consumers close to the multicast infrastructure created for this domain, on a best effort basis. + "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast consumer association. Use the state field instead. + "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource. + "state": "A String", # Optional. The state of the multicast resource. }, - "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`. * `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. - "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`. + "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast consumer association resources. If a consumer association is deleted and another with the same name is created, the new consumer association is assigned a different unique_id. + "updateTime": "A String", # Output only. [Output only] The timestamp when the Multicast Consumer Association was most recently updated. }, ], - "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). + "nextPageToken": "A String", # A page token from an earlier query, as returned in `next_page_token`. + "unreachable": [ # Locations that could not be reached. + "A String", + ], }
- testIamPermissions(resource, body=None, x__xgafv=None) -
Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.
+    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, requestId=None, updateMask=None, x__xgafv=None) +
Updates the parameters of a single multicast consumer association.
 
 Args:
-  resource: string, REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  name: string, Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for `TestIamPermissions` method.
-  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
-    "A String",
-  ],
+{ # Multicast consumer association resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast consumer association was created.
+  "description": "A String", # Optional. An optional text description of the multicast consumer association.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "multicastDomainActivation": "A String", # Optional. The resource name of the multicast domain activation that is in the same zone as this multicast consumer association. Use the following format: `projects/*/locations/*/multicastDomainActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "network": "A String", # Required. The resource name of the multicast consumer VPC network. Use following format: `projects/{project}/locations/global/networks/{network}`.
+  "placementPolicy": "A String", # Output only. [Output only] A Compute Engine (placement policy)[https://cloud.google.com/compute/docs/instances/placement-policies-overview] that can be used to place virtual machine (VM) instances as multicast consumers close to the multicast infrastructure created for this domain, on a best effort basis.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast consumer association. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast consumer association resources. If a consumer association is deleted and another with the same name is created, the new consumer association is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the Multicast Consumer Association was most recently updated.
 }
 
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the MulticastConsumerAssociation resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all mutable fields present in the request will be overwritten.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -248,10 +324,24 @@ 

Method Details

Returns: An object of the form: - { # Response message for `TestIamPermissions` method. - "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed. - "A String", - ], + { # 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. + }, }
diff --git a/docs/dyn/networkservices_v1.projects.locations.multicastGroupConsumerActivations.html b/docs/dyn/networkservices_v1.projects.locations.multicastGroupConsumerActivations.html new file mode 100644 index 0000000000..54ec89a31f --- /dev/null +++ b/docs/dyn/networkservices_v1.projects.locations.multicastGroupConsumerActivations.html @@ -0,0 +1,360 @@ + + + +

Network Services API . projects . locations . multicastGroupConsumerActivations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, multicastGroupConsumerActivationId=None, requestId=None, x__xgafv=None)

+

Creates a new multicast group consumer activation in a given project and location.

+

+ delete(name, requestId=None, x__xgafv=None)

+

Deletes a single multicast group consumer activation.

+

+ get(name, x__xgafv=None)

+

Gets details of a single multicast group consumer activation.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists multicast group consumer activations in a given project and location.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

+

Updates the parameters of a single multicast group consumer activation.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, multicastGroupConsumerActivationId=None, requestId=None, x__xgafv=None) +
Creates a new multicast group consumer activation in a given project and location.
+
+Args:
+  parent: string, Required. The parent resource of the multicast group consumer activation. Use the following format: `projects/*/locations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Multicast group consumer activation resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was created.
+  "description": "A String", # Optional. An optional text description of the multicast group consumer activation.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "logConfig": { # The logging configuration. # Optional. Specifies the logging options for the activities performed related to the multicast group consumer activation. Defaults to false. If logging is enabled, logs are exported to Cloud Logging.
+    "enabled": True or False, # Optional. Whether to enable logging or not.
+  },
+  "multicastConsumerAssociation": "A String", # Required. The resource name of the multicast consumer association that is in the same zone as this multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "multicastGroup": "A String", # Optional. The resource name of the multicast group created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroups/*`. This field is deprecated. Use multicast_group_range_activation instead.
+  "multicastGroupRangeActivation": "A String", # Required. The resource name of the multicast group range activation created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroupRangeActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast group consumer activation. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast group consumer activation resources. If a group consumer activation is deleted and another with the same name is created, the new group consumer activation is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was most recently updated.
+}
+
+  multicastGroupConsumerActivationId: string, Required. A unique name for the multicast group consumer activation. The name is restricted to lower-case letters, numbers, and hyphen, with the first character a lower-case letter, and the last a letter or a number. The name must not exceed 48 characters.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  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, requestId=None, x__xgafv=None) +
Deletes a single multicast group consumer activation.
+
+Args:
+  name: string, Required. The resource name of the multicast group consumer activation to delete. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`. (required)
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  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 details of a single multicast group consumer activation.
+
+Args:
+  name: string, Required. The resource name of the multicast group consumer activation to get. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Multicast group consumer activation resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was created.
+  "description": "A String", # Optional. An optional text description of the multicast group consumer activation.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "logConfig": { # The logging configuration. # Optional. Specifies the logging options for the activities performed related to the multicast group consumer activation. Defaults to false. If logging is enabled, logs are exported to Cloud Logging.
+    "enabled": True or False, # Optional. Whether to enable logging or not.
+  },
+  "multicastConsumerAssociation": "A String", # Required. The resource name of the multicast consumer association that is in the same zone as this multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "multicastGroup": "A String", # Optional. The resource name of the multicast group created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroups/*`. This field is deprecated. Use multicast_group_range_activation instead.
+  "multicastGroupRangeActivation": "A String", # Required. The resource name of the multicast group range activation created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroupRangeActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast group consumer activation. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast group consumer activation resources. If a group consumer activation is deleted and another with the same name is created, the new group consumer activation is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was most recently updated.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists multicast group consumer activations in a given project and location.
+
+Args:
+  parent: string, Required. The parent resource for which to list multicast group consumer activations. Use the following format: `projects/*/locations/*`. (required)
+  filter: string, Optional. A filter expression that filters the resources listed in the response. The expression must be of the form ` ` where operators: `<`, `>`, `<=`, `>=`, `!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is roughly synonymous with equality). can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: * Filter by name: name = "RESOURCE_NAME" * Filter by labels: * Resources that have a key named `foo` labels.foo:* * Resources that have a key named `foo` whose value is `bar` labels.foo = bar
+  orderBy: string, Optional. A field used to sort the results by a certain order.
+  pageSize: integer, Optional. The maximum number of multicast group consumer activations to return per call.
+  pageToken: string, Optional. A page token from an earlier query, as returned in `next_page_token`.
+  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 ListMulticastGroupConsumerActivations.
+  "multicastGroupConsumerActivations": [ # The list of multicast group consumer activations.
+    { # Multicast group consumer activation resource.
+      "createTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was created.
+      "description": "A String", # Optional. An optional text description of the multicast group consumer activation.
+      "labels": { # Optional. Labels as key-value pairs
+        "a_key": "A String",
+      },
+      "logConfig": { # The logging configuration. # Optional. Specifies the logging options for the activities performed related to the multicast group consumer activation. Defaults to false. If logging is enabled, logs are exported to Cloud Logging.
+        "enabled": True or False, # Optional. Whether to enable logging or not.
+      },
+      "multicastConsumerAssociation": "A String", # Required. The resource name of the multicast consumer association that is in the same zone as this multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+      "multicastGroup": "A String", # Optional. The resource name of the multicast group created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroups/*`. This field is deprecated. Use multicast_group_range_activation instead.
+      "multicastGroupRangeActivation": "A String", # Required. The resource name of the multicast group range activation created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroupRangeActivations/*`.
+      "name": "A String", # Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.
+      "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast group consumer activation. Use the state field instead.
+      "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+        "state": "A String", # Optional. The state of the multicast resource.
+      },
+      "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast group consumer activation resources. If a group consumer activation is deleted and another with the same name is created, the new group consumer activation is assigned a different unique_id.
+      "updateTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was most recently updated.
+    },
+  ],
+  "nextPageToken": "A String", # A page token from an earlier query, as returned in `next_page_token`.
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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, requestId=None, updateMask=None, x__xgafv=None) +
Updates the parameters of a single multicast group consumer activation.
+
+Args:
+  name: string, Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Multicast group consumer activation resource.
+  "createTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was created.
+  "description": "A String", # Optional. An optional text description of the multicast group consumer activation.
+  "labels": { # Optional. Labels as key-value pairs
+    "a_key": "A String",
+  },
+  "logConfig": { # The logging configuration. # Optional. Specifies the logging options for the activities performed related to the multicast group consumer activation. Defaults to false. If logging is enabled, logs are exported to Cloud Logging.
+    "enabled": True or False, # Optional. Whether to enable logging or not.
+  },
+  "multicastConsumerAssociation": "A String", # Required. The resource name of the multicast consumer association that is in the same zone as this multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.
+  "multicastGroup": "A String", # Optional. The resource name of the multicast group created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroups/*`. This field is deprecated. Use multicast_group_range_activation instead.
+  "multicastGroupRangeActivation": "A String", # Required. The resource name of the multicast group range activation created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroupRangeActivations/*`.
+  "name": "A String", # Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.
+  "resourceState": "A String", # Output only. [Deprecated] The resource state of the multicast group consumer activation. Use the state field instead.
+  "state": { # The multicast resource's state. # Output only. [Output only] The state of the resource.
+    "state": "A String", # Optional. The state of the multicast resource.
+  },
+  "uniqueId": "A String", # Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast group consumer activation resources. If a group consumer activation is deleted and another with the same name is created, the new group consumer activation is assigned a different unique_id.
+  "updateTime": "A String", # Output only. [Output only] The timestamp when the multicast group consumer activation was most recently updated.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the MulticastGroupConsumerActivation resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all mutable fields present in the request will be overwritten.
+  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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/notebooks_v1.projects.locations.html b/docs/dyn/notebooks_v1.projects.locations.html index 82a1c3a949..7489cd73d3 100644 --- a/docs/dyn/notebooks_v1.projects.locations.html +++ b/docs/dyn/notebooks_v1.projects.locations.html @@ -112,7 +112,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -151,11 +151,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/notebooks_v2.projects.locations.html b/docs/dyn/notebooks_v2.projects.locations.html
index 6a66958a45..74f1296d7d 100644
--- a/docs/dyn/notebooks_v2.projects.locations.html
+++ b/docs/dyn/notebooks_v2.projects.locations.html
@@ -92,7 +92,7 @@ 

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -131,11 +131,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/notebooks_v2.projects.locations.instances.html b/docs/dyn/notebooks_v2.projects.locations.instances.html
index 6328e637ea..c640882b93 100644
--- a/docs/dyn/notebooks_v2.projects.locations.instances.html
+++ b/docs/dyn/notebooks_v2.projects.locations.instances.html
@@ -638,6 +638,8 @@ 

Method Details

{ # Response for getting WbI configurations in a location "availableImages": [ # Output only. The list of available images to create a WbI. { # ConfigImage represents an image release available to create a WbI + "description": "A String", # Output only. The description of the image. + "imageFamily": "A String", # Output only. The image family of the image. (ex: workbench-instances or workbench-2603) "imageName": "A String", # Output only. The name of the image of the form workbench-instances-vYYYYmmdd-- "releaseName": "A String", # Output only. The release of the image of the form m123 }, @@ -1435,6 +1437,7 @@

Method Details

The object takes the form of: { # Request for upgrading a notebook instance + "imageFamily": "A String", # Optional. The Compute Engine image family resource name to upgrade to. Format: `projects/{project_id}/global/images/family/{image_family}` If specified, the instance will be upgraded to the latest image in the specified image family, allowing upgrades across image families. If not specified, the instance will be upgraded to the latest image in its current image family. } x__xgafv: string, V1 error format. diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html index 90a515efc4..8205b690fd 100644 --- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html +++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html @@ -114,6 +114,7 @@

Method Details

"findings": [ # Findings produced by the analysis. { # Finding provides details for a single finding within an AISkillAnalysisOccurrence. "category": "A String", # Category of the finding. + "details": "A String", # Description of the finding category. "location": { # Location details with file path and line number. # Location (path and line) where the finding was detected. "filePath": "A String", # Relative path of the file containing the finding. "lineNumber": "A String", # Line number (1-based), or 0 if whole File / unknown. @@ -894,6 +895,27 @@

Method Details

"vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, + "cvssV4": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v4 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. + "baseScore": 3.14, # The base score is a function of the base metric scores. + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. + "exploitabilityScore": 3.14, + "impactScore": 3.14, + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html index 6adc614d76..f63d9b2a38 100644 --- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html +++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html @@ -114,6 +114,7 @@

Method Details

"findings": [ # Findings produced by the analysis. { # Finding provides details for a single finding within an AISkillAnalysisOccurrence. "category": "A String", # Category of the finding. + "details": "A String", # Description of the finding category. "location": { # Location details with file path and line number. # Location (path and line) where the finding was detected. "filePath": "A String", # Relative path of the file containing the finding. "lineNumber": "A String", # Line number (1-based), or 0 if whole File / unknown. @@ -894,6 +895,27 @@

Method Details

"vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. }, + "cvssV4": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v4 score for the vulnerability. + "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. + "attackRequirements": "A String", # Attack Requirements (AT). Defined in CVSS v4. + "attackVector": "A String", # Attack Vector (AV). Defined in CVSS v2, v3, v4. + "authentication": "A String", # Authentication (Au). Defined in CVSS v2. + "availabilityImpact": "A String", # Availability Impact (A). Defined in CVSS v2, v3. + "baseScore": 3.14, # The base score is a function of the base metric scores. + "confidentialityImpact": "A String", # Confidentiality Impact (C). Defined in CVSS v2, v3. + "exploitabilityScore": 3.14, + "impactScore": 3.14, + "integrityImpact": "A String", # Integrity Impact (I). Defined in CVSS v2, v3. + "privilegesRequired": "A String", # Privileges Required (PR). Defined in CVSS v3, v4. + "scope": "A String", # Scope (S). Defined in CVSS v3. + "subsequentSystemAvailabilityImpact": "A String", # Subsequent System Availability Impact (SA). Defined in CVSS v4. + "subsequentSystemConfidentialityImpact": "A String", # Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + "subsequentSystemIntegrityImpact": "A String", # Subsequent System Integrity Impact (SI). Defined in CVSS v4. + "userInteraction": "A String", # User Interaction (UI). Defined in CVSS v3, v4. + "vulnerableSystemAvailabilityImpact": "A String", # Vulnerable System Availability Impact (VA). Defined in CVSS v4. + "vulnerableSystemConfidentialityImpact": "A String", # Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + "vulnerableSystemIntegrityImpact": "A String", # Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + }, "cvssVersion": "A String", # Output only. CVSS version used to populate cvss_score and severity. "cvssv3": { # Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. # The cvss v3 score for the vulnerability. "attackComplexity": "A String", # Attack Complexity (AC). Defined in CVSS v2, v3, v4. diff --git a/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html b/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html index 354a4a8c61..e6cb994ed5 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.cloudVmClusters.html @@ -164,8 +164,8 @@

Method Details

"scanIpIds": [ # Output only. OCIDs of scan IPs. "A String", ], - "scanListenerPortTcp": 42, # Output only. SCAN listener port - TCP - "scanListenerPortTcpSsl": 42, # Output only. SCAN listener port - TLS + "scanListenerPortTcp": 42, # Optional. SCAN listener port - TCP + "scanListenerPortTcpSsl": 42, # Optional. SCAN listener port - TLS "shape": "A String", # Output only. Shape of VM Cluster. "sparseDiskgroupEnabled": True or False, # Optional. Use exadata sparse snapshots. "sshPublicKeys": [ # Optional. SSH public keys to be stored with cluster. @@ -315,8 +315,8 @@

Method Details

"scanIpIds": [ # Output only. OCIDs of scan IPs. "A String", ], - "scanListenerPortTcp": 42, # Output only. SCAN listener port - TCP - "scanListenerPortTcpSsl": 42, # Output only. SCAN listener port - TLS + "scanListenerPortTcp": 42, # Optional. SCAN listener port - TCP + "scanListenerPortTcpSsl": 42, # Optional. SCAN listener port - TLS "shape": "A String", # Output only. Shape of VM Cluster. "sparseDiskgroupEnabled": True or False, # Optional. Use exadata sparse snapshots. "sshPublicKeys": [ # Optional. SSH public keys to be stored with cluster. @@ -404,8 +404,8 @@

Method Details

"scanIpIds": [ # Output only. OCIDs of scan IPs. "A String", ], - "scanListenerPortTcp": 42, # Output only. SCAN listener port - TCP - "scanListenerPortTcpSsl": 42, # Output only. SCAN listener port - TLS + "scanListenerPortTcp": 42, # Optional. SCAN listener port - TCP + "scanListenerPortTcpSsl": 42, # Optional. SCAN listener port - TLS "shape": "A String", # Output only. Shape of VM Cluster. "sparseDiskgroupEnabled": True or False, # Optional. Use exadata sparse snapshots. "sshPublicKeys": [ # Optional. SSH public keys to be stored with cluster. diff --git a/docs/dyn/oracledatabase_v1.projects.locations.goldengateConnections.html b/docs/dyn/oracledatabase_v1.projects.locations.goldengateConnections.html index 4905497530..a513bbd96d 100644 --- a/docs/dyn/oracledatabase_v1.projects.locations.goldengateConnections.html +++ b/docs/dyn/oracledatabase_v1.projects.locations.goldengateConnections.html @@ -215,15 +215,15 @@

Method Details

"username": "A String", # Optional. The username credential. }, "googleBigQueryConnectionProperties": { # The properties of GoldengateGoogleBigQueryConnectionProperties. # Properties for a Google BigQuery Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key file Cloud Storage containing the credentials required to use Google BigQuery. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google BigQuery. "technologyType": "A String", # Optional. The technology type. }, "googleCloudStorageConnectionProperties": { # The properties of GoldengateGoogleCloudStorageConnectionProperties. # Properties for a Google Cloud Storage Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key Cloud Storage file containing the credentials required to use Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Cloud Storage. "technologyType": "A String", # Optional. The technology type. }, "googlePubsubConnectionProperties": { # The properties of GoldengateGooglePubsubConnection. # Properties for a Google Pub/Sub connection. - "serviceAccountKeyFile": "A String", # Optional. The content of the service account key file containing the credentials required to use Google Pub/Sub. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Pub/Sub. "technologyType": "A String", # Optional. The technology type of GooglePubsubConnection. }, "hdfsConnectionProperties": { # The properties of GoldengateHdfsConnection. # Properties for an HDFS connection. @@ -248,7 +248,7 @@

Method Details

"uri": "A String", # Required. The Polaris uri. }, "restIcebergCatalog": { # The REST Iceberg catalog. # The REST Iceberg catalog. - "properties": "A String", # Optional. The content of the configuration file containing additional properties for the REST catalog. + "properties": "A String", # Optional. The base64 encoded content of the configuration file containing additional properties for the REST catalog. "uri": "A String", # Required. The REST uri. }, }, @@ -270,7 +270,7 @@

Method Details

"googleCloudStorageIcebergStorage": { # The Google Cloud Storage Iceberg storage. # The Google Cloud Storage Iceberg storage. "bucket": "A String", # Required. The bucket of Google Cloud Storage. "projectId": "A String", # Required. The project ID of Google Cloud Storage. - "serviceAccountKeyFile": "A String", # Optional. The service account key file of Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file of Google Cloud Storage. }, "storageType": "A String", # Required. The type of Iceberg storage. }, @@ -288,7 +288,7 @@

Method Details

"jndiProviderUrl": "A String", # Optional. The URL that Java Message Service will use to contact the JNDI provider. e.g.: 'tcp://myjms.host.domain:61616?jms.prefetchPolicy.all=1000' "jndiSecurityCredentialsSecret": "A String", # Optional. The password associated to the principal. "jndiSecurityPrincipal": "A String", # Optional. Specifies the identity of the principal (user) to be authenticated. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses to connect the Java Message Service in plain text. @@ -297,7 +297,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of JavaMessageServiceConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useJndi": True or False, # Optional. If set to true, Java Naming and Directory Interface (JNDI) properties should be provided. @@ -312,19 +312,19 @@

Method Details

}, ], "clusterId": "A String", # Optional. The OCID of the Kafka cluster being referenced from OCI Streaming with Apache Kafka. - "consumerPropertiesFile": "A String", # Optional. The content of the consumer.properties file. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "consumerPropertiesFile": "A String", # Optional. The base64 encoded content of the consumer.properties file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password for Kafka basic/SASL auth in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for Kafka basic/SASL auth. Format: projects/{project}/secrets/{secret}/versions/{version}. - "producerPropertiesFile": "A String", # Optional. The content of the producer.properties file. + "producerPropertiesFile": "A String", # Optional. The base64 encoded content of the producer.properties file. "securityProtocol": "A String", # Optional. Security Type for Kafka. "sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "streamPoolId": "A String", # Optional. The OCID of the stream pool being referenced. "technologyType": "A String", # Optional. The technology type of KafkaConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useResourcePrincipal": True or False, # Optional. Specifies that the user intends to authenticate to the instance using a resource principal. Applicable only for OCI Streaming connections. @@ -332,7 +332,7 @@

Method Details

}, "kafkaSchemaRegistryConnectionProperties": { # The properties of GoldengateKafkaSchemaRegistryConnection. # Properties for a Kafka Schema Registry Connection. "authenticationType": "A String", # Optional. Used authentication mechanism to access Schema Registry. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password to access Schema Registry in plain text. @@ -340,7 +340,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of KafkaSchemaRegistryConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "url": "A String", # Optional. Kafka Schema Registry URL. e.g.: 'https://server1.us.oracle.com:8081' @@ -369,7 +369,7 @@

Method Details

"port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for Microsoft SQL Server. "serverCertificateValidationRequired": True or False, # Optional. If set to true, the driver validates the certificate that is sent by the database server. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1-way SSL). "technologyType": "A String", # Optional. The technology type of MicrosoftSqlserverConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the Microsoft SQL Server. }, @@ -380,8 +380,8 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect the Mongodb connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "securityProtocol": "A String", # Optional. Security Type for MongoDB. "technologyType": "A String", # Optional. The technology type of MongodbConnection. - "tlsCaFile": "A String", # Optional. Database Certificate - The content of a .pem file, containing the server public key (for 1 and 2-way SSL). - "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The content of a .pem file, containing the client public key (for 2-way SSL). + "tlsCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL). + "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL). "tlsCertificateKeyFilePassword": "A String", # Optional. Input only. The Client Certificate key file password in plain text. "tlsCertificateKeyFilePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the Client Certificate key file password in Secret Manager. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the database. @@ -400,10 +400,10 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect to MySQL. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for MySQL. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). - "sslCertFile": "A String", # Optional. Client Certificate - The content of a .pem or .crt file containing the client public key (for 2-way SSL). - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. Client Key - The content of a .pem or .crt file containing the client private key (for 2-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). + "sslCertFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem or .crt file containing the client public key (for 2-way SSL). + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. Client Key - The base64 encoded content of a .pem or .crt file containing the client private key (for 2-way SSL). "sslMode": "A String", # Optional. SSL modes for MySQL. "technologyType": "A String", # Optional. The technology type of MysqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. @@ -433,13 +433,13 @@

Method Details

"oracleConnectionProperties": { # The properties of Goldengate Oracle Database Connection. # Properties for an Oracle Database Connection. "authenticationMode": "A String", # Optional. Authentication mode. "connectionString": "A String", # Optional. Connect descriptor or Easy Connect Naming method used to connect to a database. - "gcpOracleDatabaseId": "A String", # Optional. Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. + "gcpOracleDatabaseId": "A String", # Optional. Autonomous AI Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. Format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database} "password": "A String", # Optional. Input only. The password Oracle Goldengate uses in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses. Format: projects/{project}/secrets/{secret}/versions/{version}. "sessionMode": "A String", # Optional. The mode of the database connection session to be established by the data client. "technologyType": "A String", # Optional. The technology type. "username": "A String", # Optional. The username Oracle Goldengate uses to connect. - "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. + "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. This attribute is expected to be base64 encoded. }, "oracleNosqlConnectionProperties": { # The properties of GoldengateOracleNosqlConnection. # Properties for an Oracle NoSQL connection. "privateKeyFile": "A String", # Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint. @@ -465,17 +465,17 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for PostgreSQL connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security protocol for PostgreSQL. - "sslCaFile": "A String", # Optional. The certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. - "sslCertFile": "A String", # Optional. The certificate of the PostgreSQL server. - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. The private key of the PostgreSQL server. + "sslCaFile": "A String", # Optional. The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. + "sslCertFile": "A String", # Optional. The base64 encoded certificate of the PostgreSQL server. + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. The base64 encoded private key of the PostgreSQL server. "sslMode": "A String", # Optional. SSL modes for PostgreSQL. "technologyType": "A String", # Optional. The technology type of PostgresqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. }, "redisConnectionProperties": { # The properties of GoldengateRedisConnection. # Properties for a Redis connection. "authenticationType": "A String", # Optional. Authentication type for Redis. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses for Redis connection in plain text. @@ -484,7 +484,7 @@

Method Details

"securityProtocol": "A String", # Optional. Security protocol for Redis. "servers": "A String", # Optional. Comma separated list of Redis server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 6379. Example: "server1.example.com:6379,server2.example.com:6379" "technologyType": "A String", # Optional. The technology type of RedisConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. @@ -693,15 +693,15 @@

Method Details

"username": "A String", # Optional. The username credential. }, "googleBigQueryConnectionProperties": { # The properties of GoldengateGoogleBigQueryConnectionProperties. # Properties for a Google BigQuery Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key file Cloud Storage containing the credentials required to use Google BigQuery. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google BigQuery. "technologyType": "A String", # Optional. The technology type. }, "googleCloudStorageConnectionProperties": { # The properties of GoldengateGoogleCloudStorageConnectionProperties. # Properties for a Google Cloud Storage Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key Cloud Storage file containing the credentials required to use Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Cloud Storage. "technologyType": "A String", # Optional. The technology type. }, "googlePubsubConnectionProperties": { # The properties of GoldengateGooglePubsubConnection. # Properties for a Google Pub/Sub connection. - "serviceAccountKeyFile": "A String", # Optional. The content of the service account key file containing the credentials required to use Google Pub/Sub. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Pub/Sub. "technologyType": "A String", # Optional. The technology type of GooglePubsubConnection. }, "hdfsConnectionProperties": { # The properties of GoldengateHdfsConnection. # Properties for an HDFS connection. @@ -726,7 +726,7 @@

Method Details

"uri": "A String", # Required. The Polaris uri. }, "restIcebergCatalog": { # The REST Iceberg catalog. # The REST Iceberg catalog. - "properties": "A String", # Optional. The content of the configuration file containing additional properties for the REST catalog. + "properties": "A String", # Optional. The base64 encoded content of the configuration file containing additional properties for the REST catalog. "uri": "A String", # Required. The REST uri. }, }, @@ -748,7 +748,7 @@

Method Details

"googleCloudStorageIcebergStorage": { # The Google Cloud Storage Iceberg storage. # The Google Cloud Storage Iceberg storage. "bucket": "A String", # Required. The bucket of Google Cloud Storage. "projectId": "A String", # Required. The project ID of Google Cloud Storage. - "serviceAccountKeyFile": "A String", # Optional. The service account key file of Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file of Google Cloud Storage. }, "storageType": "A String", # Required. The type of Iceberg storage. }, @@ -766,7 +766,7 @@

Method Details

"jndiProviderUrl": "A String", # Optional. The URL that Java Message Service will use to contact the JNDI provider. e.g.: 'tcp://myjms.host.domain:61616?jms.prefetchPolicy.all=1000' "jndiSecurityCredentialsSecret": "A String", # Optional. The password associated to the principal. "jndiSecurityPrincipal": "A String", # Optional. Specifies the identity of the principal (user) to be authenticated. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses to connect the Java Message Service in plain text. @@ -775,7 +775,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of JavaMessageServiceConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useJndi": True or False, # Optional. If set to true, Java Naming and Directory Interface (JNDI) properties should be provided. @@ -790,19 +790,19 @@

Method Details

}, ], "clusterId": "A String", # Optional. The OCID of the Kafka cluster being referenced from OCI Streaming with Apache Kafka. - "consumerPropertiesFile": "A String", # Optional. The content of the consumer.properties file. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "consumerPropertiesFile": "A String", # Optional. The base64 encoded content of the consumer.properties file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password for Kafka basic/SASL auth in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for Kafka basic/SASL auth. Format: projects/{project}/secrets/{secret}/versions/{version}. - "producerPropertiesFile": "A String", # Optional. The content of the producer.properties file. + "producerPropertiesFile": "A String", # Optional. The base64 encoded content of the producer.properties file. "securityProtocol": "A String", # Optional. Security Type for Kafka. "sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "streamPoolId": "A String", # Optional. The OCID of the stream pool being referenced. "technologyType": "A String", # Optional. The technology type of KafkaConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useResourcePrincipal": True or False, # Optional. Specifies that the user intends to authenticate to the instance using a resource principal. Applicable only for OCI Streaming connections. @@ -810,7 +810,7 @@

Method Details

}, "kafkaSchemaRegistryConnectionProperties": { # The properties of GoldengateKafkaSchemaRegistryConnection. # Properties for a Kafka Schema Registry Connection. "authenticationType": "A String", # Optional. Used authentication mechanism to access Schema Registry. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password to access Schema Registry in plain text. @@ -818,7 +818,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of KafkaSchemaRegistryConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "url": "A String", # Optional. Kafka Schema Registry URL. e.g.: 'https://server1.us.oracle.com:8081' @@ -847,7 +847,7 @@

Method Details

"port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for Microsoft SQL Server. "serverCertificateValidationRequired": True or False, # Optional. If set to true, the driver validates the certificate that is sent by the database server. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1-way SSL). "technologyType": "A String", # Optional. The technology type of MicrosoftSqlserverConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the Microsoft SQL Server. }, @@ -858,8 +858,8 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect the Mongodb connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "securityProtocol": "A String", # Optional. Security Type for MongoDB. "technologyType": "A String", # Optional. The technology type of MongodbConnection. - "tlsCaFile": "A String", # Optional. Database Certificate - The content of a .pem file, containing the server public key (for 1 and 2-way SSL). - "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The content of a .pem file, containing the client public key (for 2-way SSL). + "tlsCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL). + "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL). "tlsCertificateKeyFilePassword": "A String", # Optional. Input only. The Client Certificate key file password in plain text. "tlsCertificateKeyFilePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the Client Certificate key file password in Secret Manager. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the database. @@ -878,10 +878,10 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect to MySQL. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for MySQL. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). - "sslCertFile": "A String", # Optional. Client Certificate - The content of a .pem or .crt file containing the client public key (for 2-way SSL). - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. Client Key - The content of a .pem or .crt file containing the client private key (for 2-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). + "sslCertFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem or .crt file containing the client public key (for 2-way SSL). + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. Client Key - The base64 encoded content of a .pem or .crt file containing the client private key (for 2-way SSL). "sslMode": "A String", # Optional. SSL modes for MySQL. "technologyType": "A String", # Optional. The technology type of MysqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. @@ -911,13 +911,13 @@

Method Details

"oracleConnectionProperties": { # The properties of Goldengate Oracle Database Connection. # Properties for an Oracle Database Connection. "authenticationMode": "A String", # Optional. Authentication mode. "connectionString": "A String", # Optional. Connect descriptor or Easy Connect Naming method used to connect to a database. - "gcpOracleDatabaseId": "A String", # Optional. Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. + "gcpOracleDatabaseId": "A String", # Optional. Autonomous AI Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. Format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database} "password": "A String", # Optional. Input only. The password Oracle Goldengate uses in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses. Format: projects/{project}/secrets/{secret}/versions/{version}. "sessionMode": "A String", # Optional. The mode of the database connection session to be established by the data client. "technologyType": "A String", # Optional. The technology type. "username": "A String", # Optional. The username Oracle Goldengate uses to connect. - "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. + "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. This attribute is expected to be base64 encoded. }, "oracleNosqlConnectionProperties": { # The properties of GoldengateOracleNosqlConnection. # Properties for an Oracle NoSQL connection. "privateKeyFile": "A String", # Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint. @@ -943,17 +943,17 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for PostgreSQL connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security protocol for PostgreSQL. - "sslCaFile": "A String", # Optional. The certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. - "sslCertFile": "A String", # Optional. The certificate of the PostgreSQL server. - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. The private key of the PostgreSQL server. + "sslCaFile": "A String", # Optional. The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. + "sslCertFile": "A String", # Optional. The base64 encoded certificate of the PostgreSQL server. + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. The base64 encoded private key of the PostgreSQL server. "sslMode": "A String", # Optional. SSL modes for PostgreSQL. "technologyType": "A String", # Optional. The technology type of PostgresqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. }, "redisConnectionProperties": { # The properties of GoldengateRedisConnection. # Properties for a Redis connection. "authenticationType": "A String", # Optional. Authentication type for Redis. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses for Redis connection in plain text. @@ -962,7 +962,7 @@

Method Details

"securityProtocol": "A String", # Optional. Security protocol for Redis. "servers": "A String", # Optional. Comma separated list of Redis server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 6379. Example: "server1.example.com:6379,server2.example.com:6379" "technologyType": "A String", # Optional. The technology type of RedisConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. @@ -1111,15 +1111,15 @@

Method Details

"username": "A String", # Optional. The username credential. }, "googleBigQueryConnectionProperties": { # The properties of GoldengateGoogleBigQueryConnectionProperties. # Properties for a Google BigQuery Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key file Cloud Storage containing the credentials required to use Google BigQuery. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google BigQuery. "technologyType": "A String", # Optional. The technology type. }, "googleCloudStorageConnectionProperties": { # The properties of GoldengateGoogleCloudStorageConnectionProperties. # Properties for a Google Cloud Storage Connection. - "serviceAccountKeyFile": "A String", # Optional. The service account key Cloud Storage file containing the credentials required to use Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Cloud Storage. "technologyType": "A String", # Optional. The technology type. }, "googlePubsubConnectionProperties": { # The properties of GoldengateGooglePubsubConnection. # Properties for a Google Pub/Sub connection. - "serviceAccountKeyFile": "A String", # Optional. The content of the service account key file containing the credentials required to use Google Pub/Sub. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Pub/Sub. "technologyType": "A String", # Optional. The technology type of GooglePubsubConnection. }, "hdfsConnectionProperties": { # The properties of GoldengateHdfsConnection. # Properties for an HDFS connection. @@ -1144,7 +1144,7 @@

Method Details

"uri": "A String", # Required. The Polaris uri. }, "restIcebergCatalog": { # The REST Iceberg catalog. # The REST Iceberg catalog. - "properties": "A String", # Optional. The content of the configuration file containing additional properties for the REST catalog. + "properties": "A String", # Optional. The base64 encoded content of the configuration file containing additional properties for the REST catalog. "uri": "A String", # Required. The REST uri. }, }, @@ -1166,7 +1166,7 @@

Method Details

"googleCloudStorageIcebergStorage": { # The Google Cloud Storage Iceberg storage. # The Google Cloud Storage Iceberg storage. "bucket": "A String", # Required. The bucket of Google Cloud Storage. "projectId": "A String", # Required. The project ID of Google Cloud Storage. - "serviceAccountKeyFile": "A String", # Optional. The service account key file of Google Cloud Storage. + "serviceAccountKeyFile": "A String", # Optional. The base64 encoded content of the service account key file of Google Cloud Storage. }, "storageType": "A String", # Required. The type of Iceberg storage. }, @@ -1184,7 +1184,7 @@

Method Details

"jndiProviderUrl": "A String", # Optional. The URL that Java Message Service will use to contact the JNDI provider. e.g.: 'tcp://myjms.host.domain:61616?jms.prefetchPolicy.all=1000' "jndiSecurityCredentialsSecret": "A String", # Optional. The password associated to the principal. "jndiSecurityPrincipal": "A String", # Optional. Specifies the identity of the principal (user) to be authenticated. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses to connect the Java Message Service in plain text. @@ -1193,7 +1193,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of JavaMessageServiceConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useJndi": True or False, # Optional. If set to true, Java Naming and Directory Interface (JNDI) properties should be provided. @@ -1208,19 +1208,19 @@

Method Details

}, ], "clusterId": "A String", # Optional. The OCID of the Kafka cluster being referenced from OCI Streaming with Apache Kafka. - "consumerPropertiesFile": "A String", # Optional. The content of the consumer.properties file. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "consumerPropertiesFile": "A String", # Optional. The base64 encoded content of the consumer.properties file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password for Kafka basic/SASL auth in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for Kafka basic/SASL auth. Format: projects/{project}/secrets/{secret}/versions/{version}. - "producerPropertiesFile": "A String", # Optional. The content of the producer.properties file. + "producerPropertiesFile": "A String", # Optional. The base64 encoded content of the producer.properties file. "securityProtocol": "A String", # Optional. Security Type for Kafka. "sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside of the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside of the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "streamPoolId": "A String", # Optional. The OCID of the stream pool being referenced. "technologyType": "A String", # Optional. The technology type of KafkaConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "useResourcePrincipal": True or False, # Optional. Specifies that the user intends to authenticate to the instance using a resource principal. Applicable only for OCI Streaming connections. @@ -1228,7 +1228,7 @@

Method Details

}, "kafkaSchemaRegistryConnectionProperties": { # The properties of GoldengateKafkaSchemaRegistryConnection. # Properties for a Kafka Schema Registry Connection. "authenticationType": "A String", # Optional. Used authentication mechanism to access Schema Registry. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password to access Schema Registry in plain text. @@ -1236,7 +1236,7 @@

Method Details

"sslKeyPassword": "A String", # Optional. Input only. The password for the cert inside the KeyStore in plain text. "sslKeyPasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password for the cert inside the KeyStore. Format: projects/{project}/secrets/{secret}/versions/{version}. "technologyType": "A String", # Optional. The technology type of KafkaSchemaRegistryConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "url": "A String", # Optional. Kafka Schema Registry URL. e.g.: 'https://server1.us.oracle.com:8081' @@ -1265,7 +1265,7 @@

Method Details

"port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for Microsoft SQL Server. "serverCertificateValidationRequired": True or False, # Optional. If set to true, the driver validates the certificate that is sent by the database server. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1-way SSL). "technologyType": "A String", # Optional. The technology type of MicrosoftSqlserverConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the Microsoft SQL Server. }, @@ -1276,8 +1276,8 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect the Mongodb connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "securityProtocol": "A String", # Optional. Security Type for MongoDB. "technologyType": "A String", # Optional. The technology type of MongodbConnection. - "tlsCaFile": "A String", # Optional. Database Certificate - The content of a .pem file, containing the server public key (for 1 and 2-way SSL). - "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The content of a .pem file, containing the client public key (for 2-way SSL). + "tlsCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL). + "tlsCertificateKeyFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL). "tlsCertificateKeyFilePassword": "A String", # Optional. Input only. The Client Certificate key file password in plain text. "tlsCertificateKeyFilePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the Client Certificate key file password in Secret Manager. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect to the database. @@ -1296,10 +1296,10 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses to connect to MySQL. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security Type for MySQL. - "sslCaFile": "A String", # Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). - "sslCertFile": "A String", # Optional. Client Certificate - The content of a .pem or .crt file containing the client public key (for 2-way SSL). - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. Client Key - The content of a .pem or .crt file containing the client private key (for 2-way SSL). + "sslCaFile": "A String", # Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL). + "sslCertFile": "A String", # Optional. Client Certificate - The base64 encoded content of a .pem or .crt file containing the client public key (for 2-way SSL). + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. Client Key - The base64 encoded content of a .pem or .crt file containing the client private key (for 2-way SSL). "sslMode": "A String", # Optional. SSL modes for MySQL. "technologyType": "A String", # Optional. The technology type of MysqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. @@ -1329,13 +1329,13 @@

Method Details

"oracleConnectionProperties": { # The properties of Goldengate Oracle Database Connection. # Properties for an Oracle Database Connection. "authenticationMode": "A String", # Optional. Authentication mode. "connectionString": "A String", # Optional. Connect descriptor or Easy Connect Naming method used to connect to a database. - "gcpOracleDatabaseId": "A String", # Optional. Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. + "gcpOracleDatabaseId": "A String", # Optional. Autonomous AI Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. Format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database} "password": "A String", # Optional. Input only. The password Oracle Goldengate uses in plain text. "passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses. Format: projects/{project}/secrets/{secret}/versions/{version}. "sessionMode": "A String", # Optional. The mode of the database connection session to be established by the data client. "technologyType": "A String", # Optional. The technology type. "username": "A String", # Optional. The username Oracle Goldengate uses to connect. - "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. + "walletFile": "A String", # Optional. The wallet contents Oracle Goldengate uses to make connections to a database. This attribute is expected to be base64 encoded. }, "oracleNosqlConnectionProperties": { # The properties of GoldengateOracleNosqlConnection. # Properties for an Oracle NoSQL connection. "privateKeyFile": "A String", # Optional. The content of the private key file (PEM file) corresponding to the API key of the fingerprint. @@ -1361,17 +1361,17 @@

Method Details

"passwordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the password Oracle Goldengate uses for PostgreSQL connection. Format: projects/{project}/secrets/{secret}/versions/{version}. "port": 42, # Optional. The port of an endpoint usually specified for a connection. "securityProtocol": "A String", # Optional. Security protocol for PostgreSQL. - "sslCaFile": "A String", # Optional. The certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. - "sslCertFile": "A String", # Optional. The certificate of the PostgreSQL server. - "sslCrlFile": "A String", # Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA). - "sslKeyFile": "A String", # Optional. The private key of the PostgreSQL server. + "sslCaFile": "A String", # Optional. The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL. + "sslCertFile": "A String", # Optional. The base64 encoded certificate of the PostgreSQL server. + "sslCrlFile": "A String", # Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA). + "sslKeyFile": "A String", # Optional. The base64 encoded private key of the PostgreSQL server. "sslMode": "A String", # Optional. SSL modes for PostgreSQL. "technologyType": "A String", # Optional. The technology type of PostgresqlConnection. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. }, "redisConnectionProperties": { # The properties of GoldengateRedisConnection. # Properties for a Redis connection. "authenticationType": "A String", # Optional. Authentication type for Redis. - "keyStoreFile": "A String", # Optional. The content of the KeyStore file. + "keyStoreFile": "A String", # Optional. The base64 encoded content of the KeyStore file. "keyStorePassword": "A String", # Optional. Input only. The KeyStore password in plain text. "keyStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the KeyStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "password": "A String", # Optional. Input only. The password Oracle Goldengate uses for Redis connection in plain text. @@ -1380,7 +1380,7 @@

Method Details

"securityProtocol": "A String", # Optional. Security protocol for Redis. "servers": "A String", # Optional. Comma separated list of Redis server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 6379. Example: "server1.example.com:6379,server2.example.com:6379" "technologyType": "A String", # Optional. The technology type of RedisConnection. - "trustStoreFile": "A String", # Optional. The content of the TrustStore file. + "trustStoreFile": "A String", # Optional. The base64 encoded content of the TrustStore file. "trustStorePassword": "A String", # Optional. Input only. The TrustStore password in plain text. "trustStorePasswordSecretVersion": "A String", # Optional. Input only. The resource name of a secret version in Secret Manager which contains the TrustStore password. Format: projects/{project}/secrets/{secret}/versions/{version}. "username": "A String", # Optional. The username Oracle Goldengate uses to connect the associated system of the given technology. diff --git a/docs/dyn/places_v1.places.html b/docs/dyn/places_v1.places.html index bb09a1c93c..5e946d7ff8 100644 --- a/docs/dyn/places_v1.places.html +++ b/docs/dyn/places_v1.places.html @@ -345,7 +345,7 @@

Method Details

}, ], "curbsidePickup": True or False, # Specifies if the business supports curbside pickup. - "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. + "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -658,7 +658,7 @@

Method Details

}, "pureServiceAreaBusiness": True or False, # Indicates whether the place is a pure service area business. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses may not have a physical address or location on Google Maps. "rating": 3.14, # A rating between 1.0 and 5.0, based on user reviews of this place. - "regularOpeningHours": { # Information about business hour of the place. # The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. + "regularOpeningHours": { # Information about business hour of the place. # The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -812,6 +812,77 @@

Method Details

"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". }, + "transitStation": { # Represents transit-specific information for a place. # The transit station information for the place. + "agencies": [ # The transit agencies that serve this station. + { # Represents a transit agency. + "displayName": { # Localized variant of a text in a particular language. # Agency name (e.g. "VTA") in the requested language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "fareUrl": "A String", # The URL of the agency's fare details page. + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for localized branded icon of a transit system (e.g. London Underground) which should be used instead of TransitLine.vehicle_icon in the UI. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "lines": [ # The transit lines that are served by this agency. + { # Represents a single transit line. + "backgroundColor": "A String", # The background color of the labels for this transit line in #RRGGBB hex format, e.g. #909CE1. This color can also be used for drawing shapes for this transit line. + "displayName": { # Localized variant of a text in a particular language. # The long name for this transit line (e.g. "Sunnydale local"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular line (e.g. subway lines in New York). + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "id": "A String", # The id of the transit line that can be used to uniquely identify the line among other transit lines in the same transit station. This identifier is not guaranteed to be stable across different responses. + "shortDisplayName": { # Localized variant of a text in a particular language. # The short name for this transit line (e.g. "S2"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "textColor": "A String", # The text color of labels for this transit line in #RRGGBB hex format, e.g. #909CE1. + "url": "A String", # The URL of a webpage with details about this line. + "vehicleIcon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular vehicle type. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "vehicleType": "A String", # The type of vehicle using this line. + }, + ], + "url": "A String", # The URL of the agency's homepage. + }, + ], + "displayName": { # Localized variant of a text in a particular language. # The name of the station in the local language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stops": [ # Transit stops at this station. + { # Represents a transit stop within a station. This is a specific location where passengers board and alight transit vehicles, such as a platform or bus bay. This is distinct from a `Departure`, which is an event of a vehicle leaving a stop at a specific time. + "displayName": { # Localized variant of a text in a particular language. # The name of the stop. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "id": "A String", # The id of the transit stop that can be used to uniquely identify the stop among other transit stops in the same transit station. This identifier is not guaranteed to be stable across different responses. + "location": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The stop's location. + "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. + "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. + }, + "platformCode": { # Localized variant of a text in a particular language. # The platform code represented by this stop. It can be formatted in any way. (eg: "2", "Platform 2", "2-4", or "1x"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "signageText": { # Localized variant of a text in a particular language. # The verbatim text written on the signboard for this platform, e.g. "Towards Central" or "East side & Brooklyn". When `platform_code` is absent, this field is potentially the only identifier for the platform; however, both `platform_code` and `signage_text` may be set simultaneously. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stopCode": { # Localized variant of a text in a particular language. # Human readable identifier of the stop, used by transit agencies to distinguish stops with the same name. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "wheelchairAccessibleEntrance": True or False, # Wheelchair accessibility of this stop. This field indicates whether there is an accessible path from outside the station to the stop. It does not indicate whether it is possible to board a vehicle from the stop. + }, + ], + }, "types": [ # A set of type tags for this result. For example, "political" and "locality". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types "A String", ], @@ -966,7 +1037,7 @@

Method Details

}, ], "curbsidePickup": True or False, # Specifies if the business supports curbside pickup. - "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. + "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -1279,7 +1350,7 @@

Method Details

}, "pureServiceAreaBusiness": True or False, # Indicates whether the place is a pure service area business. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses may not have a physical address or location on Google Maps. "rating": 3.14, # A rating between 1.0 and 5.0, based on user reviews of this place. - "regularOpeningHours": { # Information about business hour of the place. # The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. + "regularOpeningHours": { # Information about business hour of the place. # The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -1433,6 +1504,77 @@

Method Details

"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". }, + "transitStation": { # Represents transit-specific information for a place. # The transit station information for the place. + "agencies": [ # The transit agencies that serve this station. + { # Represents a transit agency. + "displayName": { # Localized variant of a text in a particular language. # Agency name (e.g. "VTA") in the requested language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "fareUrl": "A String", # The URL of the agency's fare details page. + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for localized branded icon of a transit system (e.g. London Underground) which should be used instead of TransitLine.vehicle_icon in the UI. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "lines": [ # The transit lines that are served by this agency. + { # Represents a single transit line. + "backgroundColor": "A String", # The background color of the labels for this transit line in #RRGGBB hex format, e.g. #909CE1. This color can also be used for drawing shapes for this transit line. + "displayName": { # Localized variant of a text in a particular language. # The long name for this transit line (e.g. "Sunnydale local"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular line (e.g. subway lines in New York). + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "id": "A String", # The id of the transit line that can be used to uniquely identify the line among other transit lines in the same transit station. This identifier is not guaranteed to be stable across different responses. + "shortDisplayName": { # Localized variant of a text in a particular language. # The short name for this transit line (e.g. "S2"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "textColor": "A String", # The text color of labels for this transit line in #RRGGBB hex format, e.g. #909CE1. + "url": "A String", # The URL of a webpage with details about this line. + "vehicleIcon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular vehicle type. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "vehicleType": "A String", # The type of vehicle using this line. + }, + ], + "url": "A String", # The URL of the agency's homepage. + }, + ], + "displayName": { # Localized variant of a text in a particular language. # The name of the station in the local language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stops": [ # Transit stops at this station. + { # Represents a transit stop within a station. This is a specific location where passengers board and alight transit vehicles, such as a platform or bus bay. This is distinct from a `Departure`, which is an event of a vehicle leaving a stop at a specific time. + "displayName": { # Localized variant of a text in a particular language. # The name of the stop. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "id": "A String", # The id of the transit stop that can be used to uniquely identify the stop among other transit stops in the same transit station. This identifier is not guaranteed to be stable across different responses. + "location": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The stop's location. + "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. + "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. + }, + "platformCode": { # Localized variant of a text in a particular language. # The platform code represented by this stop. It can be formatted in any way. (eg: "2", "Platform 2", "2-4", or "1x"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "signageText": { # Localized variant of a text in a particular language. # The verbatim text written on the signboard for this platform, e.g. "Towards Central" or "East side & Brooklyn". When `platform_code` is absent, this field is potentially the only identifier for the platform; however, both `platform_code` and `signage_text` may be set simultaneously. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stopCode": { # Localized variant of a text in a particular language. # Human readable identifier of the stop, used by transit agencies to distinguish stops with the same name. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "wheelchairAccessibleEntrance": True or False, # Wheelchair accessibility of this stop. This field indicates whether there is an accessible path from outside the station to the stop. It does not indicate whether it is possible to board a vehicle from the stop. + }, + ], + }, "types": [ # A set of type tags for this result. For example, "political" and "locality". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types "A String", ], @@ -1558,15 +1700,15 @@

Method Details

{ # Response proto for SearchText. "contextualContents": [ # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. A list of contextual contents where each entry associates to the corresponding place in the same index in the places field. The contents that are relevant to the `text_query` in the request are preferred. If the contextual content is not available for one of the places, it will return non-contextual content. It will be empty only when the content is unavailable for this place. This list will have as many entries as the list of places if requested. - { # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Content that is contextual to the place query. - "justifications": [ # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Justifications for the place. - { # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Justifications for the place. Justifications answers the question of why a place could interest an end user. - "businessAvailabilityAttributesJustification": { # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. BusinessAvailabilityAttributes justifications. This shows some attributes a business has that could interest an end user. # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. + { # Content that is contextual to the place query. + "justifications": [ # Justifications for the place. + { # Justifications for the place. Justifications answers the question of why a place could interest an end user. + "businessAvailabilityAttributesJustification": { # BusinessAvailabilityAttributes justifications. This shows some attributes a business has that could interest an end user. "delivery": True or False, # If a place provides delivery. "dineIn": True or False, # If a place provides dine-in. "takeout": True or False, # If a place provides takeout. }, - "reviewJustification": { # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. User review justifications. This highlights a section of the user review that would interest an end user. For instance, if the search query is "firewood pizza", the review justification highlights the text relevant to the search query. # Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. + "reviewJustification": { # User review justifications. This highlights a section of the user review that would interest an end user. For instance, if the search query is "firewood pizza", the review justification highlights the text relevant to the search query. "highlightedText": { # The text highlighted by the justification. This is a subset of the review itself. The exact word to highlight is marked by the HighlightedTextRange. There could be several words in the text being highlighted. "highlightedTextRanges": [ # The list of the ranges of the highlighted text. { # The range of highlighted text. @@ -1727,7 +1869,7 @@

Method Details

}, ], "curbsidePickup": True or False, # Specifies if the business supports curbside pickup. - "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. + "currentOpeningHours": { # Information about business hour of the place. # The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -2040,7 +2182,7 @@

Method Details

}, "pureServiceAreaBusiness": True or False, # Indicates whether the place is a pure service area business. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses may not have a physical address or location on Google Maps. "rating": 3.14, # A rating between 1.0 and 5.0, based on user reviews of this place. - "regularOpeningHours": { # Information about business hour of the place. # The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. + "regularOpeningHours": { # Information about business hour of the place. # The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. "nextCloseTime": "A String", # The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. "nextOpenTime": "A String", # The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. "openNow": True or False, # Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. @@ -2194,6 +2336,77 @@

Method Details

"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". }, + "transitStation": { # Represents transit-specific information for a place. # The transit station information for the place. + "agencies": [ # The transit agencies that serve this station. + { # Represents a transit agency. + "displayName": { # Localized variant of a text in a particular language. # Agency name (e.g. "VTA") in the requested language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "fareUrl": "A String", # The URL of the agency's fare details page. + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for localized branded icon of a transit system (e.g. London Underground) which should be used instead of TransitLine.vehicle_icon in the UI. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "lines": [ # The transit lines that are served by this agency. + { # Represents a single transit line. + "backgroundColor": "A String", # The background color of the labels for this transit line in #RRGGBB hex format, e.g. #909CE1. This color can also be used for drawing shapes for this transit line. + "displayName": { # Localized variant of a text in a particular language. # The long name for this transit line (e.g. "Sunnydale local"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "icon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular line (e.g. subway lines in New York). + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "id": "A String", # The id of the transit line that can be used to uniquely identify the line among other transit lines in the same transit station. This identifier is not guaranteed to be stable across different responses. + "shortDisplayName": { # Localized variant of a text in a particular language. # The short name for this transit line (e.g. "S2"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "textColor": "A String", # The text color of labels for this transit line in #RRGGBB hex format, e.g. #909CE1. + "url": "A String", # The URL of a webpage with details about this line. + "vehicleIcon": { # Icon for a transit line, vehicle, or agency. # Icon identifier for this particular vehicle type. + "nameIncluded": True or False, # Whether the name is contained in the icon and there is no need to display it next to the icon. + "url": "A String", # The URL of the icon. + }, + "vehicleType": "A String", # The type of vehicle using this line. + }, + ], + "url": "A String", # The URL of the agency's homepage. + }, + ], + "displayName": { # Localized variant of a text in a particular language. # The name of the station in the local language. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stops": [ # Transit stops at this station. + { # Represents a transit stop within a station. This is a specific location where passengers board and alight transit vehicles, such as a platform or bus bay. This is distinct from a `Departure`, which is an event of a vehicle leaving a stop at a specific time. + "displayName": { # Localized variant of a text in a particular language. # The name of the stop. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "id": "A String", # The id of the transit stop that can be used to uniquely identify the stop among other transit stops in the same transit station. This identifier is not guaranteed to be stable across different responses. + "location": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # The stop's location. + "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. + "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. + }, + "platformCode": { # Localized variant of a text in a particular language. # The platform code represented by this stop. It can be formatted in any way. (eg: "2", "Platform 2", "2-4", or "1x"). + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "signageText": { # Localized variant of a text in a particular language. # The verbatim text written on the signboard for this platform, e.g. "Towards Central" or "East side & Brooklyn". When `platform_code` is absent, this field is potentially the only identifier for the platform; however, both `platform_code` and `signage_text` may be set simultaneously. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "stopCode": { # Localized variant of a text in a particular language. # Human readable identifier of the stop, used by transit agencies to distinguish stops with the same name. + "languageCode": "A String", # The text's BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + "text": "A String", # Localized string in the language corresponding to language_code below. + }, + "wheelchairAccessibleEntrance": True or False, # Wheelchair accessibility of this stop. This field indicates whether there is an accessible path from outside the station to the stop. It does not indicate whether it is possible to board a vehicle from the stop. + }, + ], + }, "types": [ # A set of type tags for this result. For example, "political" and "locality". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types "A String", ], diff --git a/docs/dyn/privateca_v1.projects.locations.caPools.certificates.html b/docs/dyn/privateca_v1.projects.locations.caPools.certificates.html index 6c83ff8b90..ebac573ec6 100644 --- a/docs/dyn/privateca_v1.projects.locations.caPools.certificates.html +++ b/docs/dyn/privateca_v1.projects.locations.caPools.certificates.html @@ -1121,7 +1121,7 @@

Method Details

Lists Certificates.
 
 Args:
-  parent: string, Required. The resource name of the parent associated with the Certificates, in the format `projects/*/locations/*/caPools/*`. The parent resource name can be in one of two forms: 1. **Specific CA Pool:** To list certificates within a single CA Pool: `projects/*/locations/*/caPools/*` 2. **All CA Pools in a Location:** To list certificates across *all* CA Pools in a given project and location, use the wildcard character (`-`) in place of the CA Pool ID. Example: `projects/*/locations/*/caPools/-` See go/ccfe-nested-collections#aggregate-listing for more details. (required)
+  parent: string, Required. The resource name of the parent associated with the Certificates, in the format `projects/*/locations/*/caPools/*`. The parent resource name can be in one of two forms: 1. **Specific CA Pool:** To list certificates within a single CA Pool: `projects/*/locations/*/caPools/*` 2. **All CA Pools in a Location:** To list certificates across *all* CA Pools in a given project and location, use the wildcard character (`-`) in place of the CA Pool ID. Example: `projects/*/locations/*/caPools/-` (required)
   filter: string, Optional. Only include resources that match the filter in the response. For details on supported filters and syntax, see [Certificates Filtering documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#filtering_support).
   orderBy: string, Optional. Specify how the results should be sorted. For details on supported fields and syntax, see [Certificates Sorting documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#sorting_support).
   pageSize: integer, Optional. Limit on the number of Certificates to include in the response. Further Certificates can subsequently be obtained by including the ListCertificatesResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.
diff --git a/docs/dyn/run_v1.namespaces.instances.html b/docs/dyn/run_v1.namespaces.instances.html
index 89a328025c..63ad72ed80 100644
--- a/docs/dyn/run_v1.namespaces.instances.html
+++ b/docs/dyn/run_v1.namespaces.instances.html
@@ -333,8 +333,8 @@ 

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -628,8 +628,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -974,8 +974,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -1286,8 +1286,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -1594,8 +1594,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -1889,8 +1889,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -2197,8 +2197,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. @@ -2505,8 +2505,8 @@

Method Details

"nodeSelector": { # Optional. The Node Selector configuration. Map of selector key to a value which matches a node. "a_key": "A String", }, + "restartPolicy": "A String", # Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'. "serviceAccountName": "A String", # Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account. - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "volumes": [ # Optional. List of volumes that can be mounted by containers belonging to the Instance. { # Volume represents a named volume in a container. "configMap": { # Not supported by Cloud Run. Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. # Not supported in Cloud Run. diff --git a/docs/dyn/run_v2.projects.locations.instances.html b/docs/dyn/run_v2.projects.locations.instances.html index 497ebf7d61..949073034a 100644 --- a/docs/dyn/run_v2.projects.locations.instances.html +++ b/docs/dyn/run_v2.projects.locations.instances.html @@ -318,6 +318,7 @@

Method Details

}, "observedGeneration": "A String", # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. "reconciling": True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. + "restartPolicy": "A String", # Optional. Restart policy for the Instance. "satisfiesPzs": True or False, # Output only. Reserved for future use. "serviceAccount": "A String", "terminalCondition": { # Defines a status condition for a resource. # Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. @@ -330,7 +331,6 @@

Method Details

"state": "A String", # State of the condition. "type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "uid": "A String", # Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. "updateTime": "A String", # Output only. The last-modified time. "urls": [ # Output only. All URLs serving traffic for this Instance. @@ -663,6 +663,7 @@

Method Details

}, "observedGeneration": "A String", # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. "reconciling": True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. + "restartPolicy": "A String", # Optional. Restart policy for the Instance. "satisfiesPzs": True or False, # Output only. Reserved for future use. "serviceAccount": "A String", "terminalCondition": { # Defines a status condition for a resource. # Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. @@ -675,7 +676,6 @@

Method Details

"state": "A String", # State of the condition. "type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "uid": "A String", # Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. "updateTime": "A String", # Output only. The last-modified time. "urls": [ # Output only. All URLs serving traffic for this Instance. @@ -994,6 +994,7 @@

Method Details

}, "observedGeneration": "A String", # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. "reconciling": True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. + "restartPolicy": "A String", # Optional. Restart policy for the Instance. "satisfiesPzs": True or False, # Output only. Reserved for future use. "serviceAccount": "A String", "terminalCondition": { # Defines a status condition for a resource. # Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. @@ -1006,7 +1007,6 @@

Method Details

"state": "A String", # State of the condition. "type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "uid": "A String", # Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. "updateTime": "A String", # Output only. The last-modified time. "urls": [ # Output only. All URLs serving traffic for this Instance. @@ -1284,6 +1284,7 @@

Method Details

}, "observedGeneration": "A String", # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`. "reconciling": True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`. + "restartPolicy": "A String", # Optional. Restart policy for the Instance. "satisfiesPzs": True or False, # Output only. Reserved for future use. "serviceAccount": "A String", "terminalCondition": { # Defines a status condition for a resource. # Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. @@ -1296,7 +1297,6 @@

Method Details

"state": "A String", # State of the condition. "type": "A String", # type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready. }, - "timeout": "A String", # Optional. Duration the instance may be active before the system will shut it down. "uid": "A String", # Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. "updateTime": "A String", # Output only. The last-modified time. "urls": [ # Output only. All URLs serving traffic for this Instance. diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.html b/docs/dyn/saasservicemgmt_v1.projects.locations.html index b932b877a4..264298f959 100644 --- a/docs/dyn/saasservicemgmt_v1.projects.locations.html +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.html @@ -94,11 +94,26 @@

Instance Methods

Returns the saas Resource.

+

+ saasReleases() +

+

Returns the saasReleases Resource.

+

tenants()

Returns the tenants Resource.

+

+ unitGroupOperations() +

+

Returns the unitGroupOperations Resource.

+ +

+ unitGroups() +

+

Returns the unitGroups Resource.

+

unitKinds()

diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.saas.html b/docs/dyn/saasservicemgmt_v1.projects.locations.saas.html index 2b1571a614..ff083da45f 100644 --- a/docs/dyn/saasservicemgmt_v1.projects.locations.saas.html +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.saas.html @@ -143,7 +143,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -192,7 +192,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -266,7 +266,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -326,7 +326,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }, @@ -393,7 +393,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -442,7 +442,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.saasReleases.html b/docs/dyn/saasservicemgmt_v1.projects.locations.saasReleases.html new file mode 100644 index 0000000000..a11a9ca843 --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.saasReleases.html @@ -0,0 +1,335 @@ + + + +

App Lifecycle Manager API . projects . locations . saasReleases

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, saasReleaseId=None, validateOnly=None, x__xgafv=None)

+

Create a new saas release.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single saas release.

+

+ get(name, x__xgafv=None)

+

Retrieve a single saas release.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of saas releases.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, saasReleaseId=None, validateOnly=None, x__xgafv=None) +
Create a new saas release.
+
+Args:
+  parent: string, Required. The parent of the saas release. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  saasReleaseId: string, Required. The ID value for the new saas release.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single saas release.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, The etag known to the client for the expected state of the saas release.
+  requestId: string, An optional request ID to identify requests.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single saas release.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of saas releases.
+
+Args:
+  parent: string, Required. The parent of the saas releases. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of saas releases to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListSaasReleases method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.
+  "saasReleases": [ # The resulting saas releases.
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+      "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+        "A String",
+      ],
+      "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+        { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+          "tier": "A String", # Required. The tier.
+          "unitKinds": [
+            { # A description of a single Unit Kind that is part of a Tier.
+              "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+                { # UnitVariable describes a parameter for a Unit.
+                  "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+                  "value": "A String", # Optional. String encoded value for the variable.
+                  "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+                },
+              ],
+              "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+            },
+          ],
+        },
+      ],
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroupOperations.html b/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroupOperations.html new file mode 100644 index 0000000000..38622c5ee1 --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroupOperations.html @@ -0,0 +1,283 @@ + + + +

App Lifecycle Manager API . projects . locations . unitGroupOperations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, unitGroupOperationId=None, validateOnly=None, x__xgafv=None)

+

Create a new unit group operation.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single unit group operation.

+

+ get(name, x__xgafv=None)

+

Retrieve a single unit group operation.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of unit group operations.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, unitGroupOperationId=None, validateOnly=None, x__xgafv=None) +
Create a new unit group operation.
+
+Args:
+  parent: string, Required. The parent of the unit group operation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  unitGroupOperationId: string, Required. The ID value for the new unit group operation.
+  validateOnly: boolean, Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single unit group operation.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  validateOnly: boolean, Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single unit group operation.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of unit group operations.
+
+Args:
+  parent: string, Required. The parent of the unit group operation. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of unit group operations to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListUnitGroupOperations method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.
+  "unitGroupOperations": [ # The resulting unit group operations.
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+      },
+      "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+      },
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+      "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+      },
+      "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroups.html b/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroups.html new file mode 100644 index 0000000000..6768fb147a --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.unitGroups.html @@ -0,0 +1,267 @@ + + + +

App Lifecycle Manager API . projects . locations . unitGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, unitGroupId=None, validateOnly=None, x__xgafv=None)

+

Create a new unit group.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single unit group.

+

+ get(name, x__xgafv=None)

+

Retrieve a single unit group.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of unit groups.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, unitGroupId=None, validateOnly=None, x__xgafv=None) +
Create a new unit group.
+
+Args:
+  parent: string, Required. The parent of the unit group. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  unitGroupId: string, Required. The ID value for the new unit group.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single unit group.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, The etag known to the client for the expected state of the unit group.
+  requestId: string, An optional request ID to identify requests.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single unit group.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of unit groups.
+
+Args:
+  parent: string, Required. The parent of the unit group. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of unit groups to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListUnitGroups method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.
+  "unitGroups": [ # The resulting unit groups.
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+      "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+      "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+      "state": "A String", # Optional. Output only. State of the UnitGroup.
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.unitKinds.html b/docs/dyn/saasservicemgmt_v1.projects.locations.unitKinds.html index 82ca328ebe..dd735ccc6d 100644 --- a/docs/dyn/saasservicemgmt_v1.projects.locations.unitKinds.html +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.unitKinds.html @@ -114,6 +114,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -178,6 +179,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -267,6 +269,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -342,6 +345,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -424,6 +428,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -488,6 +493,7 @@

Method Details

"annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations "a_key": "A String", }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.unitOperations.html b/docs/dyn/saasservicemgmt_v1.projects.locations.unitOperations.html index b5f3da1357..ed5c095786 100644 --- a/docs/dyn/saasservicemgmt_v1.projects.locations.unitOperations.html +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.unitOperations.html @@ -139,7 +139,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -209,7 +209,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -304,7 +304,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -385,7 +385,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -473,7 +473,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -543,7 +543,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. diff --git a/docs/dyn/saasservicemgmt_v1.projects.locations.units.html b/docs/dyn/saasservicemgmt_v1.projects.locations.units.html index d7ab3fea96..6c8db9f99d 100644 --- a/docs/dyn/saasservicemgmt_v1.projects.locations.units.html +++ b/docs/dyn/saasservicemgmt_v1.projects.locations.units.html @@ -179,6 +179,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -263,6 +264,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -372,6 +374,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -467,6 +470,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }, @@ -569,6 +573,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -653,6 +658,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.html index 0987b4bdc7..970289e7dc 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.html @@ -114,11 +114,26 @@

Instance Methods

Returns the saas Resource.

+

+ saasReleases() +

+

Returns the saasReleases Resource.

+

tenants()

Returns the tenants Resource.

+

+ unitGroupOperations() +

+

Returns the unitGroupOperations Resource.

+ +

+ unitGroups() +

+

Returns the unitGroups Resource.

+

unitKinds()

diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html index a42b0513ce..05db7e8efb 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saas.html @@ -149,7 +149,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -204,7 +204,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -284,7 +284,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -350,7 +350,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }, @@ -423,7 +423,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -478,7 +478,7 @@

Method Details

}, ], "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saas/{saas}" - "state": "A String", # Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + "state": "A String", # Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saasReleases.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saasReleases.html new file mode 100644 index 0000000000..c70d821dc9 --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.saasReleases.html @@ -0,0 +1,427 @@ + + + +

App Lifecycle Manager API . projects . locations . saasReleases

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, saasReleaseId=None, validateOnly=None, x__xgafv=None)

+

Create a new saas release.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single saas release.

+

+ get(name, x__xgafv=None)

+

Retrieve a single saas release.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of saas releases.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

+

Update a single saas release.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, saasReleaseId=None, validateOnly=None, x__xgafv=None) +
Create a new saas release.
+
+Args:
+  parent: string, Required. The parent of the saas release. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  saasReleaseId: string, Required. The ID value for the new saas release.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single saas release.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, The etag known to the client for the expected state of the saas release.
+  requestId: string, An optional request ID to identify requests.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single saas release.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of saas releases.
+
+Args:
+  parent: string, Required. The parent of the saas releases. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of saas releases to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListSaasReleases method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.
+  "saasReleases": [ # The resulting saas releases.
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+      "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+        "A String",
+      ],
+      "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+        { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+          "tier": "A String", # Required. The tier.
+          "unitKinds": [
+            { # A description of a single Unit Kind that is part of a Tier.
+              "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+                { # UnitVariable describes a parameter for a Unit.
+                  "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+                  "value": "A String", # Optional. String encoded value for the variable.
+                  "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+                },
+              ],
+              "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+            },
+          ],
+        },
+      ],
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None) +
Update a single saas release.
+
+Args:
+  name: string, Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}" (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  updateMask: string, Field mask is used to specify the fields to be overwritten.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/saasReleases/{saasRelease}"
+  "releases": [ # Required. The Releases that are assigned to this SaasRelease.
+    "A String",
+  ],
+  "tierMappings": [ # Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.
+    { # TierMapping describes the mapping between a Tier and its associated UnitKinds.
+      "tier": "A String", # Required. The tier.
+      "unitKinds": [
+        { # A description of a single Unit Kind that is part of a Tier.
+          "inputVariables": [ # Optional. Output only. Input variables for the UnitKind.
+            { # UnitVariable describes a parameter for a Unit.
+              "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool.
+              "value": "A String", # Optional. String encoded value for the variable.
+              "variable": "A String", # Required. Immutable. Name of the variable from actuation configs.
+            },
+          ],
+          "unitKind": "A String", # Required. Immutable. The unique identifier of the UnitKind.
+        },
+      ],
+    },
+  ],
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroupOperations.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroupOperations.html new file mode 100644 index 0000000000..ee2231de7a --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroupOperations.html @@ -0,0 +1,349 @@ + + + +

App Lifecycle Manager API . projects . locations . unitGroupOperations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, unitGroupOperationId=None, validateOnly=None, x__xgafv=None)

+

Create a new unit group operation.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single unit group operation.

+

+ get(name, x__xgafv=None)

+

Retrieve a single unit group operation.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of unit group operations.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

+

Update a single unit group operation.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, unitGroupOperationId=None, validateOnly=None, x__xgafv=None) +
Create a new unit group operation.
+
+Args:
+  parent: string, Required. The parent of the unit group operation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  unitGroupOperationId: string, Required. The ID value for the new unit group operation.
+  validateOnly: boolean, Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single unit group operation.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  validateOnly: boolean, Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single unit group operation.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of unit group operations.
+
+Args:
+  parent: string, Required. The parent of the unit group operation. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of unit group operations to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListUnitGroupOperations method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.
+  "unitGroupOperations": [ # The resulting unit group operations.
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+      },
+      "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+      },
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+      "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+      },
+      "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None) +
Update a single unit group operation.
+
+Args:
+  name: string, Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}" (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the UnitGroupOperation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields in the UnitGroupOperation will be overwritten.
+  validateOnly: boolean, Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroupOperation represents an operation on a UnitGroup.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "deprovisionUnitGroup": { # DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. # Optional. Represents a deprovision operation on a UnitGroup.
+  },
+  "detachUnitGroup": { # DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. # Optional. Represents a detach operation on a UnitGroup.
+  },
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}"
+  "provisionUnitGroup": { # ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. # Optional. Represents a provision operation on a UnitGroup.
+  },
+  "tier": "A String", # Optional. Tier represents the tier level of the UnitGroupOperation.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroups.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroups.html new file mode 100644 index 0000000000..d615dc688d --- /dev/null +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitGroups.html @@ -0,0 +1,325 @@ + + + +

App Lifecycle Manager API . projects . locations . unitGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, requestId=None, unitGroupId=None, validateOnly=None, x__xgafv=None)

+

Create a new unit group.

+

+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

+

Delete a single unit group.

+

+ get(name, x__xgafv=None)

+

Retrieve a single unit group.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Retrieve a collection of unit groups.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

+

Update a single unit group.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, requestId=None, unitGroupId=None, validateOnly=None, x__xgafv=None) +
Create a new unit group.
+
+Args:
+  parent: string, Required. The parent of the unit group. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  unitGroupId: string, Required. The ID value for the new unit group.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None) +
Delete a single unit group.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  etag: string, The etag known to the client for the expected state of the unit group.
+  requestId: string, An optional request ID to identify requests.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ get(name, x__xgafv=None) +
Retrieve a single unit group.
+
+Args:
+  name: string, Required. The resource name of the resource within a service. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) +
Retrieve a collection of unit groups.
+
+Args:
+  parent: string, Required. The parent of the unit group. (required)
+  filter: string, Filter the list as specified in https://google.aip.dev/160.
+  orderBy: string, Order results as specified in https://google.aip.dev/132.
+  pageSize: integer, The maximum number of unit groups to send per page.
+  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response structure for the ListUnitGroups method.
+  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.
+  "unitGroups": [ # The resulting unit groups.
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+        "a_key": "A String",
+      },
+      "createTime": "A String", # Output only. The timestamp when the resource was created.
+      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+        "a_key": "A String",
+      },
+      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+      "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+      "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+      "state": "A String", # Optional. Output only. State of the UnitGroup.
+      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+    },
+  ],
+  "unreachable": [ # Locations that could not be reached.
+    "A String",
+  ],
+}
+
+ +
+ 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, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None) +
Update a single unit group.
+
+Args:
+  name: string, Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}" (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+  requestId: string, An optional request ID to identify requests.
+  updateMask: string, Field mask is used to specify the fields to be overwritten.
+  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.
+  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
+    "a_key": "A String",
+  },
+  "createTime": "A String", # Output only. The timestamp when the resource was created.
+  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
+  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
+    "a_key": "A String",
+  },
+  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitGroups/{unitGroup}"
+  "saas": "A String", # Required. Immutable. The SaaS that this UnitGroup is created for.
+  "saasRelease": "A String", # Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.
+  "state": "A String", # Optional. Output only. State of the UnitGroup.
+  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
+  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitKinds.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitKinds.html index 68458ad102..6f53aef636 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitKinds.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitKinds.html @@ -129,6 +129,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -208,6 +209,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -312,6 +314,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -402,6 +405,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -499,6 +503,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", @@ -578,6 +583,7 @@

Method Details

}, "revision": "A String", # Revision of the component. If the component does not have a revision, this field will be explicitly set to the revision of the composite ApplicationTemplate. }, + "boundaryType": "A String", # Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. "createTime": "A String", # Output only. The timestamp when the resource was created. "defaultFlagRevisions": [ # Optional. Default revisions of flags for this UnitKind. Newly created units will use the flag default_flag_revisions present at the time of creation. "A String", diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitOperations.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitOperations.html index 3a1722e166..baaedcf3fe 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitOperations.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.unitOperations.html @@ -139,7 +139,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -209,7 +209,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -304,7 +304,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -385,7 +385,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -473,7 +473,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. @@ -543,7 +543,7 @@

Method Details

}, "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/unitOperations/{unitOperation}" "parentUnitOperation": "A String", # Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) - "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. + "provision": { # Provision is the unit operation that provision the underlying resources represented by a Unit. Can only execute if the Unit is not currently provisioned. # Optional. Provision operation. "inputVariables": [ # Optional. Set of input variables. Maximum 100. (optional) { # UnitVariable describes a parameter for a Unit. "type": "A String", # Optional. Immutable. Name of a supported variable type. Supported types are string, int, bool. diff --git a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html index a1558956aa..65be4a55e2 100644 --- a/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html +++ b/docs/dyn/saasservicemgmt_v1beta1.projects.locations.units.html @@ -181,6 +181,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -267,6 +268,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -378,6 +380,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
@@ -475,6 +478,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }, @@ -579,6 +583,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. } @@ -665,6 +670,7 @@

Method Details

"systemManagedState": "A String", # Optional. Output only. Indicates the system managed state of the unit. "tenant": "A String", # Optional. Reference to the Saas Tenant resource this unit belongs to. This for example informs the maintenance policies to use for scheduling future updates on a unit. (optional and immutable once created) "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + "unitGroup": "A String", # Optional. Output only. Reference to the UnitGroup this unit belongs to. "unitKind": "A String", # Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. }
diff --git a/docs/dyn/searchads360_v23.audienceInsights.html b/docs/dyn/searchads360_v23.audienceInsights.html new file mode 100644 index 0000000000..82524d27c9 --- /dev/null +++ b/docs/dyn/searchads360_v23.audienceInsights.html @@ -0,0 +1,123 @@ + + + +

Search Ads 360 Reporting API . audienceInsights

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ listInsightsEligibleDates(body=None, x__xgafv=None)

+

Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ listInsightsEligibleDates(body=None, x__xgafv=None) +
Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.ListInsightsEligibleDates.
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 AudienceInsightsService.ListInsightsEligibleDates.
+  "dataMonths": [ # The months for which AudienceInsights data is currently available, each represented as a string in the form "YYYY-MM".
+    "A String",
+  ],
+  "lastThirtyDays": { # A date range. # The actual dates covered by the "last 30 days" date range that will be used implicitly for AudienceInsightsService.GenerateAudienceCompositionInsights requests that have no data_month set.
+    "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+    "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.AdGroupCriterionCustomizers.html b/docs/dyn/searchads360_v23.customers.AdGroupCriterionCustomizers.html new file mode 100644 index 0000000000..d4712191d3 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.AdGroupCriterionCustomizers.html @@ -0,0 +1,155 @@ + + + +

Search Ads 360 Reporting API . customers . AdGroupCriterionCustomizers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes ad group criterion customizers. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes ad group criterion customizers. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad group criterion customizers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers.
+  "operations": [ # Required. The list of operations to perform on individual ad group criterion customizers.
+    { # A single operation (create, remove) on a customizer attribute.
+      "create": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # Create operation: No resource name is expected for the new ad group criterion customizer.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group criterion customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group criterion customizer mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad group criterion customizer mutate.
+      "adGroupCriterionCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group criterion customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.CampaignGoalConfigs.html b/docs/dyn/searchads360_v23.customers.CampaignGoalConfigs.html new file mode 100644 index 0000000000..25d55b7562 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.CampaignGoalConfigs.html @@ -0,0 +1,161 @@ + + + +

Search Ads 360 Reporting API . customers . CampaignGoalConfigs

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign goal configs are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs.
+  "operations": [ # Required. The list of operations to perform on the campaign goal configs.
+    { # A single mutate operation on the campaign goal config.
+      "create": { # A link between a campaign and a goal enabling campaign-specific optimization. # Create a new campaign goal config.
+        "campaign": "A String", # Immutable. The resource name of the campaign for this link.
+        "campaignRetentionSettings": { # Retention campaign goal settings. # Retention goal campaign settings.
+          "targetOption": "A String", # Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.
+          "valueSettingsOverride": { # Lifecycle goal optimization value settings. # Retention goal campaign specific value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+        "goal": "A String", # Immutable. The resource name of the goal this link is attached to.
+        "goalType": "A String", # Output only. The goal type this link is attached to.
+        "resourceName": "A String", # Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`
+      },
+      "remove": "A String", # Remove an existing campaign goal config.
+      "update": { # A link between a campaign and a goal enabling campaign-specific optimization. # Update an existing campaign goal config.
+        "campaign": "A String", # Immutable. The resource name of the campaign for this link.
+        "campaignRetentionSettings": { # Retention campaign goal settings. # Retention goal campaign settings.
+          "targetOption": "A String", # Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.
+          "valueSettingsOverride": { # Lifecycle goal optimization value settings. # Retention goal campaign specific value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+        "goal": "A String", # Immutable. The resource name of the goal this link is attached to.
+        "goalType": "A String", # Output only. The goal type this link is attached to.
+        "resourceName": "A String", # Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`
+      },
+      "updateMask": "A String", # FieldMask that determines which fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # Optional. If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign goal config mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign goal config mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.CustomerCustomizers.html b/docs/dyn/searchads360_v23.customers.CustomerCustomizers.html new file mode 100644 index 0000000000..9b3152ed9a --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.CustomerCustomizers.html @@ -0,0 +1,153 @@ + + + +

Search Ads 360 Reporting API . customers . CustomerCustomizers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes customer customizers. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes customer customizers. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer customizers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerCustomizerService.MutateCustomerCustomizers.
+  "operations": [ # Required. The list of operations to perform on individual customer customizers.
+    { # A single operation (create, remove) on a customizer attribute.
+      "create": { # A customizer value for the associated CustomizerAttribute at the Customer level. # Create operation: No resource name is expected for the new customer customizer
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+        "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customer customizer attribute.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customizer attribute mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the customizer attribute mutate.
+      "customerCustomizer": { # A customizer value for the associated CustomizerAttribute at the Customer level. # The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+        "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customer customizer attribute.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.Goals.html b/docs/dyn/searchads360_v23.customers.Goals.html new file mode 100644 index 0000000000..c1839130c5 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.Goals.html @@ -0,0 +1,160 @@ + + + +

Search Ads 360 Reporting API . customers . Goals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose goals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GoalService.MutateGoals.
+  "operations": [ # Required. The list of operations to perform on the goals.
+    { # A single mutate operation on the goal.
+      "create": { # Representation of goals. # Create a new goal.
+        "goalId": "A String", # Output only. The ID of this goal.
+        "goalType": "A String", # Output only. The type of this goal.
+        "optimizationEligibility": "A String", # Output only. Indicates if this goal is eligible for campaign optimization.
+        "ownerCustomer": "A String", # Output only. The resource name of the goal owner customer.
+        "resourceName": "A String", # Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
+        "retentionGoalSettings": { # Retention goal settings. # Retention goal settings.
+          "valueSettings": { # Lifecycle goal optimization value settings. # Retention goal value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+      },
+      "update": { # Representation of goals. # Update an existing goal.
+        "goalId": "A String", # Output only. The ID of this goal.
+        "goalType": "A String", # Output only. The type of this goal.
+        "optimizationEligibility": "A String", # Output only. Indicates if this goal is eligible for campaign optimization.
+        "ownerCustomer": "A String", # Output only. The resource name of the goal owner customer.
+        "resourceName": "A String", # Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
+        "retentionGoalSettings": { # Retention goal settings. # Retention goal settings.
+          "valueSettings": { # Lifecycle goal optimization value settings. # Retention goal value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # Optional. If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a goal mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the goal mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.accountBudgetProposals.html b/docs/dyn/searchads360_v23.customers.accountBudgetProposals.html new file mode 100644 index 0000000000..306d8ed0b0 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.accountBudgetProposals.html @@ -0,0 +1,145 @@ + + + +

Search Ads 360 Reporting API . customers . accountBudgetProposals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AccountBudgetProposalService.MutateAccountBudgetProposal.
+  "operation": { # A single operation to propose the creation of a new account-level budget or edit/end/remove an existing one. # Required. The operation to perform on an individual account-level budget proposal.
+    "create": { # An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty. # Create operation: A new proposal to create a new budget, edit an existing budget, end an actively running budget, or remove an approved budget scheduled to start in the future. No resource name is expected for the new proposal.
+      "accountBudget": "A String", # Immutable. The resource name of the account-level budget associated with this proposal.
+      "approvalDateTime": "A String", # Output only. The date time when this account-level budget was approved, if applicable.
+      "approvedEndDateTime": "A String", # Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.
+      "approvedEndTimeType": "A String", # Output only. The approved end date time as a well-defined type, for example, FOREVER.
+      "approvedSpendingLimitMicros": "A String", # Output only. The approved spending limit in micros. One million is equivalent to one unit.
+      "approvedSpendingLimitType": "A String", # Output only. The approved spending limit as a well-defined type, for example, INFINITE.
+      "approvedStartDateTime": "A String", # Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.
+      "billingSetup": "A String", # Immutable. The resource name of the billing setup associated with this proposal.
+      "creationDateTime": "A String", # Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.
+      "id": "A String", # Output only. The ID of the proposal.
+      "proposalType": "A String", # Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.
+      "proposedEndDateTime": "A String", # Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+      "proposedEndTimeType": "A String", # Immutable. The proposed end date time as a well-defined type, for example, FOREVER.
+      "proposedName": "A String", # Immutable. The name to assign to the account-level budget.
+      "proposedNotes": "A String", # Immutable. Notes associated with this budget.
+      "proposedPurchaseOrderNumber": "A String", # Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.
+      "proposedSpendingLimitMicros": "A String", # Immutable. The proposed spending limit in micros. One million is equivalent to one unit.
+      "proposedSpendingLimitType": "A String", # Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.
+      "proposedStartDateTime": "A String", # Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+      "proposedStartTimeType": "A String", # Immutable. The proposed start date time as a well-defined type, for example, NOW.
+      "resourceName": "A String", # Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+      "status": "A String", # Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.
+    },
+    "remove": "A String", # Remove operation: A resource name for the removed proposal is expected, in this format: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` A request may be cancelled iff it is pending.
+    "updateMask": "A String", # FieldMask that determines which budget fields are modified. While budgets may be modified, proposals that propose such modifications are final. Therefore, update operations are not supported for proposals. Proposals that modify budgets have the 'update' proposal type. Specifying a mask for any other proposal type is considered an error.
+  },
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 account-level budget mutate operations.
+  "result": { # The result for the account budget proposal mutate. # The result of the mutate.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.accountLinks.html b/docs/dyn/searchads360_v23.customers.accountLinks.html new file mode 100644 index 0000000000..d5ac82cfba --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.accountLinks.html @@ -0,0 +1,181 @@ + + + +

Search Ads 360 Reporting API . customers . accountLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(customerId, body=None, x__xgafv=None)

+

Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]()

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(customerId, body=None, x__xgafv=None) +
Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which the account link is created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AccountLinkService.CreateAccountLink.
+  "accountLink": { # Represents the data sharing connection between a Google Ads account and another account # Required. The account link to be created.
+    "accountLinkId": "A String", # Output only. The ID of the link. This field is read only.
+    "resourceName": "A String", # Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`
+    "status": "A String", # The status of the link.
+    "thirdPartyAppAnalytics": { # The identifiers of a Third Party App Analytics Link. # Immutable. A third party app analytics link.
+      "appAnalyticsProviderId": "A String", # Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+      "appId": "A String", # Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+      "appVendor": "A String", # Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+    },
+    "type": "A String", # Output only. The type of the linked account.
+  },
+}
+
+  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 AccountLinkService.CreateAccountLink.
+  "resourceName": "A String", # Returned for successful operations. Resource name of the account link.
+}
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AccountLinkService.MutateAccountLink.
+  "operation": { # A single update on an account link. # Required. The operation to perform on the link.
+    "remove": "A String", # Remove operation: A resource name for the account link to remove is expected, in this format: `customers/{customer_id}/accountLinks/{account_link_id}`
+    "update": { # Represents the data sharing connection between a Google Ads account and another account # Update operation: The account link is expected to have a valid resource name.
+      "accountLinkId": "A String", # Output only. The ID of the link. This field is read only.
+      "resourceName": "A String", # Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`
+      "status": "A String", # The status of the link.
+      "thirdPartyAppAnalytics": { # The identifiers of a Third Party App Analytics Link. # Immutable. A third party app analytics link.
+        "appAnalyticsProviderId": "A String", # Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+        "appId": "A String", # Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+        "appVendor": "A String", # Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+      },
+      "type": "A String", # Output only. The type of the linked account.
+    },
+    "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+  },
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 account link mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "result": { # The result for the account link mutate. # Result for the mutate.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupAdLabels.html b/docs/dyn/searchads360_v23.customers.adGroupAdLabels.html new file mode 100644 index 0000000000..a36ad42381 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupAdLabels.html @@ -0,0 +1,140 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupAdLabels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose ad group ad labels are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupAdLabelService.MutateAdGroupAdLabels.
+  "operations": [ # Required. The list of operations to perform on ad group ad labels.
+    { # A single operation (create, remove) on an ad group ad label.
+      "create": { # A relationship between an ad group ad and a label. # Create operation: No resource name is expected for the new ad group ad label.
+        "adGroupAd": "A String", # Immutable. The ad group ad to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group ad.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group ad labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for an ad group ad label mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupAds.html b/docs/dyn/searchads360_v23.customers.adGroupAds.html new file mode 100644 index 0000000000..3b39ebfd84 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupAds.html @@ -0,0 +1,8622 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupAds

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()

+

+ removeAutomaticallyCreatedAssets(adGroupAd, body=None, x__xgafv=None)

+

Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose ads are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupAdService.MutateAdGroupAds.
+  "operations": [ # Required. The list of operations to perform on individual ads.
+    { # A single operation (create, update, remove) on an ad group ad.
+      "create": { # An ad group ad. # Create operation: No resource name is expected for the new ad.
+        "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+          "A String",
+        ],
+        "ad": { # An ad. # Immutable. The ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+        "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+          { # Asset automation setting for an AdGroupAd.
+            "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+            "assetAutomationType": "A String", # The asset automation type that this setting configures.
+          },
+        ],
+        "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+          "A String",
+        ],
+        "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+        "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+        "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+          "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+        },
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "status": "A String", # The status of the ad.
+      },
+      "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+        "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          "A String",
+        ],
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+      "update": { # An ad group ad. # Update operation: The ad is expected to have a valid resource name.
+        "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+          "A String",
+        ],
+        "ad": { # An ad. # Immutable. The ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+        "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+          { # Asset automation setting for an AdGroupAd.
+            "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+            "assetAutomationType": "A String", # The asset automation type that this setting configures.
+          },
+        ],
+        "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+          "A String",
+        ],
+        "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+        "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+        "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+          "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+        },
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "status": "A String", # The status of the ad.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group ad mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad mutate.
+      "adGroupAd": { # An ad group ad. # The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+          "A String",
+        ],
+        "ad": { # An ad. # Immutable. The ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+        "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+          { # Asset automation setting for an AdGroupAd.
+            "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+            "assetAutomationType": "A String", # The asset automation type that this setting configures.
+          },
+        ],
+        "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+          "A String",
+        ],
+        "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+        "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+        "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+          "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+        },
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "status": "A String", # The status of the ad.
+      },
+      "resourceName": "A String", # The resource name returned for successful operations.
+    },
+  ],
+}
+
+ +
+ removeAutomaticallyCreatedAssets(adGroupAd, body=None, x__xgafv=None) +
Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  adGroupAd: string, Required. The resource name of the AdGroupAd from which to remove automatically created assets. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets.
+  "assetsWithFieldType": [ # Required. List of assets with field type to be removed from the AdGroupAd.
+    { # The combination of system asset and field type to remove.
+      "asset": "A String", # Required. The resource name of the asset to be removed.
+      "assetFieldType": "A String", # Required. The asset field type.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupAssetSets.html b/docs/dyn/searchads360_v23.customers.adGroupAssetSets.html new file mode 100644 index 0000000000..e4b9bf21ce --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupAssetSets.html @@ -0,0 +1,147 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupAssetSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, or removes ad group asset sets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, or removes ad group asset sets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad group asset sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupAssetSetService.MutateAdGroupAssetSets.
+  "operations": [ # Required. The list of operations to perform on individual ad group asset sets.
+    { # A single operation (create, remove) on an ad group asset set.
+      "create": { # AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group. # Create operation: No resource name is expected for the new ad group asset set.
+        "adGroup": "A String", # Immutable. The ad group to which this asset set is linked.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the ad group asset set. Read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group asset set is expected, in this format: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group asset set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad group asset set mutate.
+      "adGroupAssetSet": { # AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group. # The mutated ad group asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroup": "A String", # Immutable. The ad group to which this asset set is linked.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the ad group asset set. Read-only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupAssets.html b/docs/dyn/searchads360_v23.customers.adGroupAssets.html new file mode 100644 index 0000000000..250fd7fc13 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupAssets.html @@ -0,0 +1,205 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupAssets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad group assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupAssetService.MutateAdGroupAssets.
+  "operations": [ # Required. The list of operations to perform on individual ad group assets.
+    { # A single operation (create, update, remove) on an ad group asset.
+      "create": { # A link between an ad group and an asset. # Create operation: No resource name is expected for the new ad group asset.
+        "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the adgroup asset link.
+        "status": "A String", # Status of the ad group asset.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+      "update": { # A link between an ad group and an asset. # Update operation: The ad group asset is expected to have a valid resource name.
+        "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the adgroup asset link.
+        "status": "A String", # Status of the ad group asset.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad group asset mutate.
+      "adGroupAsset": { # A link between an ad group and an asset. # The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the adgroup asset link.
+        "status": "A String", # Status of the ad group asset.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupBidModifiers.html b/docs/dyn/searchads360_v23.customers.adGroupBidModifiers.html new file mode 100644 index 0000000000..79f2800c90 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupBidModifiers.html @@ -0,0 +1,223 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupBidModifiers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose ad group bid modifiers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers.
+  "operations": [ # Required. The list of operations to perform on individual ad group bid modifiers.
+    { # A single operation (create, remove, update) on an ad group bid modifier.
+      "create": { # Represents an ad group bid modifier. # Create operation: No resource name is expected for the new ad group bid modifier.
+        "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+        "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+        "bidModifierSource": "A String", # Output only. Bid modifier source.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "device": { # A device criterion. # Immutable. A device criterion.
+          "type": "A String", # Type of the device.
+        },
+        "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+          "maxDays": "A String", # High end of the number of days prior to the stay.
+          "minDays": "A String", # Low end of the number of days prior to the stay.
+        },
+        "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+          "endDate": "A String", # End date in the YYYY-MM-DD format.
+          "startDate": "A String", # Start date in the YYYY-MM-DD format.
+        },
+        "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+          "dayOfWeek": "A String", # The day of the week.
+        },
+        "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+          "type": "A String", # Type of the hotel date selection
+        },
+        "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+          "maxNights": "A String", # High end of the number of nights in the stay.
+          "minNights": "A String", # Low end of the number of nights in the stay.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+      "update": { # Represents an ad group bid modifier. # Update operation: The ad group bid modifier is expected to have a valid resource name.
+        "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+        "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+        "bidModifierSource": "A String", # Output only. Bid modifier source.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "device": { # A device criterion. # Immutable. A device criterion.
+          "type": "A String", # Type of the device.
+        },
+        "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+          "maxDays": "A String", # High end of the number of days prior to the stay.
+          "minDays": "A String", # Low end of the number of days prior to the stay.
+        },
+        "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+          "endDate": "A String", # End date in the YYYY-MM-DD format.
+          "startDate": "A String", # Start date in the YYYY-MM-DD format.
+        },
+        "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+          "dayOfWeek": "A String", # The day of the week.
+        },
+        "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+          "type": "A String", # Type of the hotel date selection
+        },
+        "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+          "maxNights": "A String", # High end of the number of nights in the stay.
+          "minNights": "A String", # Low end of the number of nights in the stay.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 ad group bid modifiers mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the criterion mutate.
+      "adGroupBidModifier": { # Represents an ad group bid modifier. # The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+        "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+        "bidModifierSource": "A String", # Output only. Bid modifier source.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "device": { # A device criterion. # Immutable. A device criterion.
+          "type": "A String", # Type of the device.
+        },
+        "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+          "maxDays": "A String", # High end of the number of days prior to the stay.
+          "minDays": "A String", # Low end of the number of days prior to the stay.
+        },
+        "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+          "endDate": "A String", # End date in the YYYY-MM-DD format.
+          "startDate": "A String", # Start date in the YYYY-MM-DD format.
+        },
+        "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+          "dayOfWeek": "A String", # The day of the week.
+        },
+        "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+          "type": "A String", # Type of the hotel date selection
+        },
+        "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+          "maxNights": "A String", # High end of the number of nights in the stay.
+          "minNights": "A String", # Low end of the number of nights in the stay.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupCriteria.html b/docs/dyn/searchads360_v23.customers.adGroupCriteria.html new file mode 100644 index 0000000000..4da4569160 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupCriteria.html @@ -0,0 +1,1105 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupCriteria

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose criteria are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupCriterionService.MutateAdGroupCriteria.
+  "operations": [ # Required. The list of operations to perform on individual criteria.
+    { # A single operation (create, remove, update) on an ad group criterion.
+      "create": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Create operation: No resource name is expected for the new criterion.
+        "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+          "type": "A String", # Type of the app payment model.
+        },
+        "approvalStatus": "A String", # Output only. Approval status of the criterion.
+        "audience": { # An audience criterion. # Immutable. Audience.
+          "audience": "A String", # The Audience resource name.
+        },
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+        "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "criterionId": "A String", # Output only. The ID of the criterion.
+        "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+          "customAffinity": "A String", # The CustomInterest resource name.
+        },
+        "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+          "customAudience": "A String", # The CustomAudience resource name.
+        },
+        "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+          "customIntent": "A String", # The CustomInterest resource name.
+        },
+        "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+          "A String",
+        ],
+        "displayName": "A String", # Output only. The display name of the criterion.
+        "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+        "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+        "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+        "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+        "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+        "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+          "A String",
+        ],
+        "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+        "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+        "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+          "A String",
+        ],
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+          "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+              "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+            },
+            "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+              "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+            },
+            "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+              "value": "A String", # String value of the activity ID.
+            },
+            "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+              "value": "A String", # Long value of the activity rating.
+            },
+            "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+              "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+            },
+            "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+              "cityCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+              "value": "A String", # Long value of the hotel class.
+            },
+            "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+              "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+              "value": "A String", # String value of the hotel ID.
+            },
+            "hotelState": { # State the hotel is located in. # State the hotel is located in.
+              "stateCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # Category of a product offer. # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Level of the product category.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+              "channelExclusivity": "A String", # Value of the availability.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product grouping.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product labels.
+            },
+            "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product legacy condition.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product full type.
+            },
+            "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+            },
+          },
+          "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+          "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+            "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "type": "A String", # Type of the listing group.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+          "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+          "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+          "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+          "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+          "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+        },
+        "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+        "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+          "A String",
+        ],
+        "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+          "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+          "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+          "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+          "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+        "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Output only. The type of the criterion.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+          "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+        { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+          "policyName": "A String", # Unique ID of the violated policy.
+          "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+        },
+      ],
+      "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+      "update": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Update operation: The criterion is expected to have a valid resource name.
+        "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+          "type": "A String", # Type of the app payment model.
+        },
+        "approvalStatus": "A String", # Output only. Approval status of the criterion.
+        "audience": { # An audience criterion. # Immutable. Audience.
+          "audience": "A String", # The Audience resource name.
+        },
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+        "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "criterionId": "A String", # Output only. The ID of the criterion.
+        "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+          "customAffinity": "A String", # The CustomInterest resource name.
+        },
+        "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+          "customAudience": "A String", # The CustomAudience resource name.
+        },
+        "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+          "customIntent": "A String", # The CustomInterest resource name.
+        },
+        "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+          "A String",
+        ],
+        "displayName": "A String", # Output only. The display name of the criterion.
+        "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+        "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+        "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+        "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+        "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+        "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+          "A String",
+        ],
+        "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+        "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+        "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+          "A String",
+        ],
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+          "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+              "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+            },
+            "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+              "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+            },
+            "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+              "value": "A String", # String value of the activity ID.
+            },
+            "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+              "value": "A String", # Long value of the activity rating.
+            },
+            "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+              "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+            },
+            "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+              "cityCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+              "value": "A String", # Long value of the hotel class.
+            },
+            "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+              "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+              "value": "A String", # String value of the hotel ID.
+            },
+            "hotelState": { # State the hotel is located in. # State the hotel is located in.
+              "stateCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # Category of a product offer. # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Level of the product category.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+              "channelExclusivity": "A String", # Value of the availability.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product grouping.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product labels.
+            },
+            "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product legacy condition.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product full type.
+            },
+            "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+            },
+          },
+          "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+          "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+            "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "type": "A String", # Type of the listing group.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+          "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+          "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+          "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+          "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+          "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+        },
+        "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+        "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+          "A String",
+        ],
+        "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+          "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+          "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+          "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+          "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+        "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Output only. The type of the criterion.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+          "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group criterion mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the criterion mutate.
+      "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+          "type": "A String", # Type of the app payment model.
+        },
+        "approvalStatus": "A String", # Output only. Approval status of the criterion.
+        "audience": { # An audience criterion. # Immutable. Audience.
+          "audience": "A String", # The Audience resource name.
+        },
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+        "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "criterionId": "A String", # Output only. The ID of the criterion.
+        "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+          "customAffinity": "A String", # The CustomInterest resource name.
+        },
+        "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+          "customAudience": "A String", # The CustomAudience resource name.
+        },
+        "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+          "customIntent": "A String", # The CustomInterest resource name.
+        },
+        "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+          "A String",
+        ],
+        "displayName": "A String", # Output only. The display name of the criterion.
+        "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+        "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+        "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+        "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+        "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+        "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+          "A String",
+        ],
+        "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+        "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+        "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+          "A String",
+        ],
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+          "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+              "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+            },
+            "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+              "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+            },
+            "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+              "value": "A String", # String value of the activity ID.
+            },
+            "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+              "value": "A String", # Long value of the activity rating.
+            },
+            "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+              "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+            },
+            "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+              "cityCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+              "value": "A String", # Long value of the hotel class.
+            },
+            "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+              "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+              "value": "A String", # String value of the hotel ID.
+            },
+            "hotelState": { # State the hotel is located in. # State the hotel is located in.
+              "stateCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # Category of a product offer. # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Level of the product category.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+              "channelExclusivity": "A String", # Value of the availability.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product grouping.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product labels.
+            },
+            "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product legacy condition.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product full type.
+            },
+            "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+            },
+          },
+          "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+          "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+            "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "type": "A String", # Type of the listing group.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+          "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+          "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+          "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+          "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+          "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+        },
+        "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+        "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+          "A String",
+        ],
+        "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+          "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+          "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+          "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+          "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+        "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Output only. The type of the criterion.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+          "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupCriterionLabels.html b/docs/dyn/searchads360_v23.customers.adGroupCriterionLabels.html new file mode 100644 index 0000000000..1dea9c9a11 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupCriterionLabels.html @@ -0,0 +1,140 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupCriterionLabels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose ad group criterion labels are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupCriterionLabelService.MutateAdGroupCriterionLabels.
+  "operations": [ # Required. The list of operations to perform on ad group criterion labels.
+    { # A single operation (create, remove) on an ad group criterion label.
+      "create": { # A relationship between an ad group criterion and a label. # Create operation: No resource name is expected for the new ad group label.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group criterion.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group criterion labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for an ad group criterion label mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupCustomizers.html b/docs/dyn/searchads360_v23.customers.adGroupCustomizers.html new file mode 100644 index 0000000000..104d6523dc --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupCustomizers.html @@ -0,0 +1,155 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupCustomizers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes ad group customizers. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes ad group customizers. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad group customizers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupCustomizerService.MutateAdGroupCustomizers.
+  "operations": [ # Required. The list of operations to perform on individual ad group customizers.
+    { # A single operation (create, remove) on a customizer attribute.
+      "create": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # Create operation: No resource name is expected for the new ad group customizer
+        "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group customizer mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad group customizer mutate.
+      "adGroupCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroupLabels.html b/docs/dyn/searchads360_v23.customers.adGroupLabels.html new file mode 100644 index 0000000000..a27b054592 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroupLabels.html @@ -0,0 +1,140 @@ + + + +

Search Ads 360 Reporting API . customers . adGroupLabels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose ad group labels are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupLabelService.MutateAdGroupLabels.
+  "operations": [ # Required. The list of operations to perform on ad group labels.
+    { # A single operation (create, remove) on an ad group label.
+      "create": { # A relationship between an ad group and a label. # Create operation: No resource name is expected for the new ad group label.
+        "adGroup": "A String", # Immutable. The ad group to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for an ad group label mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adGroups.html b/docs/dyn/searchads360_v23.customers.adGroups.html new file mode 100644 index 0000000000..8a884d6a36 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adGroups.html @@ -0,0 +1,445 @@ + + + +

Search Ads 360 Reporting API . customers . adGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad groups are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdGroupService.MutateAdGroups.
+  "operations": [ # Required. The list of operations to perform on individual ad groups.
+    { # A single operation (create, update, remove) on an ad group.
+      "create": { # An ad group. # Create operation: No resource name is expected for the new ad group.
+        "adRotationMode": "A String", # The ad rotation mode of the ad group.
+        "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+          "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+        },
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+        },
+        "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+        "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+        "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+        "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+          "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+            "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+            "channelStrategy": "A String", # High level channel strategy.
+            "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+              "discover": True or False, # Whether to enable ads on the Discover channel.
+              "display": True or False, # Whether to enable ads on the Display channel.
+              "gmail": True or False, # Whether to enable ads on the Gmail channel.
+              "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+              "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+              "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+            },
+          },
+        },
+        "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+        "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+          "A String",
+        ],
+        "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+        "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+        "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+        "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+        "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+        "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+        "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group.
+        "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+        "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+        "id": "A String", # Output only. The ID of the ad group.
+        "labels": [ # Output only. The resource names of labels attached to this ad group.
+          "A String",
+        ],
+        "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+        "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The status of the ad group.
+        "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+        "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+        "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+        "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+        "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Immutable. The type of the ad group.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+          "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+          "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+          "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id}/adGroups/{ad_group_id}`
+      "update": { # An ad group. # Update operation: The ad group is expected to have a valid resource name.
+        "adRotationMode": "A String", # The ad rotation mode of the ad group.
+        "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+          "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+        },
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+        },
+        "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+        "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+        "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+        "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+          "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+            "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+            "channelStrategy": "A String", # High level channel strategy.
+            "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+              "discover": True or False, # Whether to enable ads on the Discover channel.
+              "display": True or False, # Whether to enable ads on the Display channel.
+              "gmail": True or False, # Whether to enable ads on the Gmail channel.
+              "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+              "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+              "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+            },
+          },
+        },
+        "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+        "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+          "A String",
+        ],
+        "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+        "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+        "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+        "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+        "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+        "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+        "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group.
+        "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+        "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+        "id": "A String", # Output only. The ID of the ad group.
+        "labels": [ # Output only. The resource names of labels attached to this ad group.
+          "A String",
+        ],
+        "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+        "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The status of the ad group.
+        "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+        "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+        "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+        "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+        "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Immutable. The type of the ad group.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+          "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+          "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+          "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad group mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad group mutate.
+      "adGroup": { # An ad group. # The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adRotationMode": "A String", # The ad rotation mode of the ad group.
+        "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+          "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+        },
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+        },
+        "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+        "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+        "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+        "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+          "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+            "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+            "channelStrategy": "A String", # High level channel strategy.
+            "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+              "discover": True or False, # Whether to enable ads on the Discover channel.
+              "display": True or False, # Whether to enable ads on the Display channel.
+              "gmail": True or False, # Whether to enable ads on the Gmail channel.
+              "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+              "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+              "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+            },
+          },
+        },
+        "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+        "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+          "A String",
+        ],
+        "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+        "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+        "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+        "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+        "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+        "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+        "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group.
+        "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+        "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+        "id": "A String", # Output only. The ID of the ad group.
+        "labels": [ # Output only. The resource names of labels attached to this ad group.
+          "A String",
+        ],
+        "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+        "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The status of the ad group.
+        "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+        "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+        "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+        "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+        "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Immutable. The type of the ad group.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+          "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+          "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+          "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.adParameters.html b/docs/dyn/searchads360_v23.customers.adParameters.html new file mode 100644 index 0000000000..7d0ee73ad6 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.adParameters.html @@ -0,0 +1,154 @@ + + + +

Search Ads 360 Reporting API . customers . adParameters

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose ad parameters are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdParameterService.MutateAdParameters
+  "operations": [ # Required. The list of operations to perform on individual ad parameters.
+    { # A single operation (create, update, remove) on ad parameter.
+      "create": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Create operation: No resource name is expected for the new ad parameter.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+        "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+        "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+        "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+      "update": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Update operation: The ad parameter is expected to have a valid resource name.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+        "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+        "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+        "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad parameter mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad parameter mutate.
+      "adParameter": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+        "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+        "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+        "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+      },
+      "resourceName": "A String", # The resource name returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.ads.html b/docs/dyn/searchads360_v23.customers.ads.html new file mode 100644 index 0000000000..10d7ec2d7f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.ads.html @@ -0,0 +1,5572 @@ + + + +

Search Ads 360 Reporting API . customers . ads

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose ads are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AdService.MutateAds.
+  "operations": [ # Required. The list of operations to perform on individual ads.
+    { # A single update operation on an ad.
+      "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+        "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          "A String",
+        ],
+      },
+      "update": { # An ad. # Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id}/ads/{ad_id}`
+        "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+        "appAd": { # An app ad. # Details pertaining to an app ad.
+          "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+            "asset": "A String", # The Asset resource name of this app deep link asset.
+          },
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+            { # A media bundle asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "videos": [ # List of video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image asset IDs whose images may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+          "businessName": "A String", # Required. The Advertiser/brand name.
+          "callToActionText": "A String", # Call to action text.
+          "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+            { # A Demand Gen carousel card asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this discovery carousel card.
+            },
+          ],
+          "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+          "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+          "callToActionText": "A String", # Call to action text.
+          "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+        },
+        "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+            "asset": "A String", # The Asset resource name of this call to action asset.
+          },
+          "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+            { # A call to action asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+          ],
+          "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "descriptions": [ # List of text assets used for the description.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets used for the short headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadlines": [ # List of text assets used for the long headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "videos": [ # List of YouTube video assets used for the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+        "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+          "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+          "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+            "asset": "A String", # The Asset resource name of this media bundle.
+          },
+        },
+        "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+        "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+        },
+        "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+          "headlinePart1": "A String", # The first part of the ad's headline.
+          "headlinePart2": "A String", # The second part of the ad's headline.
+          "headlinePart3": "A String", # The third part of the ad's headline.
+          "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+          "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+        },
+        "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+          { # A URL for deep linking into an app for the given operating system.
+            "osType": "A String", # The operating system targeted by this URL. Required.
+            "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+          },
+        ],
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+        },
+        "id": "A String", # Output only. The ID of the ad.
+        "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+          "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+          "data": "A String", # Raw image data as bytes.
+          "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+          "imageUrl": "A String", # URL of the full size image.
+          "mimeType": "A String", # The mime type of the image.
+          "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+          "pixelHeight": "A String", # Height in pixels of the full size image.
+          "pixelWidth": "A String", # Width in pixels of the full size image.
+          "previewImageUrl": "A String", # URL of the preview size image.
+          "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+          "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+        },
+        "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+          "appId": "A String", # The ID of the mobile app.
+          "appStore": "A String", # The app store the mobile app is available in.
+          "description1": "A String", # The first description line of the ad.
+          "description2": "A String", # The second description line of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The business name in the ad.
+          "callToActionText": "A String", # The call-to-action text for the ad.
+          "description": "A String", # The description of the ad.
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+          "longHeadline": "A String", # The long version of the ad's headline.
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "shortHeadline": "A String", # The short version of the ad's headline.
+          "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+          "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+        },
+        "localAd": { # A local ad. # Details pertaining to a local ad.
+          "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+        "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+        "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+          "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+          "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+            "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+            "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+          },
+          "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # First part of text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+        },
+        "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+        },
+        "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+          "headline2": "A String", # The second headline of the ad.
+          "headline3": "A String", # The third headline of the ad.
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+          "displayUrl": "A String", # The displayed URL of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+          "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+        },
+        "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+        },
+        "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+        },
+        "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+          "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+        },
+        "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+        "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+        },
+        "type": "A String", # Output only. The type of ad.
+        "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+          { # Collection of urls that is tagged with a unique identifier.
+            "finalMobileUrls": [ # A list of possible final mobile URLs.
+              "A String",
+            ],
+            "finalUrls": [ # A list of possible final URLs.
+              "A String",
+            ],
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+          },
+        ],
+        "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an ad mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the ad mutate.
+      "ad": { # An ad. # The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+        "appAd": { # An app ad. # Details pertaining to an app ad.
+          "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+            "asset": "A String", # The Asset resource name of this app deep link asset.
+          },
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+            { # A media bundle asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "videos": [ # List of video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image asset IDs whose images may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+          "businessName": "A String", # Required. The Advertiser/brand name.
+          "callToActionText": "A String", # Call to action text.
+          "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+            { # A Demand Gen carousel card asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this discovery carousel card.
+            },
+          ],
+          "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+          "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+          "callToActionText": "A String", # Call to action text.
+          "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+        },
+        "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+            "asset": "A String", # The Asset resource name of this call to action asset.
+          },
+          "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+            { # A call to action asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+          ],
+          "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "descriptions": [ # List of text assets used for the description.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets used for the short headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadlines": [ # List of text assets used for the long headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "videos": [ # List of YouTube video assets used for the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+        "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+          "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+          "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+            "asset": "A String", # The Asset resource name of this media bundle.
+          },
+        },
+        "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+        "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+        },
+        "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+          "headlinePart1": "A String", # The first part of the ad's headline.
+          "headlinePart2": "A String", # The second part of the ad's headline.
+          "headlinePart3": "A String", # The third part of the ad's headline.
+          "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+          "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+        },
+        "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+          { # A URL for deep linking into an app for the given operating system.
+            "osType": "A String", # The operating system targeted by this URL. Required.
+            "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+          },
+        ],
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+        },
+        "id": "A String", # Output only. The ID of the ad.
+        "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+          "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+          "data": "A String", # Raw image data as bytes.
+          "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+          "imageUrl": "A String", # URL of the full size image.
+          "mimeType": "A String", # The mime type of the image.
+          "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+          "pixelHeight": "A String", # Height in pixels of the full size image.
+          "pixelWidth": "A String", # Width in pixels of the full size image.
+          "previewImageUrl": "A String", # URL of the preview size image.
+          "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+          "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+        },
+        "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+          "appId": "A String", # The ID of the mobile app.
+          "appStore": "A String", # The app store the mobile app is available in.
+          "description1": "A String", # The first description line of the ad.
+          "description2": "A String", # The second description line of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The business name in the ad.
+          "callToActionText": "A String", # The call-to-action text for the ad.
+          "description": "A String", # The description of the ad.
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+          "longHeadline": "A String", # The long version of the ad's headline.
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "shortHeadline": "A String", # The short version of the ad's headline.
+          "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+          "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+        },
+        "localAd": { # A local ad. # Details pertaining to a local ad.
+          "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+        "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+        "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+          "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+          "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+            "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+            "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+          },
+          "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # First part of text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+        },
+        "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+        },
+        "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+          "headline2": "A String", # The second headline of the ad.
+          "headline3": "A String", # The third headline of the ad.
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+          "displayUrl": "A String", # The displayed URL of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+          "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+        },
+        "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+        },
+        "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+        },
+        "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+          "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+        },
+        "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+        "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+        },
+        "type": "A String", # Output only. The type of ad.
+        "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+          { # Collection of urls that is tagged with a unique identifier.
+            "finalMobileUrls": [ # A list of possible final mobile URLs.
+              "A String",
+            ],
+            "finalUrls": [ # A list of possible final URLs.
+              "A String",
+            ],
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+          },
+        ],
+        "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+      },
+      "resourceName": "A String", # The resource name returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetGroupAssets.html b/docs/dyn/searchads360_v23.customers.assetGroupAssets.html new file mode 100644 index 0000000000..5f1d5b7978 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetGroupAssets.html @@ -0,0 +1,325 @@ + + + +

Search Ads 360 Reporting API . customers . assetGroupAssets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes asset group assets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes asset group assets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset group assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetGroupAssetService.MutateAssetGroupAssets.
+  "operations": [ # Required. The list of operations to perform on individual asset group assets.
+    { # A single operation (create, remove) on an asset group asset.
+      "create": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Create operation: No resource name is expected for the new asset group asset.
+        "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+        "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+        "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+          "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # The list of policy findings.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Where in the review process the resource is.
+        },
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the asset group asset.
+        "status": "A String", # The status of the link between an asset and asset group.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+      "update": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Update operation: The asset group asset is expected to have a valid resource name.
+        "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+        "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+        "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+          "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # The list of policy findings.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Where in the review process the resource is.
+        },
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the asset group asset.
+        "status": "A String", # The status of the link between an asset and asset group.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset group asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset group asset mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetGroupListingGroupFilters.html b/docs/dyn/searchads360_v23.customers.assetGroupListingGroupFilters.html new file mode 100644 index 0000000000..8684d19875 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetGroupListingGroupFilters.html @@ -0,0 +1,366 @@ + + + +

Search Ads 360 Reporting API . customers . assetGroupListingGroupFilters

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes asset group listing group filters. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes asset group listing group filters. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset group listing group filters are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. partial_failure is not supported because the tree needs to be validated together.
+  "operations": [ # Required. The list of operations to perform on individual asset group listing group filters.
+    { # A single operation (create, remove) on an asset group listing group filter.
+      "create": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Create operation: No resource name is expected for the new asset group listing group filter.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+        "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+          "productBrand": { # Brand of the product. # Brand of a product offer.
+            "value": "A String", # String value of the product brand.
+          },
+          "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+            "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+            "level": "A String", # Indicates the level of the category in the taxonomy.
+          },
+          "productChannel": { # Locality of a product offer. # Locality of a product offer.
+            "channel": "A String", # Value of the locality.
+          },
+          "productCondition": { # Condition of a product offer. # Condition of a product offer.
+            "condition": "A String", # Value of the condition.
+          },
+          "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+            "index": "A String", # Indicates the index of the custom attribute.
+            "value": "A String", # String value of the product custom attribute.
+          },
+          "productItemId": { # Item id of a product offer. # Item id of a product offer.
+            "value": "A String", # Value of the id.
+          },
+          "productType": { # Type of a product offer. # Type of a product offer.
+            "level": "A String", # Level of the type.
+            "value": "A String", # Value of the type.
+          },
+          "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+            "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+              { # Matching condition for URL filtering.
+                "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+              },
+            ],
+          },
+        },
+        "id": "A String", # Output only. The ID of the ListingGroupFilter.
+        "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+        "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+        "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+          "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+            { # Listing dimensions for the asset group listing group filter.
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Indicates the level of the category in the taxonomy.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                  { # Matching condition for URL filtering.
+                    "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                    "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                  },
+                ],
+              },
+            },
+          ],
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+        "type": "A String", # Immutable. Type of a listing group filter node.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.
+      "update": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Update operation: The asset group listing group filter is expected to have a valid resource name.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+        "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+          "productBrand": { # Brand of the product. # Brand of a product offer.
+            "value": "A String", # String value of the product brand.
+          },
+          "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+            "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+            "level": "A String", # Indicates the level of the category in the taxonomy.
+          },
+          "productChannel": { # Locality of a product offer. # Locality of a product offer.
+            "channel": "A String", # Value of the locality.
+          },
+          "productCondition": { # Condition of a product offer. # Condition of a product offer.
+            "condition": "A String", # Value of the condition.
+          },
+          "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+            "index": "A String", # Indicates the index of the custom attribute.
+            "value": "A String", # String value of the product custom attribute.
+          },
+          "productItemId": { # Item id of a product offer. # Item id of a product offer.
+            "value": "A String", # Value of the id.
+          },
+          "productType": { # Type of a product offer. # Type of a product offer.
+            "level": "A String", # Level of the type.
+            "value": "A String", # Value of the type.
+          },
+          "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+            "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+              { # Matching condition for URL filtering.
+                "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+              },
+            ],
+          },
+        },
+        "id": "A String", # Output only. The ID of the ListingGroupFilter.
+        "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+        "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+        "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+          "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+            { # Listing dimensions for the asset group listing group filter.
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Indicates the level of the category in the taxonomy.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                  { # Matching condition for URL filtering.
+                    "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                    "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                  },
+                ],
+              },
+            },
+          ],
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+        "type": "A String", # Immutable. Type of a listing group filter node.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset group listing group filter mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the asset group listing group filter mutate.
+      "assetGroupListingGroupFilter": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+        "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+          "productBrand": { # Brand of the product. # Brand of a product offer.
+            "value": "A String", # String value of the product brand.
+          },
+          "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+            "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+            "level": "A String", # Indicates the level of the category in the taxonomy.
+          },
+          "productChannel": { # Locality of a product offer. # Locality of a product offer.
+            "channel": "A String", # Value of the locality.
+          },
+          "productCondition": { # Condition of a product offer. # Condition of a product offer.
+            "condition": "A String", # Value of the condition.
+          },
+          "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+            "index": "A String", # Indicates the index of the custom attribute.
+            "value": "A String", # String value of the product custom attribute.
+          },
+          "productItemId": { # Item id of a product offer. # Item id of a product offer.
+            "value": "A String", # Value of the id.
+          },
+          "productType": { # Type of a product offer. # Type of a product offer.
+            "level": "A String", # Level of the type.
+            "value": "A String", # Value of the type.
+          },
+          "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+            "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+              { # Matching condition for URL filtering.
+                "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+              },
+            ],
+          },
+        },
+        "id": "A String", # Output only. The ID of the ListingGroupFilter.
+        "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+        "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+        "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+          "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+            { # Listing dimensions for the asset group listing group filter.
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Indicates the level of the category in the taxonomy.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                  { # Matching condition for URL filtering.
+                    "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                    "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                  },
+                ],
+              },
+            },
+          ],
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+        "type": "A String", # Immutable. Type of a listing group filter node.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetGroupSignals.html b/docs/dyn/searchads360_v23.customers.assetGroupSignals.html new file mode 100644 index 0000000000..9429e52bdf --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetGroupSignals.html @@ -0,0 +1,169 @@ + + + +

Search Ads 360 Reporting API . customers . assetGroupSignals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes asset group signals. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes asset group signals. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset group signals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetGroupSignalService.MutateAssetGroupSignals.
+  "operations": [ # Required. The list of operations to perform on individual asset group signals.
+    { # A single operation (create, remove) on an asset group signal.
+      "create": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # Create operation: No resource name is expected for the new asset group signal.
+        "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+        "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+          "audience": "A String", # The Audience resource name.
+        },
+        "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+        "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+          "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+        },
+      },
+      "exemptPolicyViolationKeys": [ # Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+        { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+          "policyName": "A String", # Unique ID of the violated policy.
+          "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+        },
+      ],
+      "remove": "A String", # Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset group signal mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset group signal mutate.
+      "assetGroupSignal": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+        "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+          "audience": "A String", # The Audience resource name.
+        },
+        "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+        "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+          "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetGroups.html b/docs/dyn/searchads360_v23.customers.assetGroups.html new file mode 100644 index 0000000000..f343b11444 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetGroups.html @@ -0,0 +1,198 @@ + + + +

Search Ads 360 Reporting API . customers . assetGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes asset groups. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes asset groups. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset groups are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetGroupService.MutateAssetGroups.
+  "operations": [ # Required. The list of operations to perform on individual asset groups.
+    { # A single operation (create, remove) on an asset group.
+      "create": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Create operation: No resource name is expected for the new asset group
+        "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+        "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+          "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+            { # An action item to improve the ad strength of an asset group.
+              "actionItemType": "A String", # Output only. The action item type.
+              "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                "assetCount": 42, # Output only. The number of assets to add.
+                "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+              },
+            },
+          ],
+        },
+        "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+        "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the asset group.
+        "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+        "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+        "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+        "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+        "status": "A String", # The status of the asset group.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`
+      "update": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Update operation: The asset group is expected to have a valid resource name.
+        "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+        "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+          "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+            { # An action item to improve the ad strength of an asset group.
+              "actionItemType": "A String", # Output only. The action item type.
+              "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                "assetCount": 42, # Output only. The number of assets to add.
+                "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+              },
+            },
+          ],
+        },
+        "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+        "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the asset group.
+        "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+        "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+        "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+        "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+        "status": "A String", # The status of the asset group.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset group mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset group mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetSetAssets.html b/docs/dyn/searchads360_v23.customers.assetSetAssets.html new file mode 100644 index 0000000000..61d650669e --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetSetAssets.html @@ -0,0 +1,147 @@ + + + +

Search Ads 360 Reporting API . customers . assetSetAssets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes asset set assets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes asset set assets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset set assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetSetAssetService.MutateAssetSetAssets.
+  "operations": [ # Required. The list of operations to perform on individual asset set assets.
+    { # A single operation (create, remove) on an asset set asset.
+      "create": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Create operation: No resource name is expected for the new asset set asset
+        "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+        "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+        "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+        "status": "A String", # Output only. The status of the asset set asset. Read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset set asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset set asset mutate.
+      "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+        "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+        "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+        "status": "A String", # Output only. The status of the asset set asset. Read-only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assetSets.html b/docs/dyn/searchads360_v23.customers.assetSets.html new file mode 100644 index 0000000000..f13afee77a --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assetSets.html @@ -0,0 +1,355 @@ + + + +

Search Ads 360 Reporting API . customers . assetSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes asset sets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes asset sets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose asset sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetSetService.MutateAssetSets.
+  "operations": [ # Required. The list of operations to perform on individual asset sets.
+    { # A single operation (create, remove) on an asset set.
+      "create": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Create operation: No resource name is expected for the new asset set
+        "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+          "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+            "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+              "businessName": "A String", # Business name string to use for filtering.
+              "filterType": "A String", # The type of string matching to use when filtering with business_name.
+            },
+            "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+              "A String",
+            ],
+          },
+        },
+        "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+          "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+            { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+              "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+              "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                "A String",
+              ],
+            },
+          ],
+        },
+        "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+          "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+          "partnerName": "A String", # Output only. Name of the hotel partner.
+        },
+        "id": "A String", # Output only. The ID of the asset set.
+        "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+        "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+          "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+            "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+            "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+            "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+            "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+            "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+              "A String",
+            ],
+          },
+          "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+            "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+            "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+          },
+          "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+          "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+            "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+              { # Wrapper for place ids
+                "placeId": "A String", # Place ID of the Maps location.
+              },
+            ],
+          },
+        },
+        "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+          "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+          "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+        },
+        "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+        "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the asset set. Read-only.
+        "type": "A String", # Required. Immutable. The type of the asset set. Required.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`
+      "update": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Update operation: The asset set is expected to have a valid resource name.
+        "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+          "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+            "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+              "businessName": "A String", # Business name string to use for filtering.
+              "filterType": "A String", # The type of string matching to use when filtering with business_name.
+            },
+            "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+              "A String",
+            ],
+          },
+        },
+        "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+          "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+            { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+              "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+              "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                "A String",
+              ],
+            },
+          ],
+        },
+        "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+          "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+          "partnerName": "A String", # Output only. Name of the hotel partner.
+        },
+        "id": "A String", # Output only. The ID of the asset set.
+        "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+        "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+          "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+            "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+            "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+            "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+            "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+            "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+              "A String",
+            ],
+          },
+          "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+            "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+            "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+          },
+          "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+          "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+            "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+              { # Wrapper for place ids
+                "placeId": "A String", # Place ID of the Maps location.
+              },
+            ],
+          },
+        },
+        "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+          "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+          "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+        },
+        "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+        "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the asset set. Read-only.
+        "type": "A String", # Required. Immutable. The type of the asset set. Required.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset set mutate.
+      "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+          "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+            "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+              "businessName": "A String", # Business name string to use for filtering.
+              "filterType": "A String", # The type of string matching to use when filtering with business_name.
+            },
+            "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+              "A String",
+            ],
+          },
+        },
+        "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+          "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+            { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+              "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+              "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                "A String",
+              ],
+            },
+          ],
+        },
+        "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+          "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+          "partnerName": "A String", # Output only. Name of the hotel partner.
+        },
+        "id": "A String", # Output only. The ID of the asset set.
+        "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+        "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+          "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+            "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+            "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+            "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+            "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+            "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+              "A String",
+            ],
+          },
+          "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+            "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+            "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+          },
+          "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+          "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+            "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+              { # Wrapper for place ids
+                "placeId": "A String", # Place ID of the Maps location.
+              },
+            ],
+          },
+        },
+        "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+          "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+          "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+        },
+        "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+        "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the asset set. Read-only.
+        "type": "A String", # Required. Immutable. The type of the asset set. Required.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.assets.html b/docs/dyn/searchads360_v23.customers.assets.html new file mode 100644 index 0000000000..7ec46f94db --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.assets.html @@ -0,0 +1,2118 @@ + + + +

Search Ads 360 Reporting API . customers . assets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AssetService.MutateAssets
+  "operations": [ # Required. The list of operations to perform on individual assets.
+    { # A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets.
+      "create": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Create operation: No resource name is expected for the new asset.
+        "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+          "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+        },
+        "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+        },
+        "businessMessageAsset": { # A business message asset. # A business message asset.
+          "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+            "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+            "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+          },
+          "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+            "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+          },
+          "messageProvider": "A String", # Required. Message provider of the business message asset.
+          "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+          "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+          },
+          "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+            "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+            "oaId": "A String", # Zalo Official Account ID of the advertiser.
+          },
+        },
+        "callAsset": { # A Call asset. # A call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+        },
+        "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+          "callToAction": "A String", # Call to action.
+        },
+        "calloutAsset": { # A Callout asset. # A callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+          "callToActionText": "A String", # Call to action text.
+          "headline": "A String", # Required. Headline of the carousel card.
+          "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+          "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+          "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+        },
+        "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+            "A String",
+          ],
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+          "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+          "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "itemCategory": "A String", # Item category, for example, Sedans.
+          "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+          "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+          "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+          "similarIds": [ # Similar IDs.
+            "A String",
+          ],
+        },
+        "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+          "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+            "A String",
+          ],
+          "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+          "programDescription": "A String", # Program description, for example, Nursing Certification.
+          "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "programName": "A String", # Required. Program name, for example, Nursing. Required.
+          "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+          "similarProgramIds": [ # Similar program IDs.
+            "A String",
+          ],
+          "subject": "A String", # Subject of study, for example, Health.
+          "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+        },
+        "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+          "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+            "A String",
+          ],
+        },
+        "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Hotel suite.
+          "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Close to SJC Airport.
+          "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+          "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarPropertyIds": [ # Similar property IDs.
+            "A String",
+          ],
+          "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+        },
+        "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Apply your technical skills.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "jobCategory": "A String", # Job category, for example, Technical.
+          "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+          "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+          "salary": "A String", # Salary, for example, $100,000.
+          "similarJobIds": [ # Similar job IDs, for example, 1275.
+            "A String",
+          ],
+        },
+        "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Food.
+          "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+            "A String",
+          ],
+          "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+          "description": "A String", # Description, for example, Save on your weekly bill.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDealIds": [ # Similar deal IDs, for example, 1275.
+            "A String",
+          ],
+          "subtitle": "A String", # Subtitle, for example, Groceries.
+        },
+        "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "cityName": "A String", # City name, for example, Mountain View, California.
+          "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+          "listingType": "A String", # Listing type, for example, For sale.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+          "propertyType": "A String", # Property type, for example, House.
+          "similarListingIds": [ # Similar listing IDs.
+            "A String",
+          ],
+        },
+        "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Express.
+          "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+            "A String",
+          ],
+          "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+            "A String",
+          ],
+          "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+        },
+        "engineStatus": "A String", # Output only. The Engine Status for an asset.
+        "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+          { # Contains policy information for an asset under AssetFieldType context.
+            "assetFieldType": "A String", # Output only. FieldType of this asset.
+            "assetSource": "A String", # Output only. Source of this asset.
+            "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+          },
+        ],
+        "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+        "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+          "A String",
+        ],
+        "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+          "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+          "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+        },
+        "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+          "hotelAddress": "A String", # Address of the hotel. Read-only.
+          "hotelName": "A String", # Name of the hotel. Read-only.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+        },
+        "id": "A String", # Output only. The ID of the asset.
+        "imageAsset": { # An Image asset. # Output only. An image asset.
+          "data": "A String", # The raw bytes data of an image. This field is mutate only.
+          "fileSize": "A String", # File size of the image asset in bytes.
+          "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+            "heightPixels": "A String", # Height of the image.
+            "url": "A String", # A URL that returns the image with this height and width.
+            "widthPixels": "A String", # Width of the image.
+          },
+          "mimeType": "A String", # MIME type of the image asset.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+          "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+          "businessName": "A String", # Required. The name of the business being advertised.
+          "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+          "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+          "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+          "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+            { # One custom question input field instance within a form.
+              "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+            { # A configuration of how leads are delivered to the advertiser.
+              "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+              },
+            },
+          ],
+          "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+          "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+          "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+            { # One input field instance within a form.
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+          "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+          "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+          "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+          "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+        },
+        "locationAsset": { # A location asset. # Output only. A location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+          "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+        },
+        "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+          "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+          "appStore": "A String", # Required. The application store that distributes this specific app.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "name": "A String", # Optional name of the asset.
+        "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+        "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+        },
+        "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+          "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+        },
+        "priceAsset": { # An asset representing a list of price offers. # A price asset.
+          "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+          "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+            { # A single price offering within a PriceAsset.
+              "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+              "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+              "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "unit": "A String", # The price unit of the price offering.
+            },
+          ],
+          "priceQualifier": "A String", # The price qualifier of the price asset.
+          "type": "A String", # Required. The type of the price asset.
+        },
+        "promotionAsset": { # A Promotion asset. # A promotion asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "discountModifier": "A String", # A modifier for qualification of the discount.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+          "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+          "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+          "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+            "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+            "type": "A String", # Barcode type used to generate barcode with the correct format.
+          },
+          "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+          "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+            "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+          },
+          "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+          "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+          "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+        "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+          "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+          "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # The webpage that advertisers want to target.
+        },
+        "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+          "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "source": "A String", # Output only. Source of the asset.
+        "status": "A String", # Output only. The status of the asset.
+        "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+          "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+          "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+            "A String",
+          ],
+        },
+        "textAsset": { # A Text asset. # Immutable. A text asset.
+          "text": "A String", # Text content of the text asset.
+        },
+        "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+        "type": "A String", # Output only. Type of the asset.
+        "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+          "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+          "youtubeVideoTitle": "A String", # YouTube video title.
+        },
+      },
+      "update": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id}/assets/{asset_id}`
+        "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+          "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+        },
+        "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+        },
+        "businessMessageAsset": { # A business message asset. # A business message asset.
+          "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+            "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+            "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+          },
+          "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+            "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+          },
+          "messageProvider": "A String", # Required. Message provider of the business message asset.
+          "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+          "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+          },
+          "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+            "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+            "oaId": "A String", # Zalo Official Account ID of the advertiser.
+          },
+        },
+        "callAsset": { # A Call asset. # A call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+        },
+        "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+          "callToAction": "A String", # Call to action.
+        },
+        "calloutAsset": { # A Callout asset. # A callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+          "callToActionText": "A String", # Call to action text.
+          "headline": "A String", # Required. Headline of the carousel card.
+          "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+          "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+          "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+        },
+        "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+            "A String",
+          ],
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+          "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+          "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "itemCategory": "A String", # Item category, for example, Sedans.
+          "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+          "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+          "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+          "similarIds": [ # Similar IDs.
+            "A String",
+          ],
+        },
+        "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+          "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+            "A String",
+          ],
+          "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+          "programDescription": "A String", # Program description, for example, Nursing Certification.
+          "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "programName": "A String", # Required. Program name, for example, Nursing. Required.
+          "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+          "similarProgramIds": [ # Similar program IDs.
+            "A String",
+          ],
+          "subject": "A String", # Subject of study, for example, Health.
+          "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+        },
+        "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+          "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+            "A String",
+          ],
+        },
+        "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Hotel suite.
+          "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Close to SJC Airport.
+          "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+          "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarPropertyIds": [ # Similar property IDs.
+            "A String",
+          ],
+          "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+        },
+        "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Apply your technical skills.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "jobCategory": "A String", # Job category, for example, Technical.
+          "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+          "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+          "salary": "A String", # Salary, for example, $100,000.
+          "similarJobIds": [ # Similar job IDs, for example, 1275.
+            "A String",
+          ],
+        },
+        "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Food.
+          "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+            "A String",
+          ],
+          "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+          "description": "A String", # Description, for example, Save on your weekly bill.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDealIds": [ # Similar deal IDs, for example, 1275.
+            "A String",
+          ],
+          "subtitle": "A String", # Subtitle, for example, Groceries.
+        },
+        "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "cityName": "A String", # City name, for example, Mountain View, California.
+          "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+          "listingType": "A String", # Listing type, for example, For sale.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+          "propertyType": "A String", # Property type, for example, House.
+          "similarListingIds": [ # Similar listing IDs.
+            "A String",
+          ],
+        },
+        "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Express.
+          "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+            "A String",
+          ],
+          "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+            "A String",
+          ],
+          "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+        },
+        "engineStatus": "A String", # Output only. The Engine Status for an asset.
+        "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+          { # Contains policy information for an asset under AssetFieldType context.
+            "assetFieldType": "A String", # Output only. FieldType of this asset.
+            "assetSource": "A String", # Output only. Source of this asset.
+            "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+          },
+        ],
+        "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+        "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+          "A String",
+        ],
+        "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+          "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+          "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+        },
+        "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+          "hotelAddress": "A String", # Address of the hotel. Read-only.
+          "hotelName": "A String", # Name of the hotel. Read-only.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+        },
+        "id": "A String", # Output only. The ID of the asset.
+        "imageAsset": { # An Image asset. # Output only. An image asset.
+          "data": "A String", # The raw bytes data of an image. This field is mutate only.
+          "fileSize": "A String", # File size of the image asset in bytes.
+          "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+            "heightPixels": "A String", # Height of the image.
+            "url": "A String", # A URL that returns the image with this height and width.
+            "widthPixels": "A String", # Width of the image.
+          },
+          "mimeType": "A String", # MIME type of the image asset.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+          "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+          "businessName": "A String", # Required. The name of the business being advertised.
+          "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+          "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+          "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+          "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+            { # One custom question input field instance within a form.
+              "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+            { # A configuration of how leads are delivered to the advertiser.
+              "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+              },
+            },
+          ],
+          "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+          "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+          "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+            { # One input field instance within a form.
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+          "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+          "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+          "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+          "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+        },
+        "locationAsset": { # A location asset. # Output only. A location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+          "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+        },
+        "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+          "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+          "appStore": "A String", # Required. The application store that distributes this specific app.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "name": "A String", # Optional name of the asset.
+        "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+        "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+        },
+        "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+          "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+        },
+        "priceAsset": { # An asset representing a list of price offers. # A price asset.
+          "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+          "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+            { # A single price offering within a PriceAsset.
+              "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+              "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+              "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "unit": "A String", # The price unit of the price offering.
+            },
+          ],
+          "priceQualifier": "A String", # The price qualifier of the price asset.
+          "type": "A String", # Required. The type of the price asset.
+        },
+        "promotionAsset": { # A Promotion asset. # A promotion asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "discountModifier": "A String", # A modifier for qualification of the discount.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+          "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+          "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+          "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+            "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+            "type": "A String", # Barcode type used to generate barcode with the correct format.
+          },
+          "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+          "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+            "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+          },
+          "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+          "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+          "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+        "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+          "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+          "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # The webpage that advertisers want to target.
+        },
+        "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+          "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "source": "A String", # Output only. Source of the asset.
+        "status": "A String", # Output only. The status of the asset.
+        "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+          "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+          "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+            "A String",
+          ],
+        },
+        "textAsset": { # A Text asset. # Immutable. A text asset.
+          "text": "A String", # Text content of the text asset.
+        },
+        "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+        "type": "A String", # Output only. Type of the asset.
+        "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+          "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+          "youtubeVideoTitle": "A String", # YouTube video title.
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the asset mutate.
+      "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+          "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+        },
+        "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+        },
+        "businessMessageAsset": { # A business message asset. # A business message asset.
+          "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+            "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+            "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+          },
+          "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+            "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+          },
+          "messageProvider": "A String", # Required. Message provider of the business message asset.
+          "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+          "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+          },
+          "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+            "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+            "oaId": "A String", # Zalo Official Account ID of the advertiser.
+          },
+        },
+        "callAsset": { # A Call asset. # A call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+        },
+        "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+          "callToAction": "A String", # Call to action.
+        },
+        "calloutAsset": { # A Callout asset. # A callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+          "callToActionText": "A String", # Call to action text.
+          "headline": "A String", # Required. Headline of the carousel card.
+          "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+          "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+          "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+        },
+        "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+            "A String",
+          ],
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+          "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+          "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "itemCategory": "A String", # Item category, for example, Sedans.
+          "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+          "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+          "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+          "similarIds": [ # Similar IDs.
+            "A String",
+          ],
+        },
+        "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+          "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+            "A String",
+          ],
+          "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+          "programDescription": "A String", # Program description, for example, Nursing Certification.
+          "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "programName": "A String", # Required. Program name, for example, Nursing. Required.
+          "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+          "similarProgramIds": [ # Similar program IDs.
+            "A String",
+          ],
+          "subject": "A String", # Subject of study, for example, Health.
+          "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+        },
+        "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+          "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+            "A String",
+          ],
+        },
+        "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Hotel suite.
+          "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Close to SJC Airport.
+          "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+          "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarPropertyIds": [ # Similar property IDs.
+            "A String",
+          ],
+          "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+        },
+        "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Apply your technical skills.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "jobCategory": "A String", # Job category, for example, Technical.
+          "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+          "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+          "salary": "A String", # Salary, for example, $100,000.
+          "similarJobIds": [ # Similar job IDs, for example, 1275.
+            "A String",
+          ],
+        },
+        "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Food.
+          "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+            "A String",
+          ],
+          "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+          "description": "A String", # Description, for example, Save on your weekly bill.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDealIds": [ # Similar deal IDs, for example, 1275.
+            "A String",
+          ],
+          "subtitle": "A String", # Subtitle, for example, Groceries.
+        },
+        "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "cityName": "A String", # City name, for example, Mountain View, California.
+          "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+          "listingType": "A String", # Listing type, for example, For sale.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+          "propertyType": "A String", # Property type, for example, House.
+          "similarListingIds": [ # Similar listing IDs.
+            "A String",
+          ],
+        },
+        "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Express.
+          "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+            "A String",
+          ],
+          "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+            "A String",
+          ],
+          "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+        },
+        "engineStatus": "A String", # Output only. The Engine Status for an asset.
+        "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+          { # Contains policy information for an asset under AssetFieldType context.
+            "assetFieldType": "A String", # Output only. FieldType of this asset.
+            "assetSource": "A String", # Output only. Source of this asset.
+            "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+          },
+        ],
+        "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+        "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+          "A String",
+        ],
+        "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+          "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+          "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+        },
+        "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+          "hotelAddress": "A String", # Address of the hotel. Read-only.
+          "hotelName": "A String", # Name of the hotel. Read-only.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+        },
+        "id": "A String", # Output only. The ID of the asset.
+        "imageAsset": { # An Image asset. # Output only. An image asset.
+          "data": "A String", # The raw bytes data of an image. This field is mutate only.
+          "fileSize": "A String", # File size of the image asset in bytes.
+          "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+            "heightPixels": "A String", # Height of the image.
+            "url": "A String", # A URL that returns the image with this height and width.
+            "widthPixels": "A String", # Width of the image.
+          },
+          "mimeType": "A String", # MIME type of the image asset.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+          "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+          "businessName": "A String", # Required. The name of the business being advertised.
+          "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+          "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+          "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+          "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+            { # One custom question input field instance within a form.
+              "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+            { # A configuration of how leads are delivered to the advertiser.
+              "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+              },
+            },
+          ],
+          "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+          "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+          "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+            { # One input field instance within a form.
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+          "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+          "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+          "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+          "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+        },
+        "locationAsset": { # A location asset. # Output only. A location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+          "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+        },
+        "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+          "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+          "appStore": "A String", # Required. The application store that distributes this specific app.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "name": "A String", # Optional name of the asset.
+        "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+        "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+        },
+        "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+          "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+        },
+        "priceAsset": { # An asset representing a list of price offers. # A price asset.
+          "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+          "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+            { # A single price offering within a PriceAsset.
+              "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+              "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+              "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "unit": "A String", # The price unit of the price offering.
+            },
+          ],
+          "priceQualifier": "A String", # The price qualifier of the price asset.
+          "type": "A String", # Required. The type of the price asset.
+        },
+        "promotionAsset": { # A Promotion asset. # A promotion asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "discountModifier": "A String", # A modifier for qualification of the discount.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+          "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+          "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+          "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+            "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+            "type": "A String", # Barcode type used to generate barcode with the correct format.
+          },
+          "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+          "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+            "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+          },
+          "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+          "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+          "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+        "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+          "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+          "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # The webpage that advertisers want to target.
+        },
+        "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+          "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "source": "A String", # Output only. Source of the asset.
+        "status": "A String", # Output only. The status of the asset.
+        "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+          "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+          "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+            "A String",
+          ],
+        },
+        "textAsset": { # A Text asset. # Immutable. A text asset.
+          "text": "A String", # Text content of the text asset.
+        },
+        "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+        "type": "A String", # Output only. Type of the asset.
+        "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+          "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+          "youtubeVideoTitle": "A String", # YouTube video title.
+        },
+      },
+      "resourceName": "A String", # The resource name returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.audiences.html b/docs/dyn/searchads360_v23.customers.audiences.html new file mode 100644 index 0000000000..85f513b461 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.audiences.html @@ -0,0 +1,345 @@ + + + +

Search Ads 360 Reporting API . customers . audiences

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose audiences are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceService.MutateAudiences.
+  "operations": [ # Required. The list of operations to perform on individual audiences.
+    { # A single operation (create, update) on an audience.
+      "create": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Create operation: No resource name is expected for the new audience
+        "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+        "description": "A String", # Description of this audience.
+        "dimensions": [ # Positive dimensions specifying the audience composition.
+          { # Positive dimension specifying user's audience.
+            "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+              "ageRanges": [ # Contiguous age range to be included in the dimension.
+                { # Contiguous age range.
+                  "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                  "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                },
+              ],
+              "includeUndetermined": True or False, # Include users whose age is not determined.
+            },
+            "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+              "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                { # Positive audience segment.
+                  "customAudience": { # Custom audience segment. # Custom audience segment.
+                    "customAudience": "A String", # The custom audience resource.
+                  },
+                  "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                    "detailedDemographic": "A String", # The detailed demographic resource.
+                  },
+                  "lifeEvent": { # Live event segment. # Live-event audience segment.
+                    "lifeEvent": "A String", # The life event resource.
+                  },
+                  "userInterest": { # User interest segment. # Affinity or In-market segment.
+                    "userInterestCategory": "A String", # The user interest resource.
+                  },
+                  "userList": { # User list segment. # User list segment.
+                    "userList": "A String", # The user list resource.
+                  },
+                },
+              ],
+            },
+            "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+              "genders": [ # Included gender demographic segments.
+                "A String",
+              ],
+              "includeUndetermined": True or False, # Include users whose gender is not determined.
+            },
+            "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+              "includeUndetermined": True or False, # Include users whose household income is not determined.
+              "incomeRanges": [ # Included household income demographic segments.
+                "A String",
+              ],
+            },
+            "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+              "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+              "parentalStatuses": [ # Included parental status demographic segments.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+          "exclusions": [ # Audience segment to be excluded.
+            { # An audience segment to be excluded from an audience.
+              "userList": { # User list segment. # User list segment to be excluded.
+                "userList": "A String", # The user list resource.
+              },
+            },
+          ],
+        },
+        "id": "A String", # Output only. ID of the audience.
+        "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+        "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+        "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+        "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+      },
+      "update": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Update operation: The audience is expected to have a valid resource name.
+        "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+        "description": "A String", # Description of this audience.
+        "dimensions": [ # Positive dimensions specifying the audience composition.
+          { # Positive dimension specifying user's audience.
+            "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+              "ageRanges": [ # Contiguous age range to be included in the dimension.
+                { # Contiguous age range.
+                  "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                  "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                },
+              ],
+              "includeUndetermined": True or False, # Include users whose age is not determined.
+            },
+            "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+              "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                { # Positive audience segment.
+                  "customAudience": { # Custom audience segment. # Custom audience segment.
+                    "customAudience": "A String", # The custom audience resource.
+                  },
+                  "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                    "detailedDemographic": "A String", # The detailed demographic resource.
+                  },
+                  "lifeEvent": { # Live event segment. # Live-event audience segment.
+                    "lifeEvent": "A String", # The life event resource.
+                  },
+                  "userInterest": { # User interest segment. # Affinity or In-market segment.
+                    "userInterestCategory": "A String", # The user interest resource.
+                  },
+                  "userList": { # User list segment. # User list segment.
+                    "userList": "A String", # The user list resource.
+                  },
+                },
+              ],
+            },
+            "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+              "genders": [ # Included gender demographic segments.
+                "A String",
+              ],
+              "includeUndetermined": True or False, # Include users whose gender is not determined.
+            },
+            "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+              "includeUndetermined": True or False, # Include users whose household income is not determined.
+              "incomeRanges": [ # Included household income demographic segments.
+                "A String",
+              ],
+            },
+            "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+              "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+              "parentalStatuses": [ # Included parental status demographic segments.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+          "exclusions": [ # Audience segment to be excluded.
+            { # An audience segment to be excluded from an audience.
+              "userList": { # User list segment. # User list segment to be excluded.
+                "userList": "A String", # The user list resource.
+              },
+            },
+          ],
+        },
+        "id": "A String", # Output only. ID of the audience.
+        "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+        "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+        "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+        "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 an audience mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the audience mutate.
+      "audience": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+        "description": "A String", # Description of this audience.
+        "dimensions": [ # Positive dimensions specifying the audience composition.
+          { # Positive dimension specifying user's audience.
+            "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+              "ageRanges": [ # Contiguous age range to be included in the dimension.
+                { # Contiguous age range.
+                  "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                  "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                },
+              ],
+              "includeUndetermined": True or False, # Include users whose age is not determined.
+            },
+            "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+              "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                { # Positive audience segment.
+                  "customAudience": { # Custom audience segment. # Custom audience segment.
+                    "customAudience": "A String", # The custom audience resource.
+                  },
+                  "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                    "detailedDemographic": "A String", # The detailed demographic resource.
+                  },
+                  "lifeEvent": { # Live event segment. # Live-event audience segment.
+                    "lifeEvent": "A String", # The life event resource.
+                  },
+                  "userInterest": { # User interest segment. # Affinity or In-market segment.
+                    "userInterestCategory": "A String", # The user interest resource.
+                  },
+                  "userList": { # User list segment. # User list segment.
+                    "userList": "A String", # The user list resource.
+                  },
+                },
+              ],
+            },
+            "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+              "genders": [ # Included gender demographic segments.
+                "A String",
+              ],
+              "includeUndetermined": True or False, # Include users whose gender is not determined.
+            },
+            "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+              "includeUndetermined": True or False, # Include users whose household income is not determined.
+              "incomeRanges": [ # Included household income demographic segments.
+                "A String",
+              ],
+            },
+            "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+              "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+              "parentalStatuses": [ # Included parental status demographic segments.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+          "exclusions": [ # Audience segment to be excluded.
+            { # An audience segment to be excluded from an audience.
+              "userList": { # User list segment. # User list segment to be excluded.
+                "userList": "A String", # The user list resource.
+              },
+            },
+          ],
+        },
+        "id": "A String", # Output only. ID of the audience.
+        "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+        "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+        "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+        "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.batchJobs.html b/docs/dyn/searchads360_v23.customers.batchJobs.html new file mode 100644 index 0000000000..cf4216a5e9 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.batchJobs.html @@ -0,0 +1,22686 @@ + + + +

Search Ads 360 Reporting API . customers . batchJobs

+

Instance Methods

+

+ addOperations(resourceName, body=None, x__xgafv=None)

+

Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

+ close()

+

Close httplib2 connections.

+

+ listResults(resourceName, pageSize=None, pageToken=None, responseContentType=None, x__xgafv=None)

+

Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listResults_next()

+

Retrieves the next page of results.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

+ run(resourceName, body=None, x__xgafv=None)

+

Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ addOperations(resourceName, body=None, x__xgafv=None) +
Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  resourceName: string, Required. The resource name of the batch job. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BatchJobService.AddBatchJobOperations.
+  "mutateOperations": [ # Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to "customers/1234/campaigns/-1", and creating an ad group in the second operation with the campaign field also set to "customers/1234/campaigns/-1".
+    { # A single operation (create, update, remove) on a resource.
+      "adGroupAdLabelOperation": { # A single operation (create, remove) on an ad group ad label. # An ad group ad label mutate operation.
+        "create": { # A relationship between an ad group ad and a label. # Create operation: No resource name is expected for the new ad group ad label.
+          "adGroupAd": "A String", # Immutable. The ad group ad to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group ad.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+      },
+      "adGroupAdOperation": { # A single operation (create, update, remove) on an ad group ad. # An ad group ad mutate operation.
+        "create": { # An ad group ad. # Create operation: No resource name is expected for the new ad.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+          "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+              "policyName": "A String", # Unique ID of the violated policy.
+              "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+            },
+          ],
+          "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            "A String",
+          ],
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "update": { # An ad group ad. # Update operation: The ad is expected to have a valid resource name.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupAssetOperation": { # A single operation (create, update, remove) on an ad group asset. # An ad group asset mutate operation.
+        "create": { # A link between an ad group and an asset. # Create operation: No resource name is expected for the new ad group asset.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "update": { # A link between an ad group and an asset. # Update operation: The ad group asset is expected to have a valid resource name.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupBidModifierOperation": { # A single operation (create, remove, update) on an ad group bid modifier. # An ad group bid modifier mutate operation.
+        "create": { # Represents an ad group bid modifier. # Create operation: No resource name is expected for the new ad group bid modifier.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        "update": { # Represents an ad group bid modifier. # Update operation: The ad group bid modifier is expected to have a valid resource name.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupCriterionCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # An ad group criterion customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # Create operation: No resource name is expected for the new ad group criterion customizer.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group criterion customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+      },
+      "adGroupCriterionLabelOperation": { # A single operation (create, remove) on an ad group criterion label. # An ad group criterion label mutate operation.
+        "create": { # A relationship between an ad group criterion and a label. # Create operation: No resource name is expected for the new ad group label.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group criterion.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+      },
+      "adGroupCriterionOperation": { # A single operation (create, remove, update) on an ad group criterion. # An ad group criterion mutate operation.
+        "create": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Create operation: No resource name is expected for the new criterion.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "update": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Update operation: The criterion is expected to have a valid resource name.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # An ad group customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # Create operation: No resource name is expected for the new ad group customizer
+          "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+          "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+      },
+      "adGroupLabelOperation": { # A single operation (create, remove) on an ad group label. # An ad group label mutate operation.
+        "create": { # A relationship between an ad group and a label. # Create operation: No resource name is expected for the new ad group label.
+          "adGroup": "A String", # Immutable. The ad group to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+      },
+      "adGroupOperation": { # A single operation (create, update, remove) on an ad group. # An ad group mutate operation.
+        "create": { # An ad group. # Create operation: No resource name is expected for the new ad group.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "update": { # An ad group. # Update operation: The ad group is expected to have a valid resource name.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adOperation": { # A single update operation on an ad. # An ad mutate operation.
+        "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+          "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+              "policyName": "A String", # Unique ID of the violated policy.
+              "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+            },
+          ],
+          "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            "A String",
+          ],
+        },
+        "update": { # An ad. # Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id}/ads/{ad_id}`
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adParameterOperation": { # A single operation (create, update, remove) on ad parameter. # An ad parameter mutate operation.
+        "create": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Create operation: No resource name is expected for the new ad parameter.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+          "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+          "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+          "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        "update": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Update operation: The ad parameter is expected to have a valid resource name.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+          "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+          "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+          "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupAssetOperation": { # A single operation (create, remove) on an asset group asset. # An asset group asset mutate operation.
+        "create": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Create operation: No resource name is expected for the new asset group asset.
+          "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+          "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+          "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+            "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process the resource is.
+          },
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the asset group asset.
+          "status": "A String", # The status of the link between an asset and asset group.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+        "update": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Update operation: The asset group asset is expected to have a valid resource name.
+          "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+          "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+          "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+            "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process the resource is.
+          },
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the asset group asset.
+          "status": "A String", # The status of the link between an asset and asset group.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupListingGroupFilterOperation": { # A single operation (create, remove) on an asset group listing group filter. # An asset group listing group filter mutate operation.
+        "create": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Create operation: No resource name is expected for the new asset group listing group filter.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+          "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+          "id": "A String", # Output only. The ID of the ListingGroupFilter.
+          "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+          "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+          "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+            "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+              { # Listing dimensions for the asset group listing group filter.
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Indicates the level of the category in the taxonomy.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                  "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                    { # Matching condition for URL filtering.
+                      "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                      "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                    },
+                  ],
+                },
+              },
+            ],
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+          "type": "A String", # Immutable. Type of a listing group filter node.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.
+        "update": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Update operation: The asset group listing group filter is expected to have a valid resource name.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+          "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+          "id": "A String", # Output only. The ID of the ListingGroupFilter.
+          "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+          "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+          "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+            "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+              { # Listing dimensions for the asset group listing group filter.
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Indicates the level of the category in the taxonomy.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                  "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                    { # Matching condition for URL filtering.
+                      "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                      "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                    },
+                  ],
+                },
+              },
+            ],
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+          "type": "A String", # Immutable. Type of a listing group filter node.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupOperation": { # A single operation (create, remove) on an asset group. # An asset group mutate operation.
+        "create": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Create operation: No resource name is expected for the new asset group
+          "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+          "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+            "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+              { # An action item to improve the ad strength of an asset group.
+                "actionItemType": "A String", # Output only. The action item type.
+                "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                  "assetCount": 42, # Output only. The number of assets to add.
+                  "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                  "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+                },
+              },
+            ],
+          },
+          "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+          "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the asset group.
+          "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+          "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+          "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+          "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+          "status": "A String", # The status of the asset group.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`
+        "update": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Update operation: The asset group is expected to have a valid resource name.
+          "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+          "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+            "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+              { # An action item to improve the ad strength of an asset group.
+                "actionItemType": "A String", # Output only. The action item type.
+                "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                  "assetCount": 42, # Output only. The number of assets to add.
+                  "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                  "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+                },
+              },
+            ],
+          },
+          "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+          "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the asset group.
+          "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+          "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+          "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+          "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+          "status": "A String", # The status of the asset group.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupSignalOperation": { # A single operation (create, remove) on an asset group signal. # An asset group signal mutate operation.
+        "create": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # Create operation: No resource name is expected for the new asset group signal.
+          "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+          "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+            "audience": "A String", # The Audience resource name.
+          },
+          "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+          "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+            "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+          },
+        },
+        "exemptPolicyViolationKeys": [ # Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "remove": "A String", # Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`
+      },
+      "assetOperation": { # A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets. # An asset mutate operation.
+        "create": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Create operation: No resource name is expected for the new asset.
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "update": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id}/assets/{asset_id}`
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetSetAssetOperation": { # A single operation (create, remove) on an asset set asset. # An asset set asset mutate operation.
+        "create": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Create operation: No resource name is expected for the new asset set asset
+          "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+          "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+          "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+          "status": "A String", # Output only. The status of the asset set asset. Read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+      },
+      "assetSetOperation": { # A single operation (create, remove) on an asset set. # An asset set mutate operation.
+        "create": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Create operation: No resource name is expected for the new asset set
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "update": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Update operation: The asset set is expected to have a valid resource name.
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "audienceOperation": { # A single operation (create, update) on an audience. # An audience mutate operation.
+        "create": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Create operation: No resource name is expected for the new audience
+          "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+          "description": "A String", # Description of this audience.
+          "dimensions": [ # Positive dimensions specifying the audience composition.
+            { # Positive dimension specifying user's audience.
+              "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                "ageRanges": [ # Contiguous age range to be included in the dimension.
+                  { # Contiguous age range.
+                    "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                    "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                  },
+                ],
+                "includeUndetermined": True or False, # Include users whose age is not determined.
+              },
+              "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                  { # Positive audience segment.
+                    "customAudience": { # Custom audience segment. # Custom audience segment.
+                      "customAudience": "A String", # The custom audience resource.
+                    },
+                    "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                      "detailedDemographic": "A String", # The detailed demographic resource.
+                    },
+                    "lifeEvent": { # Live event segment. # Live-event audience segment.
+                      "lifeEvent": "A String", # The life event resource.
+                    },
+                    "userInterest": { # User interest segment. # Affinity or In-market segment.
+                      "userInterestCategory": "A String", # The user interest resource.
+                    },
+                    "userList": { # User list segment. # User list segment.
+                      "userList": "A String", # The user list resource.
+                    },
+                  },
+                ],
+              },
+              "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                "genders": [ # Included gender demographic segments.
+                  "A String",
+                ],
+                "includeUndetermined": True or False, # Include users whose gender is not determined.
+              },
+              "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                "includeUndetermined": True or False, # Include users whose household income is not determined.
+                "incomeRanges": [ # Included household income demographic segments.
+                  "A String",
+                ],
+              },
+              "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                "parentalStatuses": [ # Included parental status demographic segments.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+            "exclusions": [ # Audience segment to be excluded.
+              { # An audience segment to be excluded from an audience.
+                "userList": { # User list segment. # User list segment to be excluded.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "id": "A String", # Output only. ID of the audience.
+          "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+          "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+          "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+          "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+        },
+        "update": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Update operation: The audience is expected to have a valid resource name.
+          "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+          "description": "A String", # Description of this audience.
+          "dimensions": [ # Positive dimensions specifying the audience composition.
+            { # Positive dimension specifying user's audience.
+              "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                "ageRanges": [ # Contiguous age range to be included in the dimension.
+                  { # Contiguous age range.
+                    "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                    "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                  },
+                ],
+                "includeUndetermined": True or False, # Include users whose age is not determined.
+              },
+              "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                  { # Positive audience segment.
+                    "customAudience": { # Custom audience segment. # Custom audience segment.
+                      "customAudience": "A String", # The custom audience resource.
+                    },
+                    "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                      "detailedDemographic": "A String", # The detailed demographic resource.
+                    },
+                    "lifeEvent": { # Live event segment. # Live-event audience segment.
+                      "lifeEvent": "A String", # The life event resource.
+                    },
+                    "userInterest": { # User interest segment. # Affinity or In-market segment.
+                      "userInterestCategory": "A String", # The user interest resource.
+                    },
+                    "userList": { # User list segment. # User list segment.
+                      "userList": "A String", # The user list resource.
+                    },
+                  },
+                ],
+              },
+              "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                "genders": [ # Included gender demographic segments.
+                  "A String",
+                ],
+                "includeUndetermined": True or False, # Include users whose gender is not determined.
+              },
+              "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                "includeUndetermined": True or False, # Include users whose household income is not determined.
+                "incomeRanges": [ # Included household income demographic segments.
+                  "A String",
+                ],
+              },
+              "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                "parentalStatuses": [ # Included parental status demographic segments.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+            "exclusions": [ # Audience segment to be excluded.
+              { # An audience segment to be excluded from an audience.
+                "userList": { # User list segment. # User list segment to be excluded.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "id": "A String", # Output only. ID of the audience.
+          "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+          "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+          "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+          "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingDataExclusionOperation": { # A single operation (create, remove, update) on a data exclusion. # A bidding data exclusion mutate operation.
+        "create": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Create operation: No resource name is expected for the new data exclusion.
+          "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+          "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+          "scope": "A String", # The scope of the data exclusion.
+          "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+          "status": "A String", # Output only. The status of the data exclusion.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "update": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Update operation: The data exclusion is expected to have a valid resource name.
+          "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+          "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+          "scope": "A String", # The scope of the data exclusion.
+          "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+          "status": "A String", # Output only. The status of the data exclusion.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingSeasonalityAdjustmentOperation": { # A single operation (create, remove, update) on a seasonality adjustment. # A bidding seasonality adjustment mutate operation.
+        "create": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Create operation: No resource name is expected for the new seasonality adjustment.
+          "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+          "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+          "scope": "A String", # The scope of the seasonality adjustment.
+          "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+          "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+          "status": "A String", # Output only. The status of the seasonality adjustment.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "update": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Update operation: The seasonality adjustment is expected to have a valid resource name.
+          "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+          "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+          "scope": "A String", # The scope of the seasonality adjustment.
+          "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+          "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+          "status": "A String", # Output only. The status of the seasonality adjustment.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingStrategyOperation": { # A single operation (create, update, remove) on a bidding strategy. # A bidding strategy mutate operation.
+        "create": { # A bidding strategy. # Create operation: No resource name is expected for the new bidding strategy.
+          "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+          "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+          "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+          "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+          "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+          },
+          "id": "A String", # Output only. The ID of the bidding strategy.
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+          "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "update": { # A bidding strategy. # Update operation: The bidding strategy is expected to have a valid resource name.
+          "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+          "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+          "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+          "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+          "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+          },
+          "id": "A String", # Output only. The ID of the bidding strategy.
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+          "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignAssetOperation": { # A single operation (create, remove) on a campaign asset. # A campaign asset mutate operation.
+        "create": { # A link between a Campaign and an Asset. # Create operation: No resource name is expected for the new campaign asset.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "update": { # A link between a Campaign and an Asset. # Update operation: The campaign asset is expected to have a valid resource name.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignAssetSetOperation": { # A single operation (create, remove) on a campaign asset set. # A campaign asset mutate operation.
+        "create": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Create operation: No resource name is expected for the new campaign asset set.
+          "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+          "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+      },
+      "campaignBidModifierOperation": { # A single operation (create, remove, update) on a campaign bid modifier. # A campaign bid modifier mutate operation.
+        "create": { # Represents a bid-modifiable only criterion at the campaign level. # Create operation: No resource name is expected for the new campaign bid modifier.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+          "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+            "type": "A String", # The interaction type.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+        "update": { # Represents a bid-modifiable only criterion at the campaign level. # Update operation: The campaign bid modifier is expected to have a valid resource name.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+          "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+            "type": "A String", # The interaction type.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignBudgetOperation": { # A single operation (create, update, remove) on a campaign budget. # A campaign budget mutate operation.
+        "create": { # A campaign budget. # Create operation: No resource name is expected for the new budget.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id}/campaignBudgets/{budget_id}`
+        "update": { # A campaign budget. # Update operation: The campaign budget is expected to have a valid resource name.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignConversionGoalOperation": { # A single operation (update) on a campaign conversion goal. # A campaign conversion goal mutate operation.
+        "update": { # The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+          "biddable": True or False, # The biddability of the campaign conversion goal.
+          "campaign": "A String", # Immutable. The campaign with which this campaign conversion goal is associated.
+          "category": "A String", # The conversion category of this campaign conversion goal.
+          "origin": "A String", # The conversion origin of this campaign conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`
+          "searchAds360Biddable": True or False, # Search Ads 360 biddability of the campaign conversion goal.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignCriterionOperation": { # A single operation (create, update, remove) on a campaign criterion. # A campaign criterion mutate operation.
+        "create": { # A campaign criterion. # Create operation: No resource name is expected for the new criterion.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "update": { # A campaign criterion. # Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # A campaign customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # Create operation: No resource name is expected for the new campaign customizer
+          "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+          "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the campaign customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+      },
+      "campaignDraftOperation": { # A single operation (create, update, remove) on a campaign draft. # A campaign draft mutate operation.
+        "create": { # A campaign draft. # Create operation: No resource name is expected for the new campaign draft.
+          "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+          "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+          "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+          "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+          "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+          "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+        },
+        "remove": "A String", # Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "update": { # A campaign draft. # Update operation: The campaign draft is expected to have a valid resource name.
+          "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+          "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+          "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+          "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+          "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+          "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignGroupOperation": { # A single operation (create, update, remove) on a campaign group. # A campaign group mutate operation.
+        "create": { # A campaign group. # Create operation: No resource name is expected for the new campaign group.
+          "id": "A String", # Output only. The ID of the campaign group.
+          "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+          "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "update": { # A campaign group. # Update operation: The campaign group is expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of the campaign group.
+          "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+          "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignLabelOperation": { # A single operation (create, remove) on a campaign-label relationship. # A campaign label mutate operation.
+        "create": { # Represents a relationship between a campaign and a label. # Create operation: No resource name is expected for the new campaign-label relationship.
+          "campaign": "A String", # Immutable. The campaign to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the campaign.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+      },
+      "campaignOperation": { # A single operation (create, update, remove) on a campaign. # A campaign mutate operation.
+        "create": { # A campaign. # Create operation: No resource name is expected for the new campaign.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id}/campaigns/{campaign_id}`
+        "update": { # A campaign. # Update operation: The campaign is expected to have a valid resource name.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignSharedSetOperation": { # A single operation (create, remove) on a campaign shared set. # A campaign shared set mutate operation.
+        "create": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # Create operation: No resource name is expected for the new campaign shared set.
+          "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+          "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+          "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+          "status": "A String", # Output only. The status of this campaign shared set. Read only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+      },
+      "conversionActionOperation": { # A single operation (create, update, remove) on a conversion action. # A conversion action mutate operation.
+        "create": { # A conversion action. # Create operation: No resource name is expected for the new conversion action.
+          "appId": "A String", # App ID for an app conversion action.
+          "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+            "attributionModel": "A String", # The attribution model type of this conversion action.
+            "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+          },
+          "category": "A String", # The category of conversions reported for this conversion action.
+          "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+          "countingType": "A String", # How to count conversion events for the conversion action.
+          "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+          "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+            "eventName": "A String", # Output only. The event name of a Firebase conversion.
+            "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+            "propertyId": "A String", # Output only. The GA property ID of the conversion.
+            "propertyName": "A String", # Output only. The GA property name of the conversion.
+          },
+          "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+            "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+            "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+            "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+          },
+          "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+            "eventName": "A String", # Output only. The name of the GA 4 event.
+            "propertyId": "A String", # Output only. The ID of the GA 4 property.
+            "propertyName": "A String", # Output only. The name of the GA 4 property.
+          },
+          "id": "A String", # Output only. The ID of the conversion action.
+          "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+          "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+          "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+          "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+          "origin": "A String", # Output only. The conversion origin of this conversion action.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+          "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+          "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+          "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+          "status": "A String", # The status of this conversion action for conversion event accrual.
+          "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+          "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+            "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+            "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+          },
+          "type": "A String", # Immutable. The type of this conversion action.
+          "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+            "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+            "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+            "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+          },
+          "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "update": { # A conversion action. # Update operation: The conversion action is expected to have a valid resource name.
+          "appId": "A String", # App ID for an app conversion action.
+          "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+            "attributionModel": "A String", # The attribution model type of this conversion action.
+            "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+          },
+          "category": "A String", # The category of conversions reported for this conversion action.
+          "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+          "countingType": "A String", # How to count conversion events for the conversion action.
+          "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+          "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+            "eventName": "A String", # Output only. The event name of a Firebase conversion.
+            "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+            "propertyId": "A String", # Output only. The GA property ID of the conversion.
+            "propertyName": "A String", # Output only. The GA property name of the conversion.
+          },
+          "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+            "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+            "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+            "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+          },
+          "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+            "eventName": "A String", # Output only. The name of the GA 4 event.
+            "propertyId": "A String", # Output only. The ID of the GA 4 property.
+            "propertyName": "A String", # Output only. The name of the GA 4 property.
+          },
+          "id": "A String", # Output only. The ID of the conversion action.
+          "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+          "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+          "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+          "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+          "origin": "A String", # Output only. The conversion origin of this conversion action.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+          "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+          "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+          "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+          "status": "A String", # The status of this conversion action for conversion event accrual.
+          "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+          "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+            "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+            "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+          },
+          "type": "A String", # Immutable. The type of this conversion action.
+          "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+            "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+            "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+            "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+          },
+          "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionCustomVariableOperation": { # A single operation (create, update) on a conversion custom variable. # A conversion custom variable mutate operation.
+        "create": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Create operation: No resource name is expected for the new conversion custom variable.
+          "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+          "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+            "A String",
+          ],
+          "family": "A String", # Output only. Family of the conversion custom variable.
+          "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+            "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+            "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+          },
+          "id": "A String", # Output only. The ID of the conversion custom variable.
+          "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+          "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+          "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+          "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+          "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+        },
+        "update": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Update operation: The conversion custom variable is expected to have a valid resource name.
+          "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+          "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+            "A String",
+          ],
+          "family": "A String", # Output only. Family of the conversion custom variable.
+          "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+            "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+            "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+          },
+          "id": "A String", # Output only. The ID of the conversion custom variable.
+          "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+          "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+          "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+          "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+          "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionGoalCampaignConfigOperation": { # A single operation (update) on a conversion goal campaign config. # A conversion goal campaign config mutate operation.
+        "update": { # Conversion goal settings for a Campaign. # Update operation: The conversion goal campaign config is expected to have a valid resource name.
+          "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+          "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+          "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+          "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+          "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+          "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionValueRuleOperation": { # A single operation (create, update, remove) on a conversion value rule. # A conversion value rule mutate operation.
+        "create": { # A conversion value rule # Create operation: No resource name is expected for the new conversion value rule.
+          "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+            "operation": "A String", # Specifies applied operation.
+            "value": 3.14, # Specifies applied value.
+          },
+          "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+            "userInterests": [ # User Interests.
+              "A String",
+            ],
+            "userLists": [ # User Lists.
+              "A String",
+            ],
+          },
+          "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+            "deviceTypes": [ # Value for device type condition.
+              "A String",
+            ],
+          },
+          "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+            "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+            "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+              "A String",
+            ],
+            "geoMatchType": "A String", # Included Geo location match type.
+            "geoTargetConstants": [ # Geo locations that advertisers want to include.
+              "A String",
+            ],
+          },
+          "id": "A String", # Output only. The ID of the conversion value rule.
+          "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+            "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+              "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+              "minDays": 42, # Minimum number of days between the date of the booking the start date.
+            },
+            "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+              "maxNights": 42, # Maximum number of days between the start date and the end date.
+              "minNights": 42, # Minimum number of nights between the start date and the end date.
+            },
+            "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+              "friday": True or False, # The travel can start on Friday.
+              "monday": True or False, # The travel can start on Monday.
+              "saturday": True or False, # The travel can start on Saturday.
+              "sunday": True or False, # The travel can start on Sunday.
+              "thursday": True or False, # The travel can start on Thursday.
+              "tuesday": True or False, # The travel can start on Tuesday.
+              "wednesday": True or False, # The travel can start on Wednesday.
+            },
+          },
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+          "status": "A String", # The status of the conversion value rule.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "update": { # A conversion value rule # Update operation: The conversion value rule is expected to have a valid resource name.
+          "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+            "operation": "A String", # Specifies applied operation.
+            "value": 3.14, # Specifies applied value.
+          },
+          "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+            "userInterests": [ # User Interests.
+              "A String",
+            ],
+            "userLists": [ # User Lists.
+              "A String",
+            ],
+          },
+          "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+            "deviceTypes": [ # Value for device type condition.
+              "A String",
+            ],
+          },
+          "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+            "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+            "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+              "A String",
+            ],
+            "geoMatchType": "A String", # Included Geo location match type.
+            "geoTargetConstants": [ # Geo locations that advertisers want to include.
+              "A String",
+            ],
+          },
+          "id": "A String", # Output only. The ID of the conversion value rule.
+          "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+            "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+              "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+              "minDays": 42, # Minimum number of days between the date of the booking the start date.
+            },
+            "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+              "maxNights": 42, # Maximum number of days between the start date and the end date.
+              "minNights": 42, # Minimum number of nights between the start date and the end date.
+            },
+            "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+              "friday": True or False, # The travel can start on Friday.
+              "monday": True or False, # The travel can start on Monday.
+              "saturday": True or False, # The travel can start on Saturday.
+              "sunday": True or False, # The travel can start on Sunday.
+              "thursday": True or False, # The travel can start on Thursday.
+              "tuesday": True or False, # The travel can start on Tuesday.
+              "wednesday": True or False, # The travel can start on Wednesday.
+            },
+          },
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+          "status": "A String", # The status of the conversion value rule.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionValueRuleSetOperation": { # A single operation (create, update, remove) on a conversion value rule set. # A conversion value rule set mutate operation.
+        "create": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Create operation: No resource name is expected for the new conversion value rule set.
+          "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+          "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+          "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+            "A String",
+          ],
+          "conversionValueRules": [ # Resource names of rules within the rule set.
+            "A String",
+          ],
+          "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the conversion value rule set.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+          "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "update": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Update operation: The conversion value rule set is expected to have a valid resource name.
+          "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+          "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+          "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+            "A String",
+          ],
+          "conversionValueRules": [ # Resource names of rules within the rule set.
+            "A String",
+          ],
+          "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the conversion value rule set.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+          "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customConversionGoalOperation": { # A single operation (create, remove) on a custom conversion goal. # A custom conversion goal mutate operation.
+        "create": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Create operation: No resource name is expected for the new custom conversion goal
+          "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+            "A String",
+          ],
+          "id": "A String", # Immutable. The ID for this custom conversion goal.
+          "name": "A String", # The name for this custom conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+          "status": "A String", # The status of the custom conversion goal.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'
+        "update": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Update operation: The custom conversion goal is expected to have a valid resource name.
+          "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+            "A String",
+          ],
+          "id": "A String", # Immutable. The ID for this custom conversion goal.
+          "name": "A String", # The name for this custom conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+          "status": "A String", # The status of the custom conversion goal.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerAssetOperation": { # A single operation (create, update, remove) on a customer asset. # A customer asset mutate operation.
+        "create": { # A link between a customer and an asset. # Create operation: No resource name is expected for the new customer asset.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "update": { # A link between a customer and an asset. # Update operation: The customer asset is expected to have a valid resource name.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerConversionGoalOperation": { # A single operation (update) on a customer conversion goal. # A customer conversion goal mutate operation.
+        "update": { # Biddability control for conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+          "biddable": True or False, # The biddability of the customer conversion goal.
+          "category": "A String", # The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
+          "origin": "A String", # The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
+          "resourceName": "A String", # Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # A customer customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the Customer level. # Create operation: No resource name is expected for the new customer customizer
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+          "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customer customizer attribute.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+      },
+      "customerLabelOperation": { # A single operation (create, remove) on a customer-label relationship. # A customer label mutate operation.
+        "create": { # Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. # Create operation: No resource name is expected for the new customer-label relationship.
+          "customer": "A String", # Output only. The resource name of the customer to which the label is attached. Read only.
+          "label": "A String", # Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.
+          "resourceName": "A String", # Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`
+      },
+      "customerNegativeCriterionOperation": { # A single operation (create or remove) on a customer level negative criterion. # A customer negative criterion mutate operation.
+        "create": { # A negative criterion for exclusions at the customer level. # Create operation: No resource name is expected for the new criterion.
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "id": "A String", # Output only. The ID of the criterion.
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+            "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+            "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+          "type": "A String", # Output only. The type of the criterion.
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+      },
+      "customerOperation": { # A single update on a customer. # A customer mutate operation.
+        "update": { # A customer. # Mutate operation. Only updates are supported for customer.
+          "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+          "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+          "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+          "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+          "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+          "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+          "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+            "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+            "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+            "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+          },
+          "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+          "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+            "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+            "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+            "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+            "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+            "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+            "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+            "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+          "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+            "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+          },
+          "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+          "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+            "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+            "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+            "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+          },
+          "engineId": "A String", # Output only. ID of the account in the external engine account.
+          "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+          "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+          "id": "A String", # Output only. The ID of the customer.
+          "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+          "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+          "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+            "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+              { # Insurance status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+              },
+            ],
+            "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+              { # License status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+              },
+            ],
+          },
+          "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+          "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+          "manager": True or False, # Output only. Whether the customer is a manager.
+          "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+          "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+          "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+          "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+            "A String",
+          ],
+          "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+            "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+          "status": "A String", # Output only. The status of the customer.
+          "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+          "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+          "testAccount": True or False, # Output only. Whether the customer is a test account.
+          "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+            "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+              "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+                { # Container for third party Brand Lift integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+                { # Container for third party brand safety integration data for Customer.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                },
+              ],
+              "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+                { # Container for third party reach integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+                { # Container for third party viewability integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                },
+              ],
+            },
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customizerAttributeOperation": { # A single operation (create, remove) on a customizer attribute. # A customizer attribute mutate operation.
+        "create": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # Create operation: No resource name is expected for the new customizer attribute
+          "id": "A String", # Output only. The ID of the customizer attribute.
+          "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+          "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customizer attribute.
+          "type": "A String", # Immutable. The type of the customizer attribute.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "experimentArmOperation": { # A single operation on an experiment arm. # An experiment arm mutate operation.
+        "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+          "assetGroups": [ # List of asset groups in the experiment arm.
+            { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+              "assetGroup": "A String", # Asset group resource name.
+              "assetGroupAssets": [ # List of asset group assets under the asset group.
+                { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                  "asset": "A String", # Asset resource name of the asset group asset.
+                  "fieldType": "A String", # Field type of the asset group asset.
+                },
+              ],
+            },
+          ],
+          "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+            "A String",
+          ],
+          "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+          "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+          "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+            "A String",
+          ],
+          "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+          "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+          "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+        },
+        "remove": "A String", # Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+        "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment arm is expected to have a valid resource name.
+          "assetGroups": [ # List of asset groups in the experiment arm.
+            { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+              "assetGroup": "A String", # Asset group resource name.
+              "assetGroupAssets": [ # List of asset group assets under the asset group.
+                { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                  "asset": "A String", # Asset resource name of the asset group asset.
+                  "fieldType": "A String", # Field type of the asset group asset.
+                },
+              ],
+            },
+          ],
+          "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+            "A String",
+          ],
+          "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+          "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+          "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+            "A String",
+          ],
+          "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+          "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+          "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "experimentOperation": { # A single operation on an experiment. # An experiment mutate operation.
+        "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+          "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+          "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+          "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+          "goals": [ # The goals of this experiment.
+            { # A metric goal for an experiment.
+              "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+              "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+            },
+          ],
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+          "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+          "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+          "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+          "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The Advertiser-chosen status of this experiment.
+          "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+          "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+          "type": "A String", # Required. The product/feature that uses this experiment.
+        },
+        "remove": "A String", # Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+        "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment is expected to have a valid resource name.
+          "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+          "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+          "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+          "goals": [ # The goals of this experiment.
+            { # A metric goal for an experiment.
+              "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+              "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+            },
+          ],
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+          "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+          "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+          "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+          "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The Advertiser-chosen status of this experiment.
+          "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+          "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+          "type": "A String", # Required. The product/feature that uses this experiment.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanAdGroupKeywordOperation": { # A single operation (create, update, remove) on a Keyword Plan ad group keyword. # A keyword plan ad group keyword operation.
+        "create": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Create operation: No resource name is expected for the new Keyword Plan ad group keyword.
+          "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+          "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+          "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+        "update": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+          "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+          "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanAdGroupOperation": { # A single operation (create, update, remove) on a Keyword Plan ad group. # A keyword plan ad group operation.
+        "create": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Create operation: No resource name is expected for the new Keyword Plan ad group.
+          "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+          "id": "A String", # Output only. The ID of the keyword plan ad group.
+          "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+          "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        "update": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Update operation: The Keyword Plan ad group is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+          "id": "A String", # Output only. The ID of the keyword plan ad group.
+          "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+          "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanCampaignKeywordOperation": { # A single operation (create, update, remove) on a Keyword Plan campaign keyword. # A keyword plan campaign keyword operation.
+        "create": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Create operation: No resource name is expected for the new Keyword Plan campaign keyword.
+          "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+          "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+        "update": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+          "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanCampaignOperation": { # A single operation (create, update, remove) on a Keyword Plan campaign. # A keyword plan campaign operation.
+        "create": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Create operation: No resource name is expected for the new Keyword Plan campaign.
+          "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "geoTargets": [ # The geo targets. Max number allowed: 20.
+            { # A geo target.
+              "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+            },
+          ],
+          "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+          "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+          "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+            "A String",
+          ],
+          "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+        "update": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Update operation: The Keyword Plan campaign is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "geoTargets": [ # The geo targets. Max number allowed: 20.
+            { # A geo target.
+              "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+            },
+          ],
+          "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+          "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+          "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+            "A String",
+          ],
+          "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanOperation": { # A single operation (create, update, remove) on a keyword plan. # A keyword plan operation.
+        "create": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Create operation: No resource name is expected for the new keyword plan.
+          "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+            "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+            "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+              "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+              "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+            },
+          },
+          "id": "A String", # Output only. The ID of the keyword plan.
+          "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+        "update": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Update operation: The keyword plan is expected to have a valid resource name.
+          "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+            "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+            "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+              "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+              "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+            },
+          },
+          "id": "A String", # Output only. The ID of the keyword plan.
+          "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "labelOperation": { # A single operation (create, remove, update) on a label. # A label mutate operation.
+        "create": { # A label. # Create operation: No resource name is expected for the new label.
+          "id": "A String", # Output only. ID of the label. Read only.
+          "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+          "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+          "status": "A String", # Output only. Status of the label. Read only.
+          "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+            "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+            "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id}/labels/{label_id}`
+        "update": { # A label. # Update operation: The label is expected to have a valid resource name.
+          "id": "A String", # Output only. ID of the label. Read only.
+          "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+          "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+          "status": "A String", # Output only. Status of the label. Read only.
+          "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+            "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+            "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "recommendationSubscriptionOperation": { # A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription # A recommendation subscription mutate operation.
+        "create": { # Recommendation Subscription resource # Create operation: No resource name is expected for the new subscription.
+          "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+          "status": "A String", # Required. Status of the subscription, either enabled or paused.
+          "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+        },
+        "update": { # Recommendation Subscription resource # Update operation: The subscription is expected to have a valid resource name.
+          "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+          "status": "A String", # Required. Status of the subscription, either enabled or paused.
+          "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+        },
+        "updateMask": "A String", # Optional. FieldMask that determines which resource fields are modified in an update.
+      },
+      "remarketingActionOperation": { # A single operation (create, update) on a remarketing action. # A remarketing action mutate operation.
+        "create": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Create operation: No resource name is expected for the new remarketing action.
+          "id": "A String", # Output only. Id of the remarketing action.
+          "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+          "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+          "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+        },
+        "update": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Update operation: The remarketing action is expected to have a valid resource name.
+          "id": "A String", # Output only. Id of the remarketing action.
+          "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+          "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+          "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "searchAds360CampaignOperation": { # A single operation (update) on a Search Ads 360 campaign. # A Search Ads 360 campaign mutate operation.
+        "update": { # A Search Ads 360 campaign. # Update operation: The Search Ads 360 campaign is expected to have a valid resource name.
+          "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+          "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "sharedCriterionOperation": { # A single operation (create, remove) on an shared criterion. # A shared criterion mutate operation.
+        "create": { # A criterion belonging to a shared set. # Create operation: No resource name is expected for the new shared criterion.
+          "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+            "displayName": "A String", # Output only. A text representation of a brand.
+            "entityId": "A String", # The Commercial KG MID for the brand.
+            "primaryUrl": "A String", # Output only. The primary url of a brand.
+            "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+            "status": "A String", # Output only. The status of a brand.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+          "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+          "type": "A String", # Output only. The type of the criterion.
+          "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+            "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+            "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+            "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+            "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+            "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+      },
+      "sharedSetOperation": { # A single operation (create, update, remove) on an shared set. # A shared set mutate operation.
+        "create": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Create operation: No resource name is expected for the new shared set.
+          "id": "A String", # Output only. The ID of this shared set. Read only.
+          "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+          "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+          "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+          "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+          "status": "A String", # Output only. The status of this shared set. Read only.
+          "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+          "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "update": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Update operation: The shared set is expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of this shared set. Read only.
+          "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+          "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+          "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+          "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+          "status": "A String", # Output only. The status of this shared set. Read only.
+          "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+          "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "smartCampaignSettingOperation": { # A single operation to update Smart campaign settings for a campaign. # A Smart campaign setting mutate operation.
+        "update": { # Settings for configuring Smart campaigns. # Update operation: The Smart campaign setting must specify a valid resource name.
+          "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+            "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+          },
+          "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+          "businessName": "A String", # The name of the business.
+          "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+          "campaign": "A String", # Output only. The campaign to which these settings apply.
+          "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+          "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+            "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+            "phoneNumber": "A String", # Phone number of the smart campaign.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "userListOperation": { # A single operation (create, update) on a user list. # A user list mutate operation.
+        "create": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Create operation: No resource name is expected for the new user list.
+          "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+          "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+          "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+            "actions": [ # Actions associated with this user list.
+              { # Represents an action type used for building remarketing user lists.
+                "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+                "remarketingAction": "A String", # A remarketing action.
+              },
+            ],
+          },
+          "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+          "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+            "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+            "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+            "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+          },
+          "description": "A String", # Description of this user list.
+          "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+          "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+          "id": "A String", # Output only. Id of the user list.
+          "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+          "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+            "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+              { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+                "operator": "A String", # The logical operator of the rule.
+                "ruleOperands": [ # The list of operands of the rule.
+                  { # Operand of logical user list that consists of a user list.
+                    "userList": "A String", # Resource name of a user list as an operand.
+                  },
+                ],
+              },
+            ],
+          },
+          "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+            "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+              "A String",
+            ],
+            "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+            "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+              "A String",
+            ],
+          },
+          "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+          "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+          "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+          "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+          "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+          "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+          "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+            "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+              "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+            },
+            "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+          },
+          "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+            "seedUserList": "A String", # Seed UserList from which this list is derived.
+          },
+          "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+          "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+          "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+          "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+          "type": "A String", # Output only. Type of this list. This field is read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id}/userLists/{user_list_id}`
+        "update": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Update operation: The user list is expected to have a valid resource name.
+          "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+          "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+          "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+            "actions": [ # Actions associated with this user list.
+              { # Represents an action type used for building remarketing user lists.
+                "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+                "remarketingAction": "A String", # A remarketing action.
+              },
+            ],
+          },
+          "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+          "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+            "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+            "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+            "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+          },
+          "description": "A String", # Description of this user list.
+          "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+          "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+          "id": "A String", # Output only. Id of the user list.
+          "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+          "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+            "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+              { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+                "operator": "A String", # The logical operator of the rule.
+                "ruleOperands": [ # The list of operands of the rule.
+                  { # Operand of logical user list that consists of a user list.
+                    "userList": "A String", # Resource name of a user list as an operand.
+                  },
+                ],
+              },
+            ],
+          },
+          "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+            "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+              "A String",
+            ],
+            "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+            "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+              "A String",
+            ],
+          },
+          "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+          "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+          "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+          "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+          "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+          "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+          "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+            "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+              "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+            },
+            "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+          },
+          "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+            "seedUserList": "A String", # Seed UserList from which this list is derived.
+          },
+          "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+          "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+          "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+          "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+          "type": "A String", # Output only. Type of this list. This field is read-only.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+    },
+  ],
+  "sequenceToken": "A String", # A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response.
+}
+
+  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 BatchJobService.AddBatchJobOperations.
+  "nextSequenceToken": "A String", # The sequence token to be used when calling AddBatchJobOperations again if more operations need to be added. The next AddBatchJobOperations request must set the sequence_token field to the value of this field.
+  "totalOperations": "A String", # The total number of operations added so far for this batch job.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ listResults(resourceName, pageSize=None, pageToken=None, responseContentType=None, x__xgafv=None) +
Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the batch job whose results are being listed. (required)
+  pageSize: integer, A parameter
+  pageToken: string, Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
+  responseContentType: string, The response content type setting. Determines whether the mutable resource or just the resource name should be returned.
+    Allowed values
+      UNSPECIFIED - Not specified. Will return the resource name only in the response.
+      RESOURCE_NAME_ONLY - The mutate response will be the resource name.
+      MUTABLE_RESOURCE - The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned.
+  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 BatchJobService.ListBatchJobResults.
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+  "results": [ # The list of rows that matched the query.
+    { # An individual batch job result.
+      "mutateOperationResponse": { # Response message for the resource mutate. # Response for the mutate. May be empty if errors occurred.
+        "adGroupAdLabelResult": { # The result for an ad group ad label mutate. # The result for the ad group ad label mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupAdResult": { # The result for the ad mutate. # The result for the ad group ad mutate.
+          "adGroupAd": { # An ad group ad. # The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+              "A String",
+            ],
+            "ad": { # An ad. # Immutable. The ad.
+              "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+              "appAd": { # An app ad. # Details pertaining to an app ad.
+                "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                  "asset": "A String", # The Asset resource name of this app deep link asset.
+                },
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                  { # A media bundle asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this media bundle.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "videos": [ # List of video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+                "businessName": "A String", # Required. The Advertiser/brand name.
+                "callToActionText": "A String", # Call to action text.
+                "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                  { # A Demand Gen carousel card asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this discovery carousel card.
+                  },
+                ],
+                "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+                "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+                "callToActionText": "A String", # Call to action text.
+                "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+              },
+              "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+                "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                  { # A call to action asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this call to action asset.
+                  },
+                ],
+                "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "descriptions": [ # List of text assets used for the description.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets used for the short headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadlines": [ # List of text assets used for the long headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "videos": [ # List of YouTube video assets used for the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+              "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+                "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+                "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              },
+              "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+              "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+              },
+              "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+                "headlinePart1": "A String", # The first part of the ad's headline.
+                "headlinePart2": "A String", # The second part of the ad's headline.
+                "headlinePart3": "A String", # The third part of the ad's headline.
+                "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+                "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+              },
+              "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+                { # A URL for deep linking into an app for the given operating system.
+                  "osType": "A String", # The operating system targeted by this URL. Required.
+                  "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+                },
+              ],
+              "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+              "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+              },
+              "id": "A String", # Output only. The ID of the ad.
+              "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+                "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+                "data": "A String", # Raw image data as bytes.
+                "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+                "imageUrl": "A String", # URL of the full size image.
+                "mimeType": "A String", # The mime type of the image.
+                "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+                "pixelHeight": "A String", # Height in pixels of the full size image.
+                "pixelWidth": "A String", # Width in pixels of the full size image.
+                "previewImageUrl": "A String", # URL of the preview size image.
+                "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+                "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+              },
+              "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+                "appId": "A String", # The ID of the mobile app.
+                "appStore": "A String", # The app store the mobile app is available in.
+                "description1": "A String", # The first description line of the ad.
+                "description2": "A String", # The second description line of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The business name in the ad.
+                "callToActionText": "A String", # The call-to-action text for the ad.
+                "description": "A String", # The description of the ad.
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+                "longHeadline": "A String", # The long version of the ad's headline.
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "shortHeadline": "A String", # The short version of the ad's headline.
+                "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+                "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+              },
+              "localAd": { # A local ad. # Details pertaining to a local ad.
+                "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+                "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+              "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+              "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+                "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+                "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                  "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                  "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+                },
+                "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # First part of text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              },
+              "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+              },
+              "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+                "headline2": "A String", # The second headline of the ad.
+                "headline3": "A String", # The third headline of the ad.
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+                "displayUrl": "A String", # The displayed URL of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+                "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+              },
+              "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+              },
+              "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+              },
+              "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+                "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+              },
+              "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+              "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+              },
+              "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+              "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+              },
+              "type": "A String", # Output only. The type of ad.
+              "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+                { # Collection of urls that is tagged with a unique identifier.
+                  "finalMobileUrls": [ # A list of possible final mobile URLs.
+                    "A String",
+                  ],
+                  "finalUrls": [ # A list of possible final URLs.
+                    "A String",
+                  ],
+                  "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                  "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+                },
+              ],
+              "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+            },
+            "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+            "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+              { # Asset automation setting for an AdGroupAd.
+                "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+                "assetAutomationType": "A String", # The asset automation type that this setting configures.
+              },
+            ],
+            "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+              "A String",
+            ],
+            "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+            "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+            "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+              "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+            },
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+            "status": "A String", # The status of the ad.
+          },
+          "resourceName": "A String", # The resource name returned for successful operations.
+        },
+        "adGroupAssetResult": { # The result for the ad group asset mutate. # The result for the ad group asset mutate.
+          "adGroupAsset": { # A link between an ad group and an asset. # The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+            "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the adgroup asset link.
+            "status": "A String", # Status of the ad group asset.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupBidModifierResult": { # The result for the criterion mutate. # The result for the ad group bid modifier mutate.
+          "adGroupBidModifier": { # Represents an ad group bid modifier. # The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+            "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+            "bidModifierSource": "A String", # Output only. Bid modifier source.
+            "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+            "device": { # A device criterion. # Immutable. A device criterion.
+              "type": "A String", # Type of the device.
+            },
+            "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+              "maxDays": "A String", # High end of the number of days prior to the stay.
+              "minDays": "A String", # Low end of the number of days prior to the stay.
+            },
+            "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+              "endDate": "A String", # End date in the YYYY-MM-DD format.
+              "startDate": "A String", # Start date in the YYYY-MM-DD format.
+            },
+            "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+              "dayOfWeek": "A String", # The day of the week.
+            },
+            "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+              "type": "A String", # Type of the hotel date selection
+            },
+            "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+              "maxNights": "A String", # High end of the number of nights in the stay.
+              "minNights": "A String", # Low end of the number of nights in the stay.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupCriterionCustomizerResult": { # The result for the ad group criterion customizer mutate. # The result for the ad group criterion customizer mutate.
+          "adGroupCriterionCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+            "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+            "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+            "status": "A String", # Output only. The status of the ad group criterion customizer.
+            "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+              "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+              "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupCriterionLabelResult": { # The result for an ad group criterion label mutate. # The result for the ad group criterion label mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupCriterionResult": { # The result for the criterion mutate. # The result for the ad group criterion mutate.
+          "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+              "type": "A String", # Type of the app payment model.
+            },
+            "approvalStatus": "A String", # Output only. Approval status of the criterion.
+            "audience": { # An audience criterion. # Immutable. Audience.
+              "audience": "A String", # The Audience resource name.
+            },
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+            "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "criterionId": "A String", # Output only. The ID of the criterion.
+            "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+              "customAffinity": "A String", # The CustomInterest resource name.
+            },
+            "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+              "customAudience": "A String", # The CustomAudience resource name.
+            },
+            "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+              "customIntent": "A String", # The CustomInterest resource name.
+            },
+            "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+              "A String",
+            ],
+            "displayName": "A String", # Output only. The display name of the criterion.
+            "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+            "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+            "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+            "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+            "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+            "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+              "A String",
+            ],
+            "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+            "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+            "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+              "A String",
+            ],
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+              "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+              "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+              "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+                "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                  { # Listing dimensions for listing group criterion.
+                    "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                      "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                    },
+                    "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                      "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                    },
+                    "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                      "value": "A String", # String value of the activity ID.
+                    },
+                    "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                      "value": "A String", # Long value of the activity rating.
+                    },
+                    "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                      "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                    },
+                    "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                      "cityCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                      "value": "A String", # Long value of the hotel class.
+                    },
+                    "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                      "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                      "value": "A String", # String value of the hotel ID.
+                    },
+                    "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                      "stateCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "productBrand": { # Brand of the product. # Brand of a product offer.
+                      "value": "A String", # String value of the product brand.
+                    },
+                    "productCategory": { # Category of a product offer. # Category of a product offer.
+                      "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                      "level": "A String", # Level of the product category.
+                    },
+                    "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                      "channel": "A String", # Value of the locality.
+                    },
+                    "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                      "channelExclusivity": "A String", # Value of the availability.
+                    },
+                    "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                      "condition": "A String", # Value of the condition.
+                    },
+                    "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                      "index": "A String", # Indicates the index of the custom attribute.
+                      "value": "A String", # String value of the product custom attribute.
+                    },
+                    "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product grouping.
+                    },
+                    "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                      "value": "A String", # Value of the id.
+                    },
+                    "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product labels.
+                    },
+                    "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product legacy condition.
+                    },
+                    "productType": { # Type of a product offer. # Type of a product offer.
+                      "level": "A String", # Level of the type.
+                      "value": "A String", # Value of the type.
+                    },
+                    "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product full type.
+                    },
+                    "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                    },
+                  },
+                ],
+              },
+              "type": "A String", # Type of the listing group.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+              "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+              "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+              "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+              "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+              "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+            },
+            "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+            "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+              "A String",
+            ],
+            "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+              "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+              "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+              "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+              "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+            "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Output only. The type of the criterion.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+              "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupCustomizerResult": { # The result for the ad group customizer mutate. # The result for the ad group customizer mutate.
+          "adGroupCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+            "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+            "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+            "status": "A String", # Output only. The status of the ad group customizer.
+            "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+              "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+              "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupLabelResult": { # The result for an ad group label mutate. # The result for the ad group label mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adGroupResult": { # The result for the ad group mutate. # The result for the ad group mutate.
+          "adGroup": { # An ad group. # The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adRotationMode": "A String", # The ad rotation mode of the ad group.
+            "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+              "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+            },
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+            },
+            "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+            "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+            "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+            "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+              "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+                "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+                "channelStrategy": "A String", # High level channel strategy.
+                "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                  "discover": True or False, # Whether to enable ads on the Discover channel.
+                  "display": True or False, # Whether to enable ads on the Display channel.
+                  "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                  "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                  "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                  "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+                },
+              },
+            },
+            "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+            "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+              "A String",
+            ],
+            "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+            "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+            "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+            "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+            "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+            "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+            "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group.
+            "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+            "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+            "id": "A String", # Output only. The ID of the ad group.
+            "labels": [ # Output only. The resource names of labels attached to this ad group.
+              "A String",
+            ],
+            "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+            "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+            "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "status": "A String", # The status of the ad group.
+            "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+            "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+            "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+            "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+            "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Immutable. The type of the ad group.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+              "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+              "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+              "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "adParameterResult": { # The result for the ad parameter mutate. # The result for the ad parameter mutate.
+          "adParameter": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+            "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+            "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+            "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+          },
+          "resourceName": "A String", # The resource name returned for successful operations.
+        },
+        "adResult": { # The result for the ad mutate. # The result for the ad mutate.
+          "ad": { # An ad. # The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "resourceName": "A String", # The resource name returned for successful operations.
+        },
+        "assetGroupAssetResult": { # The result for the asset group asset mutate. # The result for the asset group asset mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "assetGroupListingGroupFilterResult": { # The result for the asset group listing group filter mutate. # The result for the asset group listing group filter mutate.
+          "assetGroupListingGroupFilter": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+            "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Indicates the level of the category in the taxonomy.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                  { # Matching condition for URL filtering.
+                    "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                    "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                  },
+                ],
+              },
+            },
+            "id": "A String", # Output only. The ID of the ListingGroupFilter.
+            "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+            "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+            "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+              "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+                { # Listing dimensions for the asset group listing group filter.
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Indicates the level of the category in the taxonomy.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                    "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                      { # Matching condition for URL filtering.
+                        "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                        "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                      },
+                    ],
+                  },
+                },
+              ],
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+            "type": "A String", # Immutable. Type of a listing group filter node.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "assetGroupResult": { # The result for the asset group mutate. # The result for the asset group mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "assetGroupSignalResult": { # The result for the asset group signal mutate. # The result for the asset group signal mutate.
+          "assetGroupSignal": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+            "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+            "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+              "audience": "A String", # The Audience resource name.
+            },
+            "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+            "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+              "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "assetResult": { # The result for the asset mutate. # The result for the asset mutate.
+          "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+          "resourceName": "A String", # The resource name returned for successful operations.
+        },
+        "assetSetAssetResult": { # The result for the asset set asset mutate. # The result for the asset set asset mutate.
+          "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+            "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+            "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+            "status": "A String", # Output only. The status of the asset set asset. Read-only.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "assetSetResult": { # The result for the asset set mutate. # The result for the asset set mutate.
+          "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+              "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+                "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                  "businessName": "A String", # Business name string to use for filtering.
+                  "filterType": "A String", # The type of string matching to use when filtering with business_name.
+                },
+                "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                  "A String",
+                ],
+              },
+            },
+            "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+              "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+            "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+              "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+              "partnerName": "A String", # Output only. Name of the hotel partner.
+            },
+            "id": "A String", # Output only. The ID of the asset set.
+            "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+            "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+              "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+                "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+                "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+                "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+                "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+                "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                  "A String",
+                ],
+              },
+              "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+                "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                  { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                    "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                    "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                      "A String",
+                    ],
+                  },
+                ],
+                "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+              },
+              "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+              "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+                "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                  { # Wrapper for place ids
+                    "placeId": "A String", # Place ID of the Maps location.
+                  },
+                ],
+              },
+            },
+            "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+              "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+              "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+            },
+            "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+            "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+            "status": "A String", # Output only. The status of the asset set. Read-only.
+            "type": "A String", # Required. Immutable. The type of the asset set. Required.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "audienceResult": { # The result for the audience mutate. # The result for the audience mutate.
+          "audience": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+            "description": "A String", # Description of this audience.
+            "dimensions": [ # Positive dimensions specifying the audience composition.
+              { # Positive dimension specifying user's audience.
+                "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                  "ageRanges": [ # Contiguous age range to be included in the dimension.
+                    { # Contiguous age range.
+                      "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                      "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                    },
+                  ],
+                  "includeUndetermined": True or False, # Include users whose age is not determined.
+                },
+                "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                  "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                    { # Positive audience segment.
+                      "customAudience": { # Custom audience segment. # Custom audience segment.
+                        "customAudience": "A String", # The custom audience resource.
+                      },
+                      "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                        "detailedDemographic": "A String", # The detailed demographic resource.
+                      },
+                      "lifeEvent": { # Live event segment. # Live-event audience segment.
+                        "lifeEvent": "A String", # The life event resource.
+                      },
+                      "userInterest": { # User interest segment. # Affinity or In-market segment.
+                        "userInterestCategory": "A String", # The user interest resource.
+                      },
+                      "userList": { # User list segment. # User list segment.
+                        "userList": "A String", # The user list resource.
+                      },
+                    },
+                  ],
+                },
+                "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                  "genders": [ # Included gender demographic segments.
+                    "A String",
+                  ],
+                  "includeUndetermined": True or False, # Include users whose gender is not determined.
+                },
+                "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                  "includeUndetermined": True or False, # Include users whose household income is not determined.
+                  "incomeRanges": [ # Included household income demographic segments.
+                    "A String",
+                  ],
+                },
+                "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                  "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                  "parentalStatuses": [ # Included parental status demographic segments.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+              "exclusions": [ # Audience segment to be excluded.
+                { # An audience segment to be excluded from an audience.
+                  "userList": { # User list segment. # User list segment to be excluded.
+                    "userList": "A String", # The user list resource.
+                  },
+                },
+              ],
+            },
+            "id": "A String", # Output only. ID of the audience.
+            "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+            "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+            "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+            "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "biddingDataExclusionResult": { # The result for the data exclusion mutate. # The result for the bidding data exclusion mutate.
+          "biddingDataExclusion": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+              "A String",
+            ],
+            "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+              "A String",
+            ],
+            "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+            "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+            "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+              "A String",
+            ],
+            "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+            "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+            "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+            "scope": "A String", # The scope of the data exclusion.
+            "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+            "status": "A String", # Output only. The status of the data exclusion.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "biddingSeasonalityAdjustmentResult": { # The result for the seasonality adjustment mutate. # The result for the bidding seasonality adjustment mutate.
+          "biddingSeasonalityAdjustment": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+              "A String",
+            ],
+            "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+              "A String",
+            ],
+            "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+            "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+            "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+              "A String",
+            ],
+            "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+            "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+            "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+            "scope": "A String", # The scope of the seasonality adjustment.
+            "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+            "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+            "status": "A String", # Output only. The status of the seasonality adjustment.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "biddingStrategyResult": { # The result for the bidding strategy mutate. # The result for the bidding strategy mutate.
+          "biddingStrategy": { # A bidding strategy. # The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+            "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+            "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+            "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+            "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+            },
+            "id": "A String", # Output only. The ID of the bidding strategy.
+            "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+            },
+            "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+            },
+            "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+            "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+            "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+            "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+            "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+              "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+              "location": "A String", # The targeted location on the search results page.
+              "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+            },
+            "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+            },
+            "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+              "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+            },
+            "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignAssetResult": { # The result for the campaign asset mutate. # The result for the campaign asset mutate.
+          "campaignAsset": { # A link between a Campaign and an Asset. # The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "asset": "A String", # Immutable. The asset which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+            "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the campaign asset link.
+            "status": "A String", # Status of the campaign asset.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignAssetSetResult": { # The result for the campaign asset set mutate. # The result for the campaign asset set mutate.
+          "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+            "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignBidModifierResult": { # The result for the criterion mutate. # The result for the campaign bid modifier mutate.
+          "campaignBidModifier": { # Represents a bid-modifiable only criterion at the campaign level. # The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+            "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+            "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+            "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+              "type": "A String", # The interaction type.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignBudgetResult": { # The result for the campaign budget mutate. # The result for the campaign budget mutate.
+          "campaignBudget": { # A campaign budget. # The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+            "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+            "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+            "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+            "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+            "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+            "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+            "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+            "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+            "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+            "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+            "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+            "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+            "type": "A String", # Immutable. The type of the campaign budget.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignConversionGoalResult": { # The result for the campaign conversion goal mutate. # The result for the campaign conversion goal mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignCriterionResult": { # The result for the criterion mutate. # The result for the campaign criterion mutate.
+          "campaignCriterion": { # A campaign criterion. # The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+            "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+              "carrierConstant": "A String", # The Carrier constant resource name.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+              "type": "A String", # Content label type, required for CREATE operations.
+            },
+            "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+            "device": { # A device criterion. # Immutable. Device.
+              "type": "A String", # Type of the device.
+            },
+            "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+              "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+              "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+              "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+            },
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+              "dimensions": [ # Scope of the campaign criterion.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+              "serviceId": "A String", # The criterion resource name.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+              "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+                "A String",
+              ],
+              "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+                "A String",
+              ],
+              "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+                "A String",
+              ],
+              "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+              "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+              "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+            "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+              "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+              "address": { # Address for proximity criterion. # Full address.
+                "cityName": "A String", # Name of the city.
+                "countryCode": "A String", # Country code.
+                "postalCode": "A String", # Postal code.
+                "provinceCode": "A String", # Province or state code.
+                "provinceName": "A String", # Province or state name.
+                "streetAddress": "A String", # Street address line 1.
+                "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+              },
+              "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+                "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+                "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+              },
+              "radius": 3.14, # The radius of the proximity.
+              "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "type": "A String", # Output only. The type of the criterion.
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+              "sharedSet": "A String", # Shared set resource name of the webpage list.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignCustomizerResult": { # The result for the campaign customizer mutate. # The result for the campaign customizer mutate.
+          "campaignCustomizer": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+            "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+            "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+            "status": "A String", # Output only. The status of the campaign customizer.
+            "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+              "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+              "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignDraftResult": { # The result for the campaign draft mutate. # The result for the campaign draft mutate.
+          "campaignDraft": { # A campaign draft. # The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+            "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+            "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+            "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+            "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+            "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+            "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignGroupResult": { # The result for the campaign group mutate. # The result for the campaign group mutate.
+          "campaignGroup": { # A campaign group. # The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "id": "A String", # Output only. The ID of the campaign group.
+            "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+            "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+          },
+          "resourceName": "A String", # Required. Returned for successful operations.
+        },
+        "campaignLabelResult": { # The result for a campaign label mutate. # The result for the campaign label mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignResult": { # The result for the campaign mutate. # The result for the campaign mutate.
+          "campaign": { # A campaign. # The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+            "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+            "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+            "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+            "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+              "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+              "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+            },
+            "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+              "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+              "appStore": "A String", # Immutable. The application store that distributes this specific app.
+              "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+            },
+            "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+              { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+                "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+                "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+              },
+            ],
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+            },
+            "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+            "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+            "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+            "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+            "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+              "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+              "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+              "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+            },
+            "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+            "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+            "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+            "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+              "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+            },
+            "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+            "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+              "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+            },
+            "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+              "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+              "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+              "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+            },
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+              "A String",
+            ],
+            "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+            "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+            "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+            "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+              { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+                "cap": 42, # Maximum number of events allowed during the time range by this cap.
+                "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                  "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                  "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                  "timeLength": 42, # Number of time units the cap lasts.
+                  "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+                },
+              },
+            ],
+            "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+              "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+              "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+            },
+            "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+            "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+              "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+            },
+            "id": "A String", # Output only. The ID of the campaign.
+            "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+            "labels": [ # Output only. The resource names of labels attached to this campaign.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+            "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+              "locationSourceType": "A String", # The location source type for this local campaign.
+            },
+            "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+              "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+                { # Category bids in LocalServicesReportingCampaignSettings.
+                  "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                  "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                  "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+                },
+              ],
+            },
+            "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+            },
+            "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+              "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+            },
+            "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+            },
+            "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+            },
+            "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+            },
+            "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+            },
+            "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+            "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+              "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+              "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+              "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+              "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+              "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+              "targetYoutube": True or False, # Whether ads will be served on YouTube.
+            },
+            "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+              "optimizationGoalTypes": [ # The list of optimization goal types.
+                "A String",
+              ],
+            },
+            "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+            "paymentMode": "A String", # Payment mode for the campaign.
+            "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+              "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+            },
+            "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+              "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+              "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+              "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+            },
+            "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+              "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+                "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+              },
+            },
+            "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+            "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+              "A String",
+            ],
+            "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+              "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+            "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+              "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+                "A String",
+              ],
+            },
+            "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+            "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+            "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+              "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+                "A String",
+              ],
+              "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+              "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+              "enableLocal": True or False, # Whether to include local products.
+              "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+              "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+              "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+            },
+            "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+            "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+            "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+              "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+            },
+            "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+              "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+              "location": "A String", # The targeted location on the search results page.
+              "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+            },
+            "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+            },
+            "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+              "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+            },
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+              "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+                { # Container for third party Brand Lift integration data for Campaign.
+                  "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                  "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+                { # Container for third party brand safety integration data for Campaign.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                  "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+              "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+                { # Container for third party reach integration data for Campaign.
+                  "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                  "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+                { # Container for third party viewability integration data for Campaign.
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                  "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+            },
+            "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+              "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+              "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+            },
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+              "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+              "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+            },
+            "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "campaignSharedSetResult": { # The result for the campaign shared set mutate. # The result for the campaign shared set mutate.
+          "campaignSharedSet": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+            "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+            "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+            "status": "A String", # Output only. The status of this campaign shared set. Read only.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "conversionActionResult": { # The result for the conversion action mutate. # The result for the conversion action mutate.
+          "conversionAction": { # A conversion action. # The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "appId": "A String", # App ID for an app conversion action.
+            "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+              "attributionModel": "A String", # The attribution model type of this conversion action.
+              "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+            },
+            "category": "A String", # The category of conversions reported for this conversion action.
+            "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+            "countingType": "A String", # How to count conversion events for the conversion action.
+            "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+            "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+              "eventName": "A String", # Output only. The event name of a Firebase conversion.
+              "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+              "propertyId": "A String", # Output only. The GA property ID of the conversion.
+              "propertyName": "A String", # Output only. The GA property name of the conversion.
+            },
+            "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+              "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+              "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+              "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+            },
+            "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+              "eventName": "A String", # Output only. The name of the GA 4 event.
+              "propertyId": "A String", # Output only. The ID of the GA 4 property.
+              "propertyName": "A String", # Output only. The name of the GA 4 property.
+            },
+            "id": "A String", # Output only. The ID of the conversion action.
+            "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+            "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+            "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+            "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+            "origin": "A String", # Output only. The conversion origin of this conversion action.
+            "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+            "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+            "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+            "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+            "status": "A String", # The status of this conversion action for conversion event accrual.
+            "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+              { # The site tag and event snippet pair for a TrackingCodeType.
+                "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+                "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+                "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+                "type": "A String", # The type of the generated tag snippets for tracking conversions.
+              },
+            ],
+            "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+              "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+              "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+            },
+            "type": "A String", # Immutable. The type of this conversion action.
+            "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+              "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+              "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+              "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+            },
+            "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "conversionCustomVariableResult": { # The result for the conversion custom variable mutate. # The result for the conversion custom variable mutate.
+          "conversionCustomVariable": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+            "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+              "A String",
+            ],
+            "family": "A String", # Output only. Family of the conversion custom variable.
+            "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+              "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+              "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+            },
+            "id": "A String", # Output only. The ID of the conversion custom variable.
+            "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+            "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+            "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+            "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+            "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "conversionGoalCampaignConfigResult": { # The result for the conversion goal campaign config mutate. # The result for the conversion goal campaign config mutate.
+          "conversionGoalCampaignConfig": { # Conversion goal settings for a Campaign. # The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+            "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+            "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+            "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+            "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+            "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "conversionValueRuleResult": { # The result for the conversion value rule mutate. # The result for the conversion value rule mutate.
+          "conversionValueRule": { # A conversion value rule # The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+              "operation": "A String", # Specifies applied operation.
+              "value": 3.14, # Specifies applied value.
+            },
+            "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+              "userInterests": [ # User Interests.
+                "A String",
+              ],
+              "userLists": [ # User Lists.
+                "A String",
+              ],
+            },
+            "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+              "deviceTypes": [ # Value for device type condition.
+                "A String",
+              ],
+            },
+            "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+              "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+              "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+                "A String",
+              ],
+              "geoMatchType": "A String", # Included Geo location match type.
+              "geoTargetConstants": [ # Geo locations that advertisers want to include.
+                "A String",
+              ],
+            },
+            "id": "A String", # Output only. The ID of the conversion value rule.
+            "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+              "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+                "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+                "minDays": 42, # Minimum number of days between the date of the booking the start date.
+              },
+              "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+                "maxNights": 42, # Maximum number of days between the start date and the end date.
+                "minNights": 42, # Minimum number of nights between the start date and the end date.
+              },
+              "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+                "friday": True or False, # The travel can start on Friday.
+                "monday": True or False, # The travel can start on Monday.
+                "saturday": True or False, # The travel can start on Saturday.
+                "sunday": True or False, # The travel can start on Sunday.
+                "thursday": True or False, # The travel can start on Thursday.
+                "tuesday": True or False, # The travel can start on Tuesday.
+                "wednesday": True or False, # The travel can start on Wednesday.
+              },
+            },
+            "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+            "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+            "status": "A String", # The status of the conversion value rule.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "conversionValueRuleSetResult": { # The result for the conversion value rule set mutate. # The result for the conversion value rule set mutate.
+          "conversionValueRuleSet": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+            "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+            "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+              "A String",
+            ],
+            "conversionValueRules": [ # Resource names of rules within the rule set.
+              "A String",
+            ],
+            "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+              "A String",
+            ],
+            "id": "A String", # Output only. The ID of the conversion value rule set.
+            "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+            "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+            "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customConversionGoalResult": { # The result for the custom conversion goal mutate. # The result for the custom conversion goal mutate.
+          "customConversionGoal": { # Custom conversion goal that can make arbitrary conversion actions biddable. # The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+              "A String",
+            ],
+            "id": "A String", # Immutable. The ID for this custom conversion goal.
+            "name": "A String", # The name for this custom conversion goal.
+            "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+            "status": "A String", # The status of the custom conversion goal.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerAssetResult": { # The result for the customer asset mutate. # The result for the customer asset mutate.
+          "customerAsset": { # A link between a customer and an asset. # The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the customer asset link.
+            "status": "A String", # Status of the customer asset.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerConversionGoalResult": { # The result for the customer conversion goal mutate. # The result for the customer conversion goal mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerCustomizerResult": { # The result for the customizer attribute mutate. # The result for the customer customizer mutate.
+          "customerCustomizer": { # A customizer value for the associated CustomizerAttribute at the Customer level. # The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+            "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+            "status": "A String", # Output only. The status of the customer customizer attribute.
+            "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+              "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+              "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerLabelResult": { # The result for a customer label mutate. # The result for the customer label mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerNegativeCriterionResult": { # The result for the criterion mutate. # The result for the customer negative criterion mutate.
+          "customerNegativeCriterion": { # A negative criterion for exclusions at the customer level. # The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+              "type": "A String", # Content label type, required for CREATE operations.
+            },
+            "id": "A String", # Output only. The ID of the criterion.
+            "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+              "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+              "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+            },
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+              "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+            "type": "A String", # Output only. The type of the criterion.
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customerResult": { # The result for the customer mutate. # The result for the customer mutate.
+          "customer": { # A customer. # The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+            "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+            "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+            "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+            "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+            "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+            "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+              "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+              "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+              "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+            },
+            "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+            "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+              "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+              "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+              "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+              "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+              "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+              "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+              "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+            "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+              "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+            },
+            "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+            "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+              "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+              "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+              "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+            },
+            "engineId": "A String", # Output only. ID of the account in the external engine account.
+            "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+            "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+            "id": "A String", # Output only. The ID of the customer.
+            "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+            "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+            "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+              "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+                { # Insurance status at geo + vertical level.
+                  "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                  "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                  "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+                },
+              ],
+              "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+                { # License status at geo + vertical level.
+                  "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                  "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                  "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+                },
+              ],
+            },
+            "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+            "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+            "manager": True or False, # Output only. Whether the customer is a manager.
+            "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+            "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+            "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+            "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+            "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+              "A String",
+            ],
+            "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+              "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+            "status": "A String", # Output only. The status of the customer.
+            "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+            "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+            "testAccount": True or False, # Output only. Whether the customer is a test account.
+            "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+            "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+            "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+              "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+                "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+                  { # Container for third party Brand Lift integration data for Customer.
+                    "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                    "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+                  },
+                ],
+                "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+                  { # Container for third party brand safety integration data for Customer.
+                    "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                  },
+                ],
+                "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+                  { # Container for third party reach integration data for Customer.
+                    "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                    "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+                  },
+                ],
+                "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+                  { # Container for third party viewability integration data for Customer.
+                    "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                    "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                  },
+                ],
+              },
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "customizerAttributeResult": { # The result for the customizer attribute mutate. # The result for the customizer attribute mutate.
+          "customizerAttribute": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "id": "A String", # Output only. The ID of the customizer attribute.
+            "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+            "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+            "status": "A String", # Output only. The status of the customizer attribute.
+            "type": "A String", # Immutable. The type of the customizer attribute.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "experimentArmResult": { # The result for the experiment arm mutate. # The result for the experiment arm mutate.
+          "experimentArm": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "assetGroups": [ # List of asset groups in the experiment arm.
+              { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+                "assetGroup": "A String", # Asset group resource name.
+                "assetGroupAssets": [ # List of asset group assets under the asset group.
+                  { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                    "asset": "A String", # Asset resource name of the asset group asset.
+                    "fieldType": "A String", # Field type of the asset group asset.
+                  },
+                ],
+              },
+            ],
+            "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+              "A String",
+            ],
+            "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+            "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+            "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+              "A String",
+            ],
+            "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+            "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+            "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "experimentResult": { # The result for the campaign experiment mutate. # The result for the experiment mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "keywordPlanAdGroupKeywordResult": { # The result for the Keyword Plan ad group keyword mutate. # The result for the keyword plan ad group keyword mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "keywordPlanAdGroupResult": { # The result for the Keyword Plan ad group mutate. # The result for the keyword plan ad group mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "keywordPlanCampaignKeywordResult": { # The result for the Keyword Plan campaign keyword mutate. # The result for the keyword plan campaign keyword mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "keywordPlanCampaignResult": { # The result for the Keyword Plan campaign mutate. # The result for the keyword plan campaign mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "keywordPlanResult": { # The result for the keyword plan mutate. # The result for the keyword plan mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "labelResult": { # The result for a label mutate. # The result for the label mutate.
+          "label": { # A label. # The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "id": "A String", # Output only. ID of the label. Read only.
+            "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+            "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+            "status": "A String", # Output only. Status of the label. Read only.
+            "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+              "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+              "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+            },
+          },
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "recommendationSubscriptionResult": { # Result message for RecommendationSubscriptionService.MutateRecommendationSubscription # The result for the recommendation subscription mutate.
+          "recommendationSubscription": { # Recommendation Subscription resource # The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+            "status": "A String", # Required. Status of the subscription, either enabled or paused.
+            "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+          },
+          "resourceName": "A String", # Resource name of the subscription that was modified.
+        },
+        "remarketingActionResult": { # The result for the remarketing action mutate. # The result for the remarketing action mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+        "searchAds360CampaignResult": { # The result for the Search Ads 360 campaign mutate. # The result for the Search Ads 360 campaign mutate.
+          "resourceName": "A String", # Returned for successful operations.
+          "searchAds360Campaign": { # A Search Ads 360 campaign. # The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+            "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+          },
+        },
+        "sharedCriterionResult": { # The result for the shared criterion mutate. # The result for the shared criterion mutate.
+          "resourceName": "A String", # Returned for successful operations.
+          "sharedCriterion": { # A criterion belonging to a shared set. # The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+              "displayName": "A String", # Output only. A text representation of a brand.
+              "entityId": "A String", # The Commercial KG MID for the brand.
+              "primaryUrl": "A String", # Output only. The primary url of a brand.
+              "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+              "status": "A String", # Output only. The status of a brand.
+            },
+            "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+            "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+            "type": "A String", # Output only. The type of the criterion.
+            "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+              "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+              "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+              "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+              "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+              "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+        },
+        "sharedSetResult": { # The result for the shared set mutate. # The result for the shared set mutate.
+          "resourceName": "A String", # Returned for successful operations.
+          "sharedSet": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "id": "A String", # Output only. The ID of this shared set. Read only.
+            "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+            "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+            "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+            "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+            "status": "A String", # Output only. The status of this shared set. Read only.
+            "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+            "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+          },
+        },
+        "smartCampaignSettingResult": { # The result for the Smart campaign setting mutate. # The result for the Smart campaign setting mutate.
+          "resourceName": "A String", # Returned for successful operations.
+          "smartCampaignSetting": { # Settings for configuring Smart campaigns. # The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+            "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+              "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+            },
+            "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+            "businessName": "A String", # The name of the business.
+            "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+            "campaign": "A String", # Output only. The campaign to which these settings apply.
+            "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+            "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+              "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+              "phoneNumber": "A String", # Phone number of the smart campaign.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+          },
+        },
+        "userListResult": { # The result for the user list mutate. # The result for the user list mutate.
+          "resourceName": "A String", # Returned for successful operations.
+        },
+      },
+      "operationIndex": "A String", # Index of the mutate operation.
+      "status": { # 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). # Details of the errors when processing the operation.
+        "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.
+      },
+    },
+  ],
+}
+
+ +
+ listResults_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.
+        
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which to create a batch job. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BatchJobService.MutateBatchJob.
+  "operation": { # A single operation on a batch job. # Required. The operation to perform on an individual batch job.
+    "create": { # A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults. # Create operation: No resource name is expected for the new batch job.
+      "id": "A String", # Output only. ID of this batch job.
+      "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.
+      "metadata": { # Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations. # Output only. Contains additional information about this batch job.
+        "completionDateTime": "A String", # Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+        "creationDateTime": "A String", # Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+        "estimatedCompletionRatio": 3.14, # Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.
+        "executedOperationCount": "A String", # Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.
+        "executionLimitSeconds": 42, # Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.
+        "operationCount": "A String", # Output only. The number of mutate operations in the batch job.
+        "startDateTime": "A String", # Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30"
+      },
+      "nextAddSequenceToken": "A String", # Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.
+      "resourceName": "A String", # Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`
+      "status": "A String", # Output only. Status of this batch job.
+    },
+    "remove": "A String", # Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id}/batchJobs/{batch_job_id}`
+  },
+}
+
+  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 BatchJobService.MutateBatchJob.
+  "result": { # The result for the batch job mutate. # The result for the mutate.
+    "resourceName": "A String", # The resource name of the batch job.
+  },
+}
+
+ +
+ run(resourceName, body=None, x__xgafv=None) +
Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the BatchJob to run. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BatchJobService.RunBatchJob.
+}
+
+  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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.biddingDataExclusions.html b/docs/dyn/searchads360_v23.customers.biddingDataExclusions.html new file mode 100644 index 0000000000..14ced04e7b --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.biddingDataExclusions.html @@ -0,0 +1,193 @@ + + + +

Search Ads 360 Reporting API . customers . biddingDataExclusions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes data exclusions. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes data exclusions. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. ID of the customer whose data exclusions are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BiddingDataExclusionService.MutateBiddingDataExclusions.
+  "operations": [ # Required. The list of operations to perform on individual data exclusions.
+    { # A single operation (create, remove, update) on a data exclusion.
+      "create": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Create operation: No resource name is expected for the new data exclusion.
+        "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+        "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "scope": "A String", # The scope of the data exclusion.
+        "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+        "status": "A String", # Output only. The status of the data exclusion.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+      "update": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Update operation: The data exclusion is expected to have a valid resource name.
+        "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+        "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "scope": "A String", # The scope of the data exclusion.
+        "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+        "status": "A String", # Output only. The status of the data exclusion.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 data exclusions mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the data exclusion mutate.
+      "biddingDataExclusion": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+        "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "scope": "A String", # The scope of the data exclusion.
+        "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+        "status": "A String", # Output only. The status of the data exclusion.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.biddingSeasonalityAdjustments.html b/docs/dyn/searchads360_v23.customers.biddingSeasonalityAdjustments.html new file mode 100644 index 0000000000..01b95babdc --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.biddingSeasonalityAdjustments.html @@ -0,0 +1,196 @@ + + + +

Search Ads 360 Reporting API . customers . biddingSeasonalityAdjustments

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes seasonality adjustments. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes seasonality adjustments. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. ID of the customer whose seasonality adjustments are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments.
+  "operations": [ # Required. The list of operations to perform on individual seasonality adjustments.
+    { # A single operation (create, remove, update) on a seasonality adjustment.
+      "create": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Create operation: No resource name is expected for the new seasonality adjustment.
+        "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+        "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "scope": "A String", # The scope of the seasonality adjustment.
+        "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+        "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+        "status": "A String", # Output only. The status of the seasonality adjustment.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+      "update": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Update operation: The seasonality adjustment is expected to have a valid resource name.
+        "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+        "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "scope": "A String", # The scope of the seasonality adjustment.
+        "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+        "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+        "status": "A String", # Output only. The status of the seasonality adjustment.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 seasonality adjustments mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the seasonality adjustment mutate.
+      "biddingSeasonalityAdjustment": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+        "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "scope": "A String", # The scope of the seasonality adjustment.
+        "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+        "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+        "status": "A String", # Output only. The status of the seasonality adjustment.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.biddingStrategies.html b/docs/dyn/searchads360_v23.customers.biddingStrategies.html new file mode 100644 index 0000000000..fbe0af3a00 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.biddingStrategies.html @@ -0,0 +1,271 @@ + + + +

Search Ads 360 Reporting API . customers . biddingStrategies

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose bidding strategies are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BiddingStrategyService.MutateBiddingStrategies.
+  "operations": [ # Required. The list of operations to perform on individual bidding strategies.
+    { # A single operation (create, update, remove) on a bidding strategy.
+      "create": { # A bidding strategy. # Create operation: No resource name is expected for the new bidding strategy.
+        "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+        "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+        "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+        "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+        "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+        },
+        "id": "A String", # Output only. The ID of the bidding strategy.
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+      "update": { # A bidding strategy. # Update operation: The bidding strategy is expected to have a valid resource name.
+        "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+        "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+        "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+        "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+        "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+        },
+        "id": "A String", # Output only. The ID of the bidding strategy.
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 bidding strategy mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the bidding strategy mutate.
+      "biddingStrategy": { # A bidding strategy. # The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+        "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+        "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+        "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+        "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+        },
+        "id": "A String", # Output only. The ID of the bidding strategy.
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.billingSetups.html b/docs/dyn/searchads360_v23.customers.billingSetups.html new file mode 100644 index 0000000000..68dc6f18cf --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.billingSetups.html @@ -0,0 +1,136 @@ + + + +

Search Ads 360 Reporting API . customers . billingSetups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. Id of the customer to apply the billing setup mutate operation to. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for billing setup mutate operations.
+  "operation": { # A single operation on a billing setup, which describes the cancellation of an existing billing setup. # Required. The operation to perform.
+    "create": { # A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser. # Creates a billing setup. No resource name is expected for the new billing setup.
+      "endDateTime": "A String", # Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+      "endTimeType": "A String", # Output only. The end time as a type. The only possible value is FOREVER.
+      "id": "A String", # Output only. The ID of the billing setup.
+      "paymentsAccount": "A String", # Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.
+      "paymentsAccountInfo": { # Container of payments account information for this billing. # Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated.
+        "paymentsAccountId": "A String", # Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, "1234-5678-9012-3456".
+        "paymentsAccountName": "A String", # Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.
+        "paymentsProfileId": "A String", # Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, "1234-5678-9012".
+        "paymentsProfileName": "A String", # Output only. The name of the payments profile associated with the billing setup.
+        "secondaryPaymentsProfileId": "A String", # Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`
+      "startDateTime": "A String", # Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.
+      "startTimeType": "A String", # Immutable. The start time as a type. Only NOW is allowed.
+      "status": "A String", # Output only. The status of the billing setup.
+    },
+    "remove": "A String", # Resource name of the billing setup to remove. A setup cannot be removed unless it is in a pending state or its scheduled start time is in the future. The resource name looks like `customers/{customer_id}/billingSetups/{billing_id}`.
+  },
+}
+
+  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 a billing setup operation.
+  "result": { # Result for a single billing setup mutate. # A result that identifies the resource affected by the mutate request.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignAssetSets.html b/docs/dyn/searchads360_v23.customers.campaignAssetSets.html new file mode 100644 index 0000000000..9b55aecb11 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignAssetSets.html @@ -0,0 +1,147 @@ + + + +

Search Ads 360 Reporting API . customers . campaignAssetSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes campaign asset sets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes campaign asset sets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign asset sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignAssetSetService.MutateCampaignAssetSets.
+  "operations": [ # Required. The list of operations to perform on individual campaign asset sets.
+    { # A single operation (create, remove) on a campaign asset set.
+      "create": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Create operation: No resource name is expected for the new campaign asset set.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign asset set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign asset set mutate.
+      "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignAssets.html b/docs/dyn/searchads360_v23.customers.campaignAssets.html new file mode 100644 index 0000000000..5eac689d57 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignAssets.html @@ -0,0 +1,205 @@ + + + +

Search Ads 360 Reporting API . customers . campaignAssets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignAssetService.MutateCampaignAssets.
+  "operations": [ # Required. The list of operations to perform on individual campaign assets.
+    { # A single operation (create, remove) on a campaign asset.
+      "create": { # A link between a Campaign and an Asset. # Create operation: No resource name is expected for the new campaign asset.
+        "asset": "A String", # Immutable. The asset which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+        "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the campaign asset link.
+        "status": "A String", # Status of the campaign asset.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+      "update": { # A link between a Campaign and an Asset. # Update operation: The campaign asset is expected to have a valid resource name.
+        "asset": "A String", # Immutable. The asset which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+        "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the campaign asset link.
+        "status": "A String", # Status of the campaign asset.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign asset mutate.
+      "campaignAsset": { # A link between a Campaign and an Asset. # The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "asset": "A String", # Immutable. The asset which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+        "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the campaign asset link.
+        "status": "A String", # Status of the campaign asset.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignBidModifiers.html b/docs/dyn/searchads360_v23.customers.campaignBidModifiers.html new file mode 100644 index 0000000000..31a6c095db --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignBidModifiers.html @@ -0,0 +1,163 @@ + + + +

Search Ads 360 Reporting API . customers . campaignBidModifiers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose campaign bid modifiers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignBidModifierService.MutateCampaignBidModifiers.
+  "operations": [ # Required. The list of operations to perform on individual campaign bid modifiers.
+    { # A single operation (create, remove, update) on a campaign bid modifier.
+      "create": { # Represents a bid-modifiable only criterion at the campaign level. # Create operation: No resource name is expected for the new campaign bid modifier.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+        "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+          "type": "A String", # The interaction type.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+      "update": { # Represents a bid-modifiable only criterion at the campaign level. # Update operation: The campaign bid modifier is expected to have a valid resource name.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+        "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+          "type": "A String", # The interaction type.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign bid modifiers mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the criterion mutate.
+      "campaignBidModifier": { # Represents a bid-modifiable only criterion at the campaign level. # The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+        "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+          "type": "A String", # The interaction type.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignBudgets.html b/docs/dyn/searchads360_v23.customers.campaignBudgets.html new file mode 100644 index 0000000000..5c7e725154 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignBudgets.html @@ -0,0 +1,196 @@ + + + +

Search Ads 360 Reporting API . customers . campaignBudgets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign budgets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignBudgetService.MutateCampaignBudgets.
+  "operations": [ # Required. The list of operations to perform on individual campaign budgets.
+    { # A single operation (create, update, remove) on a campaign budget.
+      "create": { # A campaign budget. # Create operation: No resource name is expected for the new budget.
+        "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+        "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+        "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+        "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+        "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+        "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+        "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+        "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+        "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+        "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+        "type": "A String", # Immutable. The type of the campaign budget.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id}/campaignBudgets/{budget_id}`
+      "update": { # A campaign budget. # Update operation: The campaign budget is expected to have a valid resource name.
+        "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+        "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+        "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+        "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+        "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+        "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+        "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+        "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+        "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+        "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+        "type": "A String", # Immutable. The type of the campaign budget.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign budget mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign budget mutate.
+      "campaignBudget": { # A campaign budget. # The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+        "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+        "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+        "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+        "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+        "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+        "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+        "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+        "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+        "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+        "type": "A String", # Immutable. The type of the campaign budget.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignConversionGoals.html b/docs/dyn/searchads360_v23.customers.campaignConversionGoals.html new file mode 100644 index 0000000000..8629031026 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignConversionGoals.html @@ -0,0 +1,132 @@ + + + +

Search Ads 360 Reporting API . customers . campaignConversionGoals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes campaign conversion goals. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes campaign conversion goals. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign conversion goals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignConversionGoalService.MutateCampaignConversionGoals.
+  "operations": [ # Required. The list of operations to perform on individual campaign conversion goal.
+    { # A single operation (update) on a campaign conversion goal.
+      "update": { # The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+        "biddable": True or False, # The biddability of the campaign conversion goal.
+        "campaign": "A String", # Immutable. The campaign with which this campaign conversion goal is associated.
+        "category": "A String", # The conversion category of this campaign conversion goal.
+        "origin": "A String", # The conversion origin of this campaign conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`
+        "searchAds360Biddable": True or False, # Search Ads 360 biddability of the campaign conversion goal.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign conversion goal mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the campaign conversion goal mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignCriteria.html b/docs/dyn/searchads360_v23.customers.campaignCriteria.html new file mode 100644 index 0000000000..77e711614f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignCriteria.html @@ -0,0 +1,841 @@ + + + +

Search Ads 360 Reporting API . customers . campaignCriteria

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose criteria are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignCriterionService.MutateCampaignCriteria.
+  "operations": [ # Required. The list of operations to perform on individual criteria.
+    { # A single operation (create, update, remove) on a campaign criterion.
+      "create": { # A campaign criterion. # Create operation: No resource name is expected for the new criterion.
+        "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+          "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        },
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+        "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+          "carrierConstant": "A String", # The Carrier constant resource name.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+        "device": { # A device criterion. # Immutable. Device.
+          "type": "A String", # Type of the device.
+        },
+        "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+          "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+          "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+        },
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+          "dimensions": [ # Scope of the campaign criterion.
+            { # Listing dimensions for listing group criterion.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+          ],
+        },
+        "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+          "serviceId": "A String", # The criterion resource name.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+          "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+          "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+            "A String",
+          ],
+          "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+            "A String",
+          ],
+          "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "A String",
+          ],
+          "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+          "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+          "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+        "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+          "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+          "address": { # Address for proximity criterion. # Full address.
+            "cityName": "A String", # Name of the city.
+            "countryCode": "A String", # Country code.
+            "postalCode": "A String", # Postal code.
+            "provinceCode": "A String", # Province or state code.
+            "provinceName": "A String", # Province or state name.
+            "streetAddress": "A String", # Street address line 1.
+            "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+          },
+          "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+            "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+            "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+          },
+          "radius": 3.14, # The radius of the proximity.
+          "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "type": "A String", # Output only. The type of the criterion.
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+          "sharedSet": "A String", # Shared set resource name of the webpage list.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+      "update": { # A campaign criterion. # Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target.
+        "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+          "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        },
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+        "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+          "carrierConstant": "A String", # The Carrier constant resource name.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+        "device": { # A device criterion. # Immutable. Device.
+          "type": "A String", # Type of the device.
+        },
+        "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+          "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+          "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+        },
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+          "dimensions": [ # Scope of the campaign criterion.
+            { # Listing dimensions for listing group criterion.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+          ],
+        },
+        "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+          "serviceId": "A String", # The criterion resource name.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+          "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+          "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+            "A String",
+          ],
+          "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+            "A String",
+          ],
+          "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "A String",
+          ],
+          "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+          "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+          "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+        "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+          "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+          "address": { # Address for proximity criterion. # Full address.
+            "cityName": "A String", # Name of the city.
+            "countryCode": "A String", # Country code.
+            "postalCode": "A String", # Postal code.
+            "provinceCode": "A String", # Province or state code.
+            "provinceName": "A String", # Province or state name.
+            "streetAddress": "A String", # Street address line 1.
+            "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+          },
+          "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+            "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+            "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+          },
+          "radius": 3.14, # The radius of the proximity.
+          "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "type": "A String", # Output only. The type of the criterion.
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+          "sharedSet": "A String", # Shared set resource name of the webpage list.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign criterion mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the criterion mutate.
+      "campaignCriterion": { # A campaign criterion. # The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+          "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        },
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+        "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+          "carrierConstant": "A String", # The Carrier constant resource name.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+        "device": { # A device criterion. # Immutable. Device.
+          "type": "A String", # Type of the device.
+        },
+        "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+          "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+          "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+        },
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+          "dimensions": [ # Scope of the campaign criterion.
+            { # Listing dimensions for listing group criterion.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+          ],
+        },
+        "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+          "serviceId": "A String", # The criterion resource name.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+          "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+          "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+            "A String",
+          ],
+          "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+            "A String",
+          ],
+          "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "A String",
+          ],
+          "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+          "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+          "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+        "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+          "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+          "address": { # Address for proximity criterion. # Full address.
+            "cityName": "A String", # Name of the city.
+            "countryCode": "A String", # Country code.
+            "postalCode": "A String", # Postal code.
+            "provinceCode": "A String", # Province or state code.
+            "provinceName": "A String", # Province or state name.
+            "streetAddress": "A String", # Street address line 1.
+            "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+          },
+          "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+            "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+            "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+          },
+          "radius": 3.14, # The radius of the proximity.
+          "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "type": "A String", # Output only. The type of the criterion.
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+          "sharedSet": "A String", # Shared set resource name of the webpage list.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignCustomizers.html b/docs/dyn/searchads360_v23.customers.campaignCustomizers.html new file mode 100644 index 0000000000..450756eb43 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignCustomizers.html @@ -0,0 +1,155 @@ + + + +

Search Ads 360 Reporting API . customers . campaignCustomizers

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes campaign customizers. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes campaign customizers. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign customizers are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignCustomizerService.MutateCampaignCustomizers.
+  "operations": [ # Required. The list of operations to perform on individual campaign customizers.
+    { # A single operation (create, remove) on a customizer attribute.
+      "create": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # Create operation: No resource name is expected for the new campaign customizer
+        "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+        "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the campaign customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign customizer mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign customizer mutate.
+      "campaignCustomizer": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+        "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the campaign customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignDrafts.html b/docs/dyn/searchads360_v23.customers.campaignDrafts.html new file mode 100644 index 0000000000..49181a1493 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignDrafts.html @@ -0,0 +1,263 @@ + + + +

Search Ads 360 Reporting API . customers . campaignDrafts

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ listAsyncErrors(resourceName, pageSize=None, pageToken=None, x__xgafv=None)

+

Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listAsyncErrors_next()

+

Retrieves the next page of results.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ promote(campaignDraft, body=None, x__xgafv=None)

+

Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ listAsyncErrors(resourceName, pageSize=None, pageToken=None, x__xgafv=None) +
Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The name of the campaign draft from which to retrieve the async errors. (required)
+  pageSize: integer, Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources.
+  pageToken: string, Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
+  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 CampaignDraftService.ListCampaignDraftAsyncErrors.
+  "errors": [ # Details of the errors when performing the asynchronous operation.
+    { # 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.
+    },
+  ],
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+}
+
+ +
+ listAsyncErrors_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.
+        
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign drafts are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignDraftService.MutateCampaignDrafts.
+  "operations": [ # Required. The list of operations to perform on individual campaign drafts.
+    { # A single operation (create, update, remove) on a campaign draft.
+      "create": { # A campaign draft. # Create operation: No resource name is expected for the new campaign draft.
+        "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+        "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+        "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+        "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+        "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+      },
+      "remove": "A String", # Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+      "update": { # A campaign draft. # Update operation: The campaign draft is expected to have a valid resource name.
+        "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+        "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+        "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+        "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+        "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign draft mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign draft mutate.
+      "campaignDraft": { # A campaign draft. # The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+        "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+        "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+        "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+        "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ +
+ promote(campaignDraft, body=None, x__xgafv=None) +
Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  campaignDraft: string, Required. The resource name of the campaign draft to promote. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignDraftService.PromoteCampaignDraft.
+  "validateOnly": True or False, # If true, the request is validated but no Long Running Operation is created. Only errors are 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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignGroups.html b/docs/dyn/searchads360_v23.customers.campaignGroups.html new file mode 100644 index 0000000000..aee3224b31 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignGroups.html @@ -0,0 +1,154 @@ + + + +

Search Ads 360 Reporting API . customers . campaignGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes campaign groups. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes campaign groups. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign groups are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignGroupService.MutateCampaignGroups.
+  "operations": [ # Required. The list of operations to perform on individual campaign groups.
+    { # A single operation (create, update, remove) on a campaign group.
+      "create": { # A campaign group. # Create operation: No resource name is expected for the new campaign group.
+        "id": "A String", # Output only. The ID of the campaign group.
+        "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+      "update": { # A campaign group. # Update operation: The campaign group is expected to have a valid resource name.
+        "id": "A String", # Output only. The ID of the campaign group.
+        "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign group mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign group mutate.
+      "campaignGroup": { # A campaign group. # The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "id": "A String", # Output only. The ID of the campaign group.
+        "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+      },
+      "resourceName": "A String", # Required. Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignLabels.html b/docs/dyn/searchads360_v23.customers.campaignLabels.html new file mode 100644 index 0000000000..d07257b916 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignLabels.html @@ -0,0 +1,140 @@ + + + +

Search Ads 360 Reporting API . customers . campaignLabels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose campaign-label relationships are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignLabelService.MutateCampaignLabels.
+  "operations": [ # Required. The list of operations to perform on campaign-label relationships.
+    { # A single operation (create, remove) on a campaign-label relationship.
+      "create": { # Represents a relationship between a campaign and a label. # Create operation: No resource name is expected for the new campaign-label relationship.
+        "campaign": "A String", # Immutable. The campaign to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the campaign.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for a campaign label mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignLifecycleGoal.html b/docs/dyn/searchads360_v23.customers.campaignLifecycleGoal.html new file mode 100644 index 0000000000..e33ec701a4 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignLifecycleGoal.html @@ -0,0 +1,142 @@ + + + +

Search Ads 360 Reporting API . customers . campaignLifecycleGoal

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ configureCampaignLifecycleGoals(customerId, body=None, x__xgafv=None)

+

Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ configureCampaignLifecycleGoals(customerId, body=None, x__xgafv=None) +
Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer performing the upload. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.
+  "operation": { # A single operation on a campaign lifecycle goal. # Required. The operation to perform campaign lifecycle goal update.
+    "create": { # Campaign level customer lifecycle goal settings.
+      "campaign": "A String", # Output only. The campaign where the goal is attached.
+      "customerAcquisitionGoalSettings": { # The customer acquisition goal settings for the campaign. # Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169
+        "optimizationMode": "A String", # Output only. Customer acquisition optimization mode of this campaign.
+        "valueSettings": { # Lifecycle goal value settings. # Output only. Campaign specific values for the customer acquisition goal.
+          "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+          "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+        },
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`
+    },
+    "update": { # Campaign level customer lifecycle goal settings. # Update operation: Update an existing campaign lifecycle goal. The campaign field should not be set for this operation.
+      "campaign": "A String", # Output only. The campaign where the goal is attached.
+      "customerAcquisitionGoalSettings": { # The customer acquisition goal settings for the campaign. # Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169
+        "optimizationMode": "A String", # Output only. Customer acquisition optimization mode of this campaign.
+        "valueSettings": { # Lifecycle goal value settings. # Output only. Campaign specific values for the customer acquisition goal.
+          "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+          "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+        },
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`
+    },
+    "updateMask": "A String", # Optional. FieldMask that determines which resource fields are modified in an update.
+  },
+  "validateOnly": True or False, # Optional. If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.
+  "result": { # The result for the campaign lifecycle goal configuration. # Result for the campaign lifecycle goal configuration.
+    "resourceName": "A String", # Returned for the successful operation.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaignSharedSets.html b/docs/dyn/searchads360_v23.customers.campaignSharedSets.html new file mode 100644 index 0000000000..20a5a49ba1 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaignSharedSets.html @@ -0,0 +1,147 @@ + + + +

Search Ads 360 Reporting API . customers . campaignSharedSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign shared sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignSharedSetService.MutateCampaignSharedSets.
+  "operations": [ # Required. The list of operations to perform on individual campaign shared sets.
+    { # A single operation (create, remove) on a campaign shared set.
+      "create": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # Create operation: No resource name is expected for the new campaign shared set.
+        "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+        "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+        "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+        "status": "A String", # Output only. The status of this campaign shared set. Read only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a campaign shared set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign shared set mutate.
+      "campaignSharedSet": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+        "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+        "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+        "status": "A String", # Output only. The status of this campaign shared set. Read only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.campaigns.html b/docs/dyn/searchads360_v23.customers.campaigns.html new file mode 100644 index 0000000000..f5caf7c830 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.campaigns.html @@ -0,0 +1,1042 @@ + + + +

Search Ads 360 Reporting API . customers . campaigns

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ enablePMaxBrandGuidelines(customerId, body=None, x__xgafv=None)

+

Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ enablePMaxBrandGuidelines(customerId, body=None, x__xgafv=None) +
Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaigns are being enabled. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to enable Brand Guidelines for a Performance Max campaign.
+  "operations": [ # Required. The list of individual campaign operations. A maximum of 10 enable operations can be executed in a request.
+    { # A single enable operation of a campaign.
+      "accentColor": "A String", # Optional. Hex code representation of the accent brand color, for example #00ff00. accent_color is required when main_color is specified.
+      "autoPopulateBrandAssets": True or False, # Required. The switch to automatically populate top-performing brand assets. This field is required. If true, top-performing brand assets will be automatically populated. If false, the brand_assets field is required.
+      "brandAssets": { # Assets linked at the campaign level. A business_name and at least one logo_asset are required. # Optional. The brand assets linked to the campaign. This field is required when the value of auto_populate_brand_assets is false.
+        "businessNameAsset": "A String", # Required. The resource name of the business name text asset.
+        "landscapeLogoAsset": [ # Optional. The resource name of landscape logo assets.
+          "A String",
+        ],
+        "logoAsset": [ # Required. The resource name of square logo assets.
+          "A String",
+        ],
+      },
+      "campaign": "A String", # Required. The resource name of the campaign to enable.
+      "finalUriDomain": "A String", # Optional. The domain of the final uri.
+      "fontFamily": "A String", # Optional. The font family is specified as a string, and must be one of the following: "Open Sans", "Roboto", "Roboto Slab", "Montserrat", "Poppins", "Lato", "Oswald", or "Playfair Display".
+      "mainColor": "A String", # Optional. Hex code representation of the main brand color, for example #00ff00. main_color is required when accent color is specified.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Brand Guidelines campaign enablement response.
+  "results": [ # Campaign enablement results per campaign.
+    { # A single enablement result of a campaign.
+      "campaign": "A String", # This indicates the campaign for which enablement was tried, regardless of the outcome.
+      "enablementError": { # 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). # Details of the error when enablement fails.
+        "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.
+      },
+    },
+  ],
+}
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaigns are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CampaignService.MutateCampaigns.
+  "operations": [ # Required. The list of operations to perform on individual campaigns.
+    { # A single operation (create, update, remove) on a campaign.
+      "create": { # A campaign. # Create operation: No resource name is expected for the new campaign.
+        "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+        "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+        "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+        "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+        "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+          "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+          "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+        },
+        "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+          "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+          "appStore": "A String", # Immutable. The application store that distributes this specific app.
+          "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+        },
+        "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+          { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+            "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+            "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+          },
+        ],
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+        },
+        "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+        "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+        "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+        "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+        "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+          "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+          "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+          "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+        },
+        "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+        "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+        "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+        "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+          "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+        },
+        "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+        "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+          "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+        },
+        "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+          "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+          "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+          "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+        },
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+          "A String",
+        ],
+        "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+        "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+        "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+        "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+          { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+            "cap": 42, # Maximum number of events allowed during the time range by this cap.
+            "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+              "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+              "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+              "timeLength": 42, # Number of time units the cap lasts.
+              "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+            },
+          },
+        ],
+        "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+          "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+          "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+        },
+        "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+        "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+          "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+        },
+        "id": "A String", # Output only. The ID of the campaign.
+        "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+        "labels": [ # Output only. The resource names of labels attached to this campaign.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+        "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+          "locationSourceType": "A String", # The location source type for this local campaign.
+        },
+        "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+          "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+            { # Category bids in LocalServicesReportingCampaignSettings.
+              "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+              "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+              "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+            },
+          ],
+        },
+        "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+        },
+        "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+          "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+        },
+        "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+        },
+        "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+        },
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+        "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+          "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+          "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+          "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+          "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+          "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+          "targetYoutube": True or False, # Whether ads will be served on YouTube.
+        },
+        "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+          "optimizationGoalTypes": [ # The list of optimization goal types.
+            "A String",
+          ],
+        },
+        "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+        "paymentMode": "A String", # Payment mode for the campaign.
+        "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+          "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+        },
+        "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+          "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+          "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+          "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+        },
+        "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+          "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+            "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+          },
+        },
+        "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+        "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+          "A String",
+        ],
+        "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+          "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+        "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+          "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+            "A String",
+          ],
+        },
+        "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+        "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+        "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+          "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+            "A String",
+          ],
+          "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+          "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+          "enableLocal": True or False, # Whether to include local products.
+          "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+          "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+          "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+        },
+        "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+        "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+          "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+          "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+            { # Container for third party Brand Lift integration data for Campaign.
+              "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+              "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+            { # Container for third party brand safety integration data for Campaign.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+              "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+          "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+            { # Container for third party reach integration data for Campaign.
+              "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+              "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+            { # Container for third party viewability integration data for Campaign.
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+              "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+        },
+        "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+          "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+          "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+        },
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+          "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+          "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+        },
+        "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id}/campaigns/{campaign_id}`
+      "update": { # A campaign. # Update operation: The campaign is expected to have a valid resource name.
+        "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+        "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+        "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+        "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+        "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+          "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+          "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+        },
+        "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+          "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+          "appStore": "A String", # Immutable. The application store that distributes this specific app.
+          "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+        },
+        "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+          { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+            "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+            "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+          },
+        ],
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+        },
+        "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+        "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+        "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+        "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+        "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+          "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+          "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+          "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+        },
+        "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+        "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+        "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+        "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+          "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+        },
+        "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+        "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+          "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+        },
+        "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+          "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+          "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+          "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+        },
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+          "A String",
+        ],
+        "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+        "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+        "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+        "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+          { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+            "cap": 42, # Maximum number of events allowed during the time range by this cap.
+            "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+              "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+              "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+              "timeLength": 42, # Number of time units the cap lasts.
+              "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+            },
+          },
+        ],
+        "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+          "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+          "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+        },
+        "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+        "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+          "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+        },
+        "id": "A String", # Output only. The ID of the campaign.
+        "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+        "labels": [ # Output only. The resource names of labels attached to this campaign.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+        "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+          "locationSourceType": "A String", # The location source type for this local campaign.
+        },
+        "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+          "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+            { # Category bids in LocalServicesReportingCampaignSettings.
+              "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+              "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+              "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+            },
+          ],
+        },
+        "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+        },
+        "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+          "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+        },
+        "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+        },
+        "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+        },
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+        "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+          "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+          "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+          "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+          "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+          "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+          "targetYoutube": True or False, # Whether ads will be served on YouTube.
+        },
+        "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+          "optimizationGoalTypes": [ # The list of optimization goal types.
+            "A String",
+          ],
+        },
+        "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+        "paymentMode": "A String", # Payment mode for the campaign.
+        "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+          "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+        },
+        "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+          "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+          "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+          "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+        },
+        "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+          "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+            "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+          },
+        },
+        "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+        "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+          "A String",
+        ],
+        "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+          "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+        "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+          "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+            "A String",
+          ],
+        },
+        "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+        "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+        "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+          "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+            "A String",
+          ],
+          "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+          "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+          "enableLocal": True or False, # Whether to include local products.
+          "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+          "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+          "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+        },
+        "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+        "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+          "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+          "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+            { # Container for third party Brand Lift integration data for Campaign.
+              "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+              "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+            { # Container for third party brand safety integration data for Campaign.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+              "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+          "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+            { # Container for third party reach integration data for Campaign.
+              "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+              "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+            { # Container for third party viewability integration data for Campaign.
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+              "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+        },
+        "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+          "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+          "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+        },
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+          "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+          "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+        },
+        "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign mutate.
+      "campaign": { # A campaign. # The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+        "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+        "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+        "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+        "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+          "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+          "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+        },
+        "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+          "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+          "appStore": "A String", # Immutable. The application store that distributes this specific app.
+          "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+        },
+        "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+          { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+            "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+            "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+          },
+        ],
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+        },
+        "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+        "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+        "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+        "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+        "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+          "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+          "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+          "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+        },
+        "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+        "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+        "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+        "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+          "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+        },
+        "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+        "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+          "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+        },
+        "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+          "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+          "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+          "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+        },
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+          "A String",
+        ],
+        "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+        "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+        "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+        "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+          { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+            "cap": 42, # Maximum number of events allowed during the time range by this cap.
+            "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+              "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+              "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+              "timeLength": 42, # Number of time units the cap lasts.
+              "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+            },
+          },
+        ],
+        "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+          "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+          "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+        },
+        "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+        "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+          "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+        },
+        "id": "A String", # Output only. The ID of the campaign.
+        "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+        "labels": [ # Output only. The resource names of labels attached to this campaign.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+        "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+          "locationSourceType": "A String", # The location source type for this local campaign.
+        },
+        "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+          "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+            { # Category bids in LocalServicesReportingCampaignSettings.
+              "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+              "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+              "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+            },
+          ],
+        },
+        "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+        },
+        "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+          "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+        },
+        "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+        },
+        "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+        },
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+        "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+          "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+          "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+          "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+          "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+          "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+          "targetYoutube": True or False, # Whether ads will be served on YouTube.
+        },
+        "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+          "optimizationGoalTypes": [ # The list of optimization goal types.
+            "A String",
+          ],
+        },
+        "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+        "paymentMode": "A String", # Payment mode for the campaign.
+        "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+          "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+        },
+        "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+          "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+          "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+          "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+        },
+        "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+          "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+            "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+          },
+        },
+        "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+        "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+          "A String",
+        ],
+        "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+          "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+        "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+          "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+            "A String",
+          ],
+        },
+        "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+        "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+        "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+          "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+            "A String",
+          ],
+          "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+          "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+          "enableLocal": True or False, # Whether to include local products.
+          "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+          "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+          "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+        },
+        "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+        "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+          "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+          "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+            { # Container for third party Brand Lift integration data for Campaign.
+              "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+              "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+            { # Container for third party brand safety integration data for Campaign.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+              "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+          "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+            { # Container for third party reach integration data for Campaign.
+              "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+              "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+            { # Container for third party viewability integration data for Campaign.
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+              "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+        },
+        "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+          "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+          "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+        },
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+          "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+          "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+        },
+        "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.conversionActions.html b/docs/dyn/searchads360_v23.customers.conversionActions.html new file mode 100644 index 0000000000..9619e663f5 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.conversionActions.html @@ -0,0 +1,307 @@ + + + +

Search Ads 360 Reporting API . customers . conversionActions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose conversion actions are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ConversionActionService.MutateConversionActions.
+  "operations": [ # Required. The list of operations to perform on individual conversion actions.
+    { # A single operation (create, update, remove) on a conversion action.
+      "create": { # A conversion action. # Create operation: No resource name is expected for the new conversion action.
+        "appId": "A String", # App ID for an app conversion action.
+        "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+          "attributionModel": "A String", # The attribution model type of this conversion action.
+          "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+        },
+        "category": "A String", # The category of conversions reported for this conversion action.
+        "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+        "countingType": "A String", # How to count conversion events for the conversion action.
+        "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+        "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+          "eventName": "A String", # Output only. The event name of a Firebase conversion.
+          "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+          "propertyId": "A String", # Output only. The GA property ID of the conversion.
+          "propertyName": "A String", # Output only. The GA property name of the conversion.
+        },
+        "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+          "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+          "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+          "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+        },
+        "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+          "eventName": "A String", # Output only. The name of the GA 4 event.
+          "propertyId": "A String", # Output only. The ID of the GA 4 property.
+          "propertyName": "A String", # Output only. The name of the GA 4 property.
+        },
+        "id": "A String", # Output only. The ID of the conversion action.
+        "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+        "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+        "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+        "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+        "origin": "A String", # Output only. The conversion origin of this conversion action.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+        "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+        "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+        "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "status": "A String", # The status of this conversion action for conversion event accrual.
+        "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+        "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+          "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+          "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+        },
+        "type": "A String", # Immutable. The type of this conversion action.
+        "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+          "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+          "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+          "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+        },
+        "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+      "update": { # A conversion action. # Update operation: The conversion action is expected to have a valid resource name.
+        "appId": "A String", # App ID for an app conversion action.
+        "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+          "attributionModel": "A String", # The attribution model type of this conversion action.
+          "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+        },
+        "category": "A String", # The category of conversions reported for this conversion action.
+        "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+        "countingType": "A String", # How to count conversion events for the conversion action.
+        "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+        "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+          "eventName": "A String", # Output only. The event name of a Firebase conversion.
+          "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+          "propertyId": "A String", # Output only. The GA property ID of the conversion.
+          "propertyName": "A String", # Output only. The GA property name of the conversion.
+        },
+        "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+          "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+          "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+          "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+        },
+        "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+          "eventName": "A String", # Output only. The name of the GA 4 event.
+          "propertyId": "A String", # Output only. The ID of the GA 4 property.
+          "propertyName": "A String", # Output only. The name of the GA 4 property.
+        },
+        "id": "A String", # Output only. The ID of the conversion action.
+        "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+        "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+        "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+        "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+        "origin": "A String", # Output only. The conversion origin of this conversion action.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+        "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+        "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+        "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "status": "A String", # The status of this conversion action for conversion event accrual.
+        "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+        "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+          "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+          "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+        },
+        "type": "A String", # Immutable. The type of this conversion action.
+        "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+          "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+          "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+          "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+        },
+        "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 ConversionActionService.MutateConversionActions.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the conversion action mutate.
+      "conversionAction": { # A conversion action. # The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "appId": "A String", # App ID for an app conversion action.
+        "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+          "attributionModel": "A String", # The attribution model type of this conversion action.
+          "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+        },
+        "category": "A String", # The category of conversions reported for this conversion action.
+        "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+        "countingType": "A String", # How to count conversion events for the conversion action.
+        "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+        "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+          "eventName": "A String", # Output only. The event name of a Firebase conversion.
+          "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+          "propertyId": "A String", # Output only. The GA property ID of the conversion.
+          "propertyName": "A String", # Output only. The GA property name of the conversion.
+        },
+        "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+          "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+          "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+          "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+        },
+        "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+          "eventName": "A String", # Output only. The name of the GA 4 event.
+          "propertyId": "A String", # Output only. The ID of the GA 4 property.
+          "propertyName": "A String", # Output only. The name of the GA 4 property.
+        },
+        "id": "A String", # Output only. The ID of the conversion action.
+        "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+        "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+        "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+        "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+        "origin": "A String", # Output only. The conversion origin of this conversion action.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+        "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+        "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+        "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "status": "A String", # The status of this conversion action for conversion event accrual.
+        "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+        "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+          "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+          "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+        },
+        "type": "A String", # Immutable. The type of this conversion action.
+        "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+          "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+          "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+          "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+        },
+        "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.conversionCustomVariables.html b/docs/dyn/searchads360_v23.customers.conversionCustomVariables.html new file mode 100644 index 0000000000..aa96c3491e --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.conversionCustomVariables.html @@ -0,0 +1,186 @@ + + + +

Search Ads 360 Reporting API . customers . conversionCustomVariables

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose conversion custom variables are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ConversionCustomVariableService.MutateConversionCustomVariables.
+  "operations": [ # Required. The list of operations to perform on individual conversion custom variables.
+    { # A single operation (create, update) on a conversion custom variable.
+      "create": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Create operation: No resource name is expected for the new conversion custom variable.
+        "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+        "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+          "A String",
+        ],
+        "family": "A String", # Output only. Family of the conversion custom variable.
+        "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+          "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+          "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+        },
+        "id": "A String", # Output only. The ID of the conversion custom variable.
+        "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+        "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+        "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+        "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+        "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+      },
+      "update": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Update operation: The conversion custom variable is expected to have a valid resource name.
+        "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+        "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+          "A String",
+        ],
+        "family": "A String", # Output only. Family of the conversion custom variable.
+        "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+          "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+          "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+        },
+        "id": "A String", # Output only. The ID of the conversion custom variable.
+        "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+        "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+        "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+        "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+        "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 ConversionCustomVariableService.MutateConversionCustomVariables.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the conversion custom variable mutate.
+      "conversionCustomVariable": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+        "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+          "A String",
+        ],
+        "family": "A String", # Output only. Family of the conversion custom variable.
+        "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+          "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+          "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+        },
+        "id": "A String", # Output only. The ID of the conversion custom variable.
+        "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+        "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+        "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+        "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+        "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.conversionGoalCampaignConfigs.html b/docs/dyn/searchads360_v23.customers.conversionGoalCampaignConfigs.html new file mode 100644 index 0000000000..df1ac5b3a1 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.conversionGoalCampaignConfigs.html @@ -0,0 +1,141 @@ + + + +

Search Ads 360 Reporting API . customers . conversionGoalCampaignConfigs

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes conversion goal campaign config. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes conversion goal campaign config. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose custom conversion goals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs.
+  "operations": [ # Required. The list of operations to perform on individual conversion goal campaign config.
+    { # A single operation (update) on a conversion goal campaign config.
+      "update": { # Conversion goal settings for a Campaign. # Update operation: The conversion goal campaign config is expected to have a valid resource name.
+        "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+        "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+        "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+        "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+        "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+        "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a conversion goal campaign config mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the conversion goal campaign config mutate.
+      "conversionGoalCampaignConfig": { # Conversion goal settings for a Campaign. # The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+        "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+        "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+        "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+        "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+        "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.conversionValueRuleSets.html b/docs/dyn/searchads360_v23.customers.conversionValueRuleSets.html new file mode 100644 index 0000000000..cba0ae0332 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.conversionValueRuleSets.html @@ -0,0 +1,187 @@ + + + +

Search Ads 360 Reporting API . customers . conversionValueRuleSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes conversion value rule sets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes conversion value rule sets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose conversion value rule sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ConversionValueRuleSetService.MutateConversionValueRuleSets.
+  "operations": [ # Required. The list of operations to perform on individual conversion value rule sets.
+    { # A single operation (create, update, remove) on a conversion value rule set.
+      "create": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Create operation: No resource name is expected for the new conversion value rule set.
+        "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+        "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+        "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+          "A String",
+        ],
+        "conversionValueRules": [ # Resource names of rules within the rule set.
+          "A String",
+        ],
+        "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the conversion value rule set.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+      "update": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Update operation: The conversion value rule set is expected to have a valid resource name.
+        "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+        "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+        "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+          "A String",
+        ],
+        "conversionValueRules": [ # Resource names of rules within the rule set.
+          "A String",
+        ],
+        "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the conversion value rule set.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 ConversionValueRuleSetService.MutateConversionValueRuleSets.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the conversion value rule set mutate.
+      "conversionValueRuleSet": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+        "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+        "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+          "A String",
+        ],
+        "conversionValueRules": [ # Resource names of rules within the rule set.
+          "A String",
+        ],
+        "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the conversion value rule set.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.conversionValueRules.html b/docs/dyn/searchads360_v23.customers.conversionValueRules.html new file mode 100644 index 0000000000..01636c031f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.conversionValueRules.html @@ -0,0 +1,292 @@ + + + +

Search Ads 360 Reporting API . customers . conversionValueRules

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes conversion value rules. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes conversion value rules. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose conversion value rules are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ConversionValueRuleService.MutateConversionValueRules.
+  "operations": [ # Required. The list of operations to perform on individual conversion value rules.
+    { # A single operation (create, update, remove) on a conversion value rule.
+      "create": { # A conversion value rule # Create operation: No resource name is expected for the new conversion value rule.
+        "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+          "operation": "A String", # Specifies applied operation.
+          "value": 3.14, # Specifies applied value.
+        },
+        "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+          "userInterests": [ # User Interests.
+            "A String",
+          ],
+          "userLists": [ # User Lists.
+            "A String",
+          ],
+        },
+        "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+          "deviceTypes": [ # Value for device type condition.
+            "A String",
+          ],
+        },
+        "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+          "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+          "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+            "A String",
+          ],
+          "geoMatchType": "A String", # Included Geo location match type.
+          "geoTargetConstants": [ # Geo locations that advertisers want to include.
+            "A String",
+          ],
+        },
+        "id": "A String", # Output only. The ID of the conversion value rule.
+        "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+          "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+            "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+            "minDays": 42, # Minimum number of days between the date of the booking the start date.
+          },
+          "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+            "maxNights": 42, # Maximum number of days between the start date and the end date.
+            "minNights": 42, # Minimum number of nights between the start date and the end date.
+          },
+          "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+            "friday": True or False, # The travel can start on Friday.
+            "monday": True or False, # The travel can start on Monday.
+            "saturday": True or False, # The travel can start on Saturday.
+            "sunday": True or False, # The travel can start on Sunday.
+            "thursday": True or False, # The travel can start on Thursday.
+            "tuesday": True or False, # The travel can start on Tuesday.
+            "wednesday": True or False, # The travel can start on Wednesday.
+          },
+        },
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "status": "A String", # The status of the conversion value rule.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+      "update": { # A conversion value rule # Update operation: The conversion value rule is expected to have a valid resource name.
+        "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+          "operation": "A String", # Specifies applied operation.
+          "value": 3.14, # Specifies applied value.
+        },
+        "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+          "userInterests": [ # User Interests.
+            "A String",
+          ],
+          "userLists": [ # User Lists.
+            "A String",
+          ],
+        },
+        "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+          "deviceTypes": [ # Value for device type condition.
+            "A String",
+          ],
+        },
+        "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+          "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+          "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+            "A String",
+          ],
+          "geoMatchType": "A String", # Included Geo location match type.
+          "geoTargetConstants": [ # Geo locations that advertisers want to include.
+            "A String",
+          ],
+        },
+        "id": "A String", # Output only. The ID of the conversion value rule.
+        "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+          "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+            "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+            "minDays": 42, # Minimum number of days between the date of the booking the start date.
+          },
+          "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+            "maxNights": 42, # Maximum number of days between the start date and the end date.
+            "minNights": 42, # Minimum number of nights between the start date and the end date.
+          },
+          "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+            "friday": True or False, # The travel can start on Friday.
+            "monday": True or False, # The travel can start on Monday.
+            "saturday": True or False, # The travel can start on Saturday.
+            "sunday": True or False, # The travel can start on Sunday.
+            "thursday": True or False, # The travel can start on Thursday.
+            "tuesday": True or False, # The travel can start on Tuesday.
+            "wednesday": True or False, # The travel can start on Wednesday.
+          },
+        },
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "status": "A String", # The status of the conversion value rule.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 ConversionValueRuleService.MutateConversionValueRules.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the conversion value rule mutate.
+      "conversionValueRule": { # A conversion value rule # The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+          "operation": "A String", # Specifies applied operation.
+          "value": 3.14, # Specifies applied value.
+        },
+        "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+          "userInterests": [ # User Interests.
+            "A String",
+          ],
+          "userLists": [ # User Lists.
+            "A String",
+          ],
+        },
+        "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+          "deviceTypes": [ # Value for device type condition.
+            "A String",
+          ],
+        },
+        "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+          "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+          "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+            "A String",
+          ],
+          "geoMatchType": "A String", # Included Geo location match type.
+          "geoTargetConstants": [ # Geo locations that advertisers want to include.
+            "A String",
+          ],
+        },
+        "id": "A String", # Output only. The ID of the conversion value rule.
+        "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+          "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+            "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+            "minDays": 42, # Minimum number of days between the date of the booking the start date.
+          },
+          "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+            "maxNights": 42, # Maximum number of days between the start date and the end date.
+            "minNights": 42, # Minimum number of nights between the start date and the end date.
+          },
+          "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+            "friday": True or False, # The travel can start on Friday.
+            "monday": True or False, # The travel can start on Monday.
+            "saturday": True or False, # The travel can start on Saturday.
+            "sunday": True or False, # The travel can start on Sunday.
+            "thursday": True or False, # The travel can start on Thursday.
+            "tuesday": True or False, # The travel can start on Tuesday.
+            "wednesday": True or False, # The travel can start on Wednesday.
+          },
+        },
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "status": "A String", # The status of the conversion value rule.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customAudiences.html b/docs/dyn/searchads360_v23.customers.customAudiences.html new file mode 100644 index 0000000000..79f99fcdfc --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customAudiences.html @@ -0,0 +1,159 @@ + + + +

Search Ads 360 Reporting API . customers . customAudiences

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose custom audiences are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomAudienceService.MutateCustomAudiences.
+  "operations": [ # Required. The list of operations to perform on individual custom audiences.
+    { # A single operation (create, update) on a custom audience.
+      "create": { # A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED # Create operation: No resource name is expected for the new custom audience.
+        "description": "A String", # Description of this custom audience.
+        "id": "A String", # Output only. ID of the custom audience.
+        "members": [ # List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.
+            "app": "A String", # A package name of Android apps which users installed such as com.google.example.
+            "keyword": "A String", # A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
+            "memberType": "A String", # The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
+            "placeCategory": "A String", # A place type described by a place category users visit.
+            "url": "A String", # An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
+          },
+        ],
+        "name": "A String", # Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
+        "status": "A String", # Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
+        "type": "A String", # Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id}/customAudiences/{custom_audience_id}`
+      "update": { # A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED # Update operation: The custom audience is expected to have a valid resource name.
+        "description": "A String", # Description of this custom audience.
+        "id": "A String", # Output only. ID of the custom audience.
+        "members": [ # List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.
+            "app": "A String", # A package name of Android apps which users installed such as com.google.example.
+            "keyword": "A String", # A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
+            "memberType": "A String", # The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
+            "placeCategory": "A String", # A place type described by a place category users visit.
+            "url": "A String", # An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
+          },
+        ],
+        "name": "A String", # Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
+        "status": "A String", # Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
+        "type": "A String", # Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 custom audience mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the custom audience mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customColumns.html b/docs/dyn/searchads360_v23.customers.customColumns.html new file mode 100644 index 0000000000..c6b8093cf3 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customColumns.html @@ -0,0 +1,156 @@ + + + +

Search Ads 360 Reporting API . customers . customColumns

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(resourceName, x__xgafv=None)

+

Returns the requested custom column in full detail.

+

+ list(customerId, x__xgafv=None)

+

Returns all the custom columns associated with the customer in full detail.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(resourceName, x__xgafv=None) +
Returns the requested custom column in full detail.
+
+Args:
+  resourceName: string, Required. The resource name of the custom column to fetch. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916
+  "description": "A String", # Output only. User-defined description of the custom column.
+  "id": "A String", # Output only. ID of the custom column.
+  "name": "A String", # Output only. User-defined name of the custom column.
+  "queryable": True or False, # Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream.
+  "referencedSystemColumns": [ # Output only. The list of the referenced system columns of this custom column. For example, A custom column "sum of impressions and clicks" has referenced system columns of {"metrics.clicks", "metrics.impressions"}.
+    "A String",
+  ],
+  "referencesAttributes": True or False, # Output only. True when the custom column is referring to one or more attributes.
+  "referencesMetrics": True or False, # Output only. True when the custom column is referring to one or more metrics.
+  "renderType": "A String", # Output only. How the result value of the custom column should be interpreted.
+  "resourceName": "A String", # Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id}/customColumns/{custom_column_id}`
+  "valueType": "A String", # Output only. The type of the result value of the custom column.
+}
+
+ +
+ list(customerId, x__xgafv=None) +
Returns all the custom columns associated with the customer in full detail.
+
+Args:
+  customerId: string, Required. The ID of the customer to apply the CustomColumn list operation to. (required)
+  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 fetching all custom columns associated with a customer.
+  "customColumns": [ # The CustomColumns owned by the provided customer.
+    { # A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916
+      "description": "A String", # Output only. User-defined description of the custom column.
+      "id": "A String", # Output only. ID of the custom column.
+      "name": "A String", # Output only. User-defined name of the custom column.
+      "queryable": True or False, # Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream.
+      "referencedSystemColumns": [ # Output only. The list of the referenced system columns of this custom column. For example, A custom column "sum of impressions and clicks" has referenced system columns of {"metrics.clicks", "metrics.impressions"}.
+        "A String",
+      ],
+      "referencesAttributes": True or False, # Output only. True when the custom column is referring to one or more attributes.
+      "referencesMetrics": True or False, # Output only. True when the custom column is referring to one or more metrics.
+      "renderType": "A String", # Output only. How the result value of the custom column should be interpreted.
+      "resourceName": "A String", # Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id}/customColumns/{custom_column_id}`
+      "valueType": "A String", # Output only. The type of the result value of the custom column.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customConversionGoals.html b/docs/dyn/searchads360_v23.customers.customConversionGoals.html new file mode 100644 index 0000000000..3188944643 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customConversionGoals.html @@ -0,0 +1,153 @@ + + + +

Search Ads 360 Reporting API . customers . customConversionGoals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes custom conversion goals. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes custom conversion goals. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose custom conversion goals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomConversionGoalService.MutateCustomConversionGoals.
+  "operations": [ # Required. The list of operations to perform on individual custom conversion goal.
+    { # A single operation (create, remove) on a custom conversion goal.
+      "create": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Create operation: No resource name is expected for the new custom conversion goal
+        "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+          "A String",
+        ],
+        "id": "A String", # Immutable. The ID for this custom conversion goal.
+        "name": "A String", # The name for this custom conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+        "status": "A String", # The status of the custom conversion goal.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'
+      "update": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Update operation: The custom conversion goal is expected to have a valid resource name.
+        "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+          "A String",
+        ],
+        "id": "A String", # Immutable. The ID for this custom conversion goal.
+        "name": "A String", # The name for this custom conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+        "status": "A String", # The status of the custom conversion goal.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a custom conversion goal mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the custom conversion goal mutate.
+      "customConversionGoal": { # Custom conversion goal that can make arbitrary conversion actions biddable. # The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+          "A String",
+        ],
+        "id": "A String", # Immutable. The ID for this custom conversion goal.
+        "name": "A String", # The name for this custom conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+        "status": "A String", # The status of the custom conversion goal.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customInterests.html b/docs/dyn/searchads360_v23.customers.customInterests.html new file mode 100644 index 0000000000..b9b14a22e5 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customInterests.html @@ -0,0 +1,152 @@ + + + +

Search Ads 360 Reporting API . customers . customInterests

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose custom interests are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomInterestService.MutateCustomInterests.
+  "operations": [ # Required. The list of operations to perform on individual custom interests.
+    { # A single operation (create, update) on a custom interest.
+      "create": { # A custom interest. This is a list of users by interest. # Create operation: No resource name is expected for the new custom interest.
+        "description": "A String", # Description of this custom interest audience.
+        "id": "A String", # Output only. Id of the custom interest.
+        "members": [ # List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.
+            "memberType": "A String", # The type of custom interest member, KEYWORD or URL.
+            "parameter": "A String", # Keyword text when member_type is KEYWORD or URL string when member_type is URL.
+          },
+        ],
+        "name": "A String", # Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
+        "status": "A String", # Status of this custom interest. Indicates whether the custom interest is enabled or removed.
+        "type": "A String", # Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
+      },
+      "update": { # A custom interest. This is a list of users by interest. # Update operation: The custom interest is expected to have a valid resource name.
+        "description": "A String", # Description of this custom interest audience.
+        "id": "A String", # Output only. Id of the custom interest.
+        "members": [ # List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.
+            "memberType": "A String", # The type of custom interest member, KEYWORD or URL.
+            "parameter": "A String", # Keyword text when member_type is KEYWORD or URL string when member_type is URL.
+          },
+        ],
+        "name": "A String", # Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
+        "status": "A String", # Status of this custom interest. Indicates whether the custom interest is enabled or removed.
+        "type": "A String", # Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 custom interest mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the custom interest mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerAssetSets.html b/docs/dyn/searchads360_v23.customers.customerAssetSets.html new file mode 100644 index 0000000000..b882bd4777 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerAssetSets.html @@ -0,0 +1,147 @@ + + + +

Search Ads 360 Reporting API . customers . customerAssetSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, or removes customer asset sets. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, or removes customer asset sets. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer asset sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerAssetSetService.MutateCustomerAssetSets.
+  "operations": [ # Required. The list of operations to perform on individual customer asset sets.
+    { # A single operation (create, remove) on a customer asset set.
+      "create": { # CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer. # Create operation: No resource name is expected for the new customer asset set.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the customer.
+        "customer": "A String", # Immutable. The customer to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the customer asset set asset. Read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed customer asset set is expected, in this format: `customers/{customer_id}/customerAssetSets/{asset_set_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customer asset set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the customer asset set mutate.
+      "customerAssetSet": { # CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer. # The mutated customer asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "assetSet": "A String", # Immutable. The asset set which is linked to the customer.
+        "customer": "A String", # Immutable. The customer to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the customer asset set asset. Read-only.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerAssets.html b/docs/dyn/searchads360_v23.customers.customerAssets.html new file mode 100644 index 0000000000..56fc566678 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerAssets.html @@ -0,0 +1,202 @@ + + + +

Search Ads 360 Reporting API . customers . customerAssets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer assets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerAssetService.MutateCustomerAssets.
+  "operations": [ # Required. The list of operations to perform on individual customer assets.
+    { # A single operation (create, update, remove) on a customer asset.
+      "create": { # A link between a customer and an asset. # Create operation: No resource name is expected for the new customer asset.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the customer asset link.
+        "status": "A String", # Status of the customer asset.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+      "update": { # A link between a customer and an asset. # Update operation: The customer asset is expected to have a valid resource name.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the customer asset link.
+        "status": "A String", # Status of the customer asset.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customer asset mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the customer asset mutate.
+      "customerAsset": { # A link between a customer and an asset. # The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the customer asset link.
+        "status": "A String", # Status of the customer asset.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerClientLinks.html b/docs/dyn/searchads360_v23.customers.customerClientLinks.html new file mode 100644 index 0000000000..d903b4d53c --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerClientLinks.html @@ -0,0 +1,134 @@ + + + +

Search Ads 360 Reporting API . customers . customerClientLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer link are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerClientLinkService.MutateCustomerClientLink.
+  "operation": { # A single operation (create, update) on a CustomerClientLink. # Required. The operation to perform on the individual CustomerClientLink.
+    "create": { # Represents customer client link relationship. # Create operation: No resource name is expected for the new link.
+      "clientCustomer": "A String", # Immutable. The client customer linked to this customer.
+      "hidden": True or False, # The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false
+      "managerLinkId": "A String", # Output only. This is uniquely identifies a customer client link. Read only.
+      "resourceName": "A String", # Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+      "status": "A String", # This is the status of the link between client and manager.
+    },
+    "update": { # Represents customer client link relationship. # Update operation: The link is expected to have a valid resource name.
+      "clientCustomer": "A String", # Immutable. The client customer linked to this customer.
+      "hidden": True or False, # The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false
+      "managerLinkId": "A String", # Output only. This is uniquely identifies a customer client link. Read only.
+      "resourceName": "A String", # Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+      "status": "A String", # This is the status of the link between client and manager.
+    },
+    "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+  },
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a CustomerClientLink mutate.
+  "result": { # The result for a single customer client link mutate. # A result that identifies the resource affected by the mutate request.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerConversionGoals.html b/docs/dyn/searchads360_v23.customers.customerConversionGoals.html new file mode 100644 index 0000000000..9526429ac9 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerConversionGoals.html @@ -0,0 +1,130 @@ + + + +

Search Ads 360 Reporting API . customers . customerConversionGoals

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes customer conversion goals. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes customer conversion goals. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer conversion goals are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerConversionGoalService.MutateCustomerConversionGoals.
+  "operations": [ # Required. The list of operations to perform on individual customer conversion goal.
+    { # A single operation (update) on a customer conversion goal.
+      "update": { # Biddability control for conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+        "biddable": True or False, # The biddability of the customer conversion goal.
+        "category": "A String", # The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
+        "origin": "A String", # The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
+        "resourceName": "A String", # Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customer conversion goal mutate.
+  "results": [ # All results for the mutate.
+    { # The result for the customer conversion goal mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerLabels.html b/docs/dyn/searchads360_v23.customers.customerLabels.html new file mode 100644 index 0000000000..3b9ec2c307 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerLabels.html @@ -0,0 +1,139 @@ + + + +

Search Ads 360 Reporting API . customers . customerLabels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose customer-label relationships are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerLabelService.MutateCustomerLabels.
+  "operations": [ # Required. The list of operations to perform on customer-label relationships.
+    { # A single operation (create, remove) on a customer-label relationship.
+      "create": { # Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. # Create operation: No resource name is expected for the new customer-label relationship.
+        "customer": "A String", # Output only. The resource name of the customer to which the label is attached. Read only.
+        "label": "A String", # Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.
+        "resourceName": "A String", # Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customer labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for a customer label mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerLifecycleGoal.html b/docs/dyn/searchads360_v23.customers.customerLifecycleGoal.html new file mode 100644 index 0000000000..517f8d969f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerLifecycleGoal.html @@ -0,0 +1,136 @@ + + + +

Search Ads 360 Reporting API . customers . customerLifecycleGoal

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ configureCustomerLifecycleGoals(customerId, body=None, x__xgafv=None)

+

Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ configureCustomerLifecycleGoals(customerId, body=None, x__xgafv=None) +
Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer performing the upload. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.
+  "operation": { # A single operation on a customer lifecycle goal. # Required. The operation to perform customer lifecycle goal update.
+    "create": { # Account level customer lifecycle goal settings.
+      "customerAcquisitionGoalValueSettings": { # Lifecycle goal value settings. # Output only. Customer acquisition goal customer level value settings.
+        "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+        "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+      },
+      "ownerCustomer": "A String", # Output only. The resource name of the customer which owns the lifecycle goal.
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`
+    },
+    "update": { # Account level customer lifecycle goal settings. # Update operation: Update an existing customer lifecycle goal.
+      "customerAcquisitionGoalValueSettings": { # Lifecycle goal value settings. # Output only. Customer acquisition goal customer level value settings.
+        "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+        "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+      },
+      "ownerCustomer": "A String", # Output only. The resource name of the customer which owns the lifecycle goal.
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`
+    },
+    "updateMask": "A String", # Optional. FieldMask that determines which resource fields are modified in an update.
+  },
+  "validateOnly": True or False, # Optional. If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.
+  "result": { # The result for the customer lifecycle goal configuration. # result for the customer lifecycle goal configuration.
+    "resourceName": "A String", # Returned for the successful operation.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerManagerLinks.html b/docs/dyn/searchads360_v23.customers.customerManagerLinks.html new file mode 100644 index 0000000000..0f638f7893 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerManagerLinks.html @@ -0,0 +1,162 @@ + + + +

Search Ads 360 Reporting API . customers . customerManagerLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ moveManagerLink(customerId, body=None, x__xgafv=None)

+

Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ moveManagerLink(customerId, body=None, x__xgafv=None) +
Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the client customer that is being moved. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerManagerLinkService.MoveManagerLink.
+  "newManager": "A String", # Required. The resource name of the new manager customer that the client wants to move to. Customer resource names have the format: "customers/{customer_id}"
+  "previousCustomerManagerLink": "A String", # Required. The resource name of the previous CustomerManagerLink. The resource name has the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a CustomerManagerLink moveManagerLink.
+  "resourceName": "A String", # Returned for successful operations. Represents a CustomerManagerLink resource of the newly created link between client customer and new manager customer.
+}
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose customer manager links are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerManagerLinkService.MutateCustomerManagerLink.
+  "operations": [ # Required. The list of operations to perform on individual customer manager links.
+    { # Updates the status of a CustomerManagerLink. The following actions are possible: 1. Update operation with status ACTIVE accepts a pending invitation. 2. Update operation with status REFUSED declines a pending invitation. 3. Update operation with status INACTIVE terminates link to manager.
+      "update": { # Represents customer-manager link relationship. # Update operation: The link is expected to have a valid resource name.
+        "managerCustomer": "A String", # Output only. The manager customer linked to the customer.
+        "managerLinkId": "A String", # Output only. ID of the customer-manager link. This field is read only.
+        "resourceName": "A String", # Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+        "startTime": "A String", # Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "status": "A String", # Status of the link between the customer and the manager.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a CustomerManagerLink mutate.
+  "results": [ # A result that identifies the resource affected by the mutate request.
+    { # The result for the customer manager link mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerNegativeCriteria.html b/docs/dyn/searchads360_v23.customers.customerNegativeCriteria.html new file mode 100644 index 0000000000..5b1fe7506e --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerNegativeCriteria.html @@ -0,0 +1,201 @@ + + + +

Search Ads 360 Reporting API . customers . customerNegativeCriteria

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose criteria are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerNegativeCriterionService.MutateCustomerNegativeCriteria.
+  "operations": [ # Required. The list of operations to perform on individual criteria.
+    { # A single operation (create or remove) on a customer level negative criterion.
+      "create": { # A negative criterion for exclusions at the customer level. # Create operation: No resource name is expected for the new criterion.
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "id": "A String", # Output only. The ID of the criterion.
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+          "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+          "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+        "type": "A String", # Output only. The type of the criterion.
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 customer negative criterion mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the criterion mutate.
+      "customerNegativeCriterion": { # A negative criterion for exclusions at the customer level. # The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "id": "A String", # Output only. The ID of the criterion.
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+          "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+          "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+        "type": "A String", # Output only. The type of the criterion.
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerSkAdNetworkConversionValueSchemas.html b/docs/dyn/searchads360_v23.customers.customerSkAdNetworkConversionValueSchemas.html new file mode 100644 index 0000000000..708591b81a --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerSkAdNetworkConversionValueSchemas.html @@ -0,0 +1,232 @@ + + + +

Search Ads 360 Reporting API . customers . customerSkAdNetworkConversionValueSchemas

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]()
+
+Args:
+  customerId: string, The ID of the customer whose shared sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema.
+  "enableWarnings": True or False, # Optional. If true, enables returning warnings. Warnings return error messages and error codes without blocking the execution of the mutate operation.
+  "operation": { # A single update operation for a CustomerSkAdNetworkConversionValueSchema. # The operation to perform.
+    "update": { # A CustomerSkAdNetworkConversionValueSchema. # Update operation: The schema is expected to have a valid resource name.
+      "resourceName": "A String", # Output only. The resource name of the schema. CustomerSkAdNetworkConversionValueSchema resource names have the form: customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}
+      "schema": { # The CustomerLink specific SkAdNetworkConversionValueSchema. # Output only. The schema for the specified resource.
+        "appId": "A String", # Required. Output only. Apple App Store app ID.
+        "fineGrainedConversionValueMappings": [ # Output only. Fine grained conversion value mappings.
+          { # Mappings for fine grained conversion value.
+            "conversionValueMapping": { # Represents mapping from one conversion value to one or more conversion events. # Output only. Conversion events the fine grained conversion value maps to.
+              "mappedEvents": [ # Output only. The conversion value may be mapped to multiple events with various attributes.
+                { # Defines a Google conversion event that the conversion value is mapped to.
+                  "currencyCode": "A String", # Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD"
+                  "eventCounter": "A String", # Output only. For specific event counter values.
+                  "eventOccurrenceRange": { # Defines a range for event counter values. # Output only. The event counter range.
+                    "maxEventCount": "A String", # Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.
+                    "minEventCount": "A String", # Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.
+                  },
+                  "eventRevenueRange": { # Defines a range for revenue values. # Output only. The event revenue range.
+                    "maxEventRevenue": 3.14, # Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                    "minEventRevenue": 3.14, # Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                  },
+                  "eventRevenueValue": 3.14, # Output only. The specific event revenue value.
+                  "mappedEventName": "A String", # Output only. Google event name represented by this conversion value.
+                },
+              ],
+              "maxTimePostInstallHours": "A String", # Output only. The maximum of the time range in which a user was last active during the measurement window.
+              "minTimePostInstallHours": "A String", # Output only. The minimum of the time range in which a user was last active during the measurement window.
+            },
+            "fineGrainedConversionValue": 42, # Output only. Fine grained conversion value. Valid values are in the inclusive range [0,63].
+          },
+        ],
+        "measurementWindowHours": 42, # Output only. A time window (measured in hours) post-install, after which the App Attribution Partner or advertiser stops calling [updateConversionValue] (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue).
+        "postbackMappings": [ # Output only. Per-postback conversion value mappings for postbacks in multiple conversion windows. Only applicable for SkAdNetwork versions >= 4.0.
+          { # Mappings for each postback in multiple conversion windows.
+            "coarseGrainedConversionValueMappings": { # Mappings for coarse grained conversion values. # Output only. Conversion value mappings for all coarse grained conversion values.
+              "highConversionValueMapping": { # Represents mapping from one conversion value to one or more conversion events. # Output only. Mapping for "high" coarse conversion value.
+                "mappedEvents": [ # Output only. The conversion value may be mapped to multiple events with various attributes.
+                  { # Defines a Google conversion event that the conversion value is mapped to.
+                    "currencyCode": "A String", # Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD"
+                    "eventCounter": "A String", # Output only. For specific event counter values.
+                    "eventOccurrenceRange": { # Defines a range for event counter values. # Output only. The event counter range.
+                      "maxEventCount": "A String", # Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.
+                      "minEventCount": "A String", # Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueRange": { # Defines a range for revenue values. # Output only. The event revenue range.
+                      "maxEventRevenue": 3.14, # Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                      "minEventRevenue": 3.14, # Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueValue": 3.14, # Output only. The specific event revenue value.
+                    "mappedEventName": "A String", # Output only. Google event name represented by this conversion value.
+                  },
+                ],
+                "maxTimePostInstallHours": "A String", # Output only. The maximum of the time range in which a user was last active during the measurement window.
+                "minTimePostInstallHours": "A String", # Output only. The minimum of the time range in which a user was last active during the measurement window.
+              },
+              "lowConversionValueMapping": { # Represents mapping from one conversion value to one or more conversion events. # Output only. Mapping for "low" coarse conversion value.
+                "mappedEvents": [ # Output only. The conversion value may be mapped to multiple events with various attributes.
+                  { # Defines a Google conversion event that the conversion value is mapped to.
+                    "currencyCode": "A String", # Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD"
+                    "eventCounter": "A String", # Output only. For specific event counter values.
+                    "eventOccurrenceRange": { # Defines a range for event counter values. # Output only. The event counter range.
+                      "maxEventCount": "A String", # Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.
+                      "minEventCount": "A String", # Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueRange": { # Defines a range for revenue values. # Output only. The event revenue range.
+                      "maxEventRevenue": 3.14, # Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                      "minEventRevenue": 3.14, # Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueValue": 3.14, # Output only. The specific event revenue value.
+                    "mappedEventName": "A String", # Output only. Google event name represented by this conversion value.
+                  },
+                ],
+                "maxTimePostInstallHours": "A String", # Output only. The maximum of the time range in which a user was last active during the measurement window.
+                "minTimePostInstallHours": "A String", # Output only. The minimum of the time range in which a user was last active during the measurement window.
+              },
+              "mediumConversionValueMapping": { # Represents mapping from one conversion value to one or more conversion events. # Output only. Mapping for "medium" coarse conversion value.
+                "mappedEvents": [ # Output only. The conversion value may be mapped to multiple events with various attributes.
+                  { # Defines a Google conversion event that the conversion value is mapped to.
+                    "currencyCode": "A String", # Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD"
+                    "eventCounter": "A String", # Output only. For specific event counter values.
+                    "eventOccurrenceRange": { # Defines a range for event counter values. # Output only. The event counter range.
+                      "maxEventCount": "A String", # Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.
+                      "minEventCount": "A String", # Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueRange": { # Defines a range for revenue values. # Output only. The event revenue range.
+                      "maxEventRevenue": 3.14, # Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                      "minEventRevenue": 3.14, # Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.
+                    },
+                    "eventRevenueValue": 3.14, # Output only. The specific event revenue value.
+                    "mappedEventName": "A String", # Output only. Google event name represented by this conversion value.
+                  },
+                ],
+                "maxTimePostInstallHours": "A String", # Output only. The maximum of the time range in which a user was last active during the measurement window.
+                "minTimePostInstallHours": "A String", # Output only. The minimum of the time range in which a user was last active during the measurement window.
+              },
+            },
+            "lockWindowCoarseConversionValue": "A String", # Output only. Coarse grained conversion value that triggers conversion window lock.
+            "lockWindowEvent": "A String", # Output only. Event name that triggers conversion window lock.
+            "lockWindowFineConversionValue": 42, # Output only. Fine grained conversion value that triggers conversion window lock.
+            "postbackSequenceIndex": 42, # Output only. 0-based index that indicates the order of postback. Valid values are in the inclusive range [0,2].
+          },
+        ],
+      },
+    },
+  },
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 MutateCustomerSkAdNetworkConversionValueSchema.
+  "result": { # The result for the CustomerSkAdNetworkConversionValueSchema mutate. # All results for the mutate.
+    "appId": "A String", # App ID of the SkanConversionValue modified.
+    "resourceName": "A String", # Resource name of the customer that was modified.
+  },
+  "warning": { # 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). # Non blocking errors that provides schema validation failure details. Returned only when enable_warnings = true.
+    "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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerUserAccessInvitations.html b/docs/dyn/searchads360_v23.customers.customerUserAccessInvitations.html new file mode 100644 index 0000000000..8cbf684934 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerUserAccessInvitations.html @@ -0,0 +1,127 @@ + + + +

Search Ads 360 Reporting API . customers . customerUserAccessInvitations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose access invitation is being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation
+  "operation": { # A single operation (create or remove) on customer user access invitation. # Required. The operation to perform on the access invitation
+    "create": { # Represent an invitation to a new user on this customer account. # Create operation: No resource name is expected for the new access invitation.
+      "accessRole": "A String", # Immutable. Access role of the user.
+      "creationDateTime": "A String", # Output only. Time invitation was created. This field is read-only. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "emailAddress": "A String", # Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.
+      "invitationId": "A String", # Output only. The ID of the invitation. This field is read-only.
+      "invitationStatus": "A String", # Output only. Invitation status of the user.
+      "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`
+    },
+    "remove": "A String", # Remove operation: A resource name for the revoke invitation is expected, in this format: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`
+  },
+}
+
+  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 access invitation mutate.
+  "result": { # The result for the access invitation mutate. # Result for the mutate.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customerUserAccesses.html b/docs/dyn/searchads360_v23.customers.customerUserAccesses.html new file mode 100644 index 0000000000..1c6f296571 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customerUserAccesses.html @@ -0,0 +1,128 @@ + + + +

Search Ads 360 Reporting API . customers . customerUserAccesses

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess.
+  "operation": { # A single operation (update, remove) on customer user access. # Required. The operation to perform on the customer
+    "remove": "A String", # Remove operation: A resource name for the removed access is expected, in this format: `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}`
+    "update": { # Represents the permission of a single user onto a single customer. # Update operation: The customer user access is expected to have a valid resource name.
+      "accessCreationDateTime": "A String", # Output only. The customer user access creation time. Read only field The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "accessRole": "A String", # Access role of the user.
+      "emailAddress": "A String", # Output only. Email address of the user. Read only field
+      "inviterUserEmailAddress": "A String", # Output only. The email address of the inviter user. Read only field
+      "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`
+      "userId": "A String", # Output only. User id of the user with the customer access. Read only field
+    },
+    "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+  },
+}
+
+  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 customer user access mutate.
+  "result": { # The result for the customer user access mutate. # Result for the mutate.
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.customizerAttributes.html b/docs/dyn/searchads360_v23.customers.customizerAttributes.html new file mode 100644 index 0000000000..7f15facbe1 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.customizerAttributes.html @@ -0,0 +1,150 @@ + + + +

Search Ads 360 Reporting API . customers . customizerAttributes

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates or removes customizer attributes. Operation statuses are returned.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates or removes customizer attributes. Operation statuses are returned.
+
+Args:
+  customerId: string, Required. The ID of the customer whose customizer attributes are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomizerAttributeService.MutateCustomizerAttributes.
+  "operations": [ # Required. The list of operations to perform on individual customizer attributes.
+    { # A single operation (create, remove) on a customizer attribute.
+      "create": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # Create operation: No resource name is expected for the new customizer attribute
+        "id": "A String", # Output only. The ID of the customizer attribute.
+        "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+        "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customizer attribute.
+        "type": "A String", # Immutable. The type of the customizer attribute.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a customizer attribute mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the customizer attribute mutate.
+      "customizerAttribute": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "id": "A String", # Output only. The ID of the customizer attribute.
+        "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+        "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customizer attribute.
+        "type": "A String", # Immutable. The type of the customizer attribute.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.dataLinks.html b/docs/dyn/searchads360_v23.customers.dataLinks.html new file mode 100644 index 0000000000..e0523acce6 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.dataLinks.html @@ -0,0 +1,184 @@ + + + +

Search Ads 360 Reporting API . customers . dataLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(customerId, body=None, x__xgafv=None)

+

Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ remove(customerId, body=None, x__xgafv=None)

+

Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ update(customerId, body=None, x__xgafv=None)

+

Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(customerId, body=None, x__xgafv=None) +
Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which the data link is created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for DataLinkService.CreateDataLink.
+  "dataLink": { # Represents the data sharing connection between # Required. The data link to be created.
+    "dataLinkId": "A String", # Output only. The ID of the data link. This field is read only.
+    "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+    "resourceName": "A String", # Immutable. Resource name of the product data link. DataLink resource names have the form: `
+    "status": "A String", # Output only. The status of the data link.
+    "type": "A String", # Output only. The type of the data.
+    "youtubeVideo": { # The identifier for YouTube video # Immutable. A data link to YouTube video.
+      "channelId": "A String", # Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA".
+      "videoId": "A String", # Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s".
+    },
+  },
+}
+
+  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 DataLinkService.CreateDataLink.
+  "resourceName": "A String", # Returned for successful operations. Resource name of the data link.
+}
+
+ +
+ remove(customerId, body=None, x__xgafv=None) +
Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which the data link is updated. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for DataLinkService.RemoveDataLink.
+  "resourceName": "A String", # Required. The data link is expected to have a valid resource name.
+}
+
+  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 DataLinkService.RemoveDataLink.
+  "resourceName": "A String", # Result for the remove request.
+}
+
+ +
+ update(customerId, body=None, x__xgafv=None) +
Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which the data link is created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for DataLinkService.UpdateDataLink.
+  "dataLinkStatus": "A String", # Required. The data link status to be updated to.
+  "resourceName": "A String", # Required. The data link is expected to have a valid resource name.
+}
+
+  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 DataLinkService.UpdateDataLink.
+  "resourceName": "A String", # Returned for successful operations. Resource name of the data link.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.experimentArms.html b/docs/dyn/searchads360_v23.customers.experimentArms.html new file mode 100644 index 0000000000..6aed422b62 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.experimentArms.html @@ -0,0 +1,208 @@ + + + +

Search Ads 360 Reporting API . customers . experimentArms

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose experiments are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentArmService.MutateExperimentArms.
+  "operations": [ # Required. The list of operations to perform on individual experiment arm.
+    { # A single operation on an experiment arm.
+      "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+        "assetGroups": [ # List of asset groups in the experiment arm.
+          { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+            "assetGroup": "A String", # Asset group resource name.
+            "assetGroupAssets": [ # List of asset group assets under the asset group.
+              { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                "asset": "A String", # Asset resource name of the asset group asset.
+                "fieldType": "A String", # Field type of the asset group asset.
+              },
+            ],
+          },
+        ],
+        "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+          "A String",
+        ],
+        "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+        "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+        "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+          "A String",
+        ],
+        "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+        "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+        "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+      },
+      "remove": "A String", # Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+      "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment arm is expected to have a valid resource name.
+        "assetGroups": [ # List of asset groups in the experiment arm.
+          { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+            "assetGroup": "A String", # Asset group resource name.
+            "assetGroupAssets": [ # List of asset group assets under the asset group.
+              { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                "asset": "A String", # Asset resource name of the asset group asset.
+                "fieldType": "A String", # Field type of the asset group asset.
+              },
+            ],
+          },
+        ],
+        "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+          "A String",
+        ],
+        "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+        "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+        "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+          "A String",
+        ],
+        "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+        "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+        "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 experiment arm mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the experiment arm mutate.
+      "experimentArm": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "assetGroups": [ # List of asset groups in the experiment arm.
+          { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+            "assetGroup": "A String", # Asset group resource name.
+            "assetGroupAssets": [ # List of asset group assets under the asset group.
+              { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                "asset": "A String", # Asset resource name of the asset group asset.
+                "fieldType": "A String", # Field type of the asset group asset.
+              },
+            ],
+          },
+        ],
+        "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+          "A String",
+        ],
+        "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+        "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+        "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+          "A String",
+        ],
+        "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+        "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+        "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.experiments.html b/docs/dyn/searchads360_v23.customers.experiments.html new file mode 100644 index 0000000000..317ec3abfd --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.experiments.html @@ -0,0 +1,379 @@ + + + +

Search Ads 360 Reporting API . customers . experiments

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ endExperiment(experiment, body=None, x__xgafv=None)

+

Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ graduateExperiment(experiment, body=None, x__xgafv=None)

+

Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ listExperimentAsyncErrors(resourceName, pageSize=None, pageToken=None, x__xgafv=None)

+

Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listExperimentAsyncErrors_next()

+

Retrieves the next page of results.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ promoteExperiment(resourceName, body=None, x__xgafv=None)

+

Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ scheduleExperiment(resourceName, body=None, x__xgafv=None)

+

Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ endExperiment(experiment, body=None, x__xgafv=None) +
Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  experiment: string, Required. The resource name of the campaign experiment to end. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentService.EndExperiment.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ graduateExperiment(experiment, body=None, x__xgafv=None) +
Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  experiment: string, Required. The experiment to be graduated. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentService.GraduateExperiment.
+  "campaignBudgetMappings": [ # Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one.
+    { # The mapping of experiment campaign and budget to be graduated.
+      "campaignBudget": "A String", # Required. The budget that should be attached to the graduating experiment campaign.
+      "experimentCampaign": "A String", # Required. The experiment campaign to graduate.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ listExperimentAsyncErrors(resourceName, pageSize=None, pageToken=None, x__xgafv=None) +
Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The name of the experiment from which to retrieve the async errors. (required)
+  pageSize: integer, Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000.
+  pageToken: string, Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
+  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 ExperimentService.ListExperimentAsyncErrors.
+  "errors": [ # details of the errors when performing the asynchronous operation.
+    { # 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.
+    },
+  ],
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+}
+
+ +
+ listExperimentAsyncErrors_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.
+        
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose experiments are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentService.MutateExperiments.
+  "operations": [ # Required. The list of operations to perform on individual experiments.
+    { # A single operation on an experiment.
+      "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+        "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+        "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+        "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+        "goals": [ # The goals of this experiment.
+          { # A metric goal for an experiment.
+            "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+            "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+          },
+        ],
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+        "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+        "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+        "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+        "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The Advertiser-chosen status of this experiment.
+        "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+        "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+        "type": "A String", # Required. The product/feature that uses this experiment.
+      },
+      "remove": "A String", # Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+      "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment is expected to have a valid resource name.
+        "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+        "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+        "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+        "goals": [ # The goals of this experiment.
+          { # A metric goal for an experiment.
+            "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+            "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+          },
+        ],
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+        "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+        "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+        "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+        "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The Advertiser-chosen status of this experiment.
+        "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+        "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+        "type": "A String", # Required. The product/feature that uses this experiment.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 experiment mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the campaign experiment mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ +
+ promoteExperiment(resourceName, body=None, x__xgafv=None) +
Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the experiment to promote. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentService.PromoteExperiment.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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.
+  },
+}
+
+ +
+ scheduleExperiment(resourceName, body=None, x__xgafv=None) +
Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The scheduled experiment. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ExperimentService.ScheduleExperiment.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.html b/docs/dyn/searchads360_v23.customers.html new file mode 100644 index 0000000000..e00ddd8099 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.html @@ -0,0 +1,4424 @@ + + + +

Search Ads 360 Reporting API . customers

+

Instance Methods

+

+ AdGroupCriterionCustomizers() +

+

Returns the AdGroupCriterionCustomizers Resource.

+ +

+ CampaignGoalConfigs() +

+

Returns the CampaignGoalConfigs Resource.

+ +

+ CustomerCustomizers() +

+

Returns the CustomerCustomizers Resource.

+ +

+ Goals() +

+

Returns the Goals Resource.

+ +

+ accountBudgetProposals() +

+

Returns the accountBudgetProposals Resource.

+ +

+ accountLinks() +

+

Returns the accountLinks Resource.

+ +

+ adGroupAdLabels() +

+

Returns the adGroupAdLabels Resource.

+ +

+ adGroupAds() +

+

Returns the adGroupAds Resource.

+ +

+ adGroupAssetSets() +

+

Returns the adGroupAssetSets Resource.

+ +

+ adGroupAssets() +

+

Returns the adGroupAssets Resource.

+ +

+ adGroupBidModifiers() +

+

Returns the adGroupBidModifiers Resource.

+ +

+ adGroupCriteria() +

+

Returns the adGroupCriteria Resource.

+ +

+ adGroupCriterionLabels() +

+

Returns the adGroupCriterionLabels Resource.

+ +

+ adGroupCustomizers() +

+

Returns the adGroupCustomizers Resource.

+ +

+ adGroupLabels() +

+

Returns the adGroupLabels Resource.

+ +

+ adGroups() +

+

Returns the adGroups Resource.

+ +

+ adParameters() +

+

Returns the adParameters Resource.

+ +

+ ads() +

+

Returns the ads Resource.

+ +

+ assetGroupAssets() +

+

Returns the assetGroupAssets Resource.

+ +

+ assetGroupListingGroupFilters() +

+

Returns the assetGroupListingGroupFilters Resource.

+ +

+ assetGroupSignals() +

+

Returns the assetGroupSignals Resource.

+ +

+ assetGroups() +

+

Returns the assetGroups Resource.

+ +

+ assetSetAssets() +

+

Returns the assetSetAssets Resource.

+ +

+ assetSets() +

+

Returns the assetSets Resource.

+ +

+ assets() +

+

Returns the assets Resource.

+ +

+ audiences() +

+

Returns the audiences Resource.

+ +

+ batchJobs() +

+

Returns the batchJobs Resource.

+ +

+ biddingDataExclusions() +

+

Returns the biddingDataExclusions Resource.

+ +

+ biddingSeasonalityAdjustments() +

+

Returns the biddingSeasonalityAdjustments Resource.

+ +

+ biddingStrategies() +

+

Returns the biddingStrategies Resource.

+ +

+ billingSetups() +

+

Returns the billingSetups Resource.

+ +

+ campaignAssetSets() +

+

Returns the campaignAssetSets Resource.

+ +

+ campaignAssets() +

+

Returns the campaignAssets Resource.

+ +

+ campaignBidModifiers() +

+

Returns the campaignBidModifiers Resource.

+ +

+ campaignBudgets() +

+

Returns the campaignBudgets Resource.

+ +

+ campaignConversionGoals() +

+

Returns the campaignConversionGoals Resource.

+ +

+ campaignCriteria() +

+

Returns the campaignCriteria Resource.

+ +

+ campaignCustomizers() +

+

Returns the campaignCustomizers Resource.

+ +

+ campaignDrafts() +

+

Returns the campaignDrafts Resource.

+ +

+ campaignGroups() +

+

Returns the campaignGroups Resource.

+ +

+ campaignLabels() +

+

Returns the campaignLabels Resource.

+ +

+ campaignLifecycleGoal() +

+

Returns the campaignLifecycleGoal Resource.

+ +

+ campaignSharedSets() +

+

Returns the campaignSharedSets Resource.

+ +

+ campaigns() +

+

Returns the campaigns Resource.

+ +

+ conversionActions() +

+

Returns the conversionActions Resource.

+ +

+ conversionCustomVariables() +

+

Returns the conversionCustomVariables Resource.

+ +

+ conversionGoalCampaignConfigs() +

+

Returns the conversionGoalCampaignConfigs Resource.

+ +

+ conversionValueRuleSets() +

+

Returns the conversionValueRuleSets Resource.

+ +

+ conversionValueRules() +

+

Returns the conversionValueRules Resource.

+ +

+ customAudiences() +

+

Returns the customAudiences Resource.

+ +

+ customColumns() +

+

Returns the customColumns Resource.

+ +

+ customConversionGoals() +

+

Returns the customConversionGoals Resource.

+ +

+ customInterests() +

+

Returns the customInterests Resource.

+ +

+ customerAssetSets() +

+

Returns the customerAssetSets Resource.

+ +

+ customerAssets() +

+

Returns the customerAssets Resource.

+ +

+ customerClientLinks() +

+

Returns the customerClientLinks Resource.

+ +

+ customerConversionGoals() +

+

Returns the customerConversionGoals Resource.

+ +

+ customerLabels() +

+

Returns the customerLabels Resource.

+ +

+ customerLifecycleGoal() +

+

Returns the customerLifecycleGoal Resource.

+ +

+ customerManagerLinks() +

+

Returns the customerManagerLinks Resource.

+ +

+ customerNegativeCriteria() +

+

Returns the customerNegativeCriteria Resource.

+ +

+ customerSkAdNetworkConversionValueSchemas() +

+

Returns the customerSkAdNetworkConversionValueSchemas Resource.

+ +

+ customerUserAccessInvitations() +

+

Returns the customerUserAccessInvitations Resource.

+ +

+ customerUserAccesses() +

+

Returns the customerUserAccesses Resource.

+ +

+ customizerAttributes() +

+

Returns the customizerAttributes Resource.

+ +

+ dataLinks() +

+

Returns the dataLinks Resource.

+ +

+ experimentArms() +

+

Returns the experimentArms Resource.

+ +

+ experiments() +

+

Returns the experiments Resource.

+ +

+ incentives() +

+

Returns the incentives Resource.

+ +

+ invoices() +

+

Returns the invoices Resource.

+ +

+ keywordPlanAdGroupKeywords() +

+

Returns the keywordPlanAdGroupKeywords Resource.

+ +

+ keywordPlanAdGroups() +

+

Returns the keywordPlanAdGroups Resource.

+ +

+ keywordPlanCampaignKeywords() +

+

Returns the keywordPlanCampaignKeywords Resource.

+ +

+ keywordPlanCampaigns() +

+

Returns the keywordPlanCampaigns Resource.

+ +

+ keywordPlans() +

+

Returns the keywordPlans Resource.

+ +

+ labels() +

+

Returns the labels Resource.

+ +

+ localServices() +

+

Returns the localServices Resource.

+ +

+ localServicesLeads() +

+

Returns the localServicesLeads Resource.

+ +

+ offlineUserDataJobs() +

+

Returns the offlineUserDataJobs Resource.

+ +

+ paymentsAccounts() +

+

Returns the paymentsAccounts Resource.

+ +

+ productLinkInvitations() +

+

Returns the productLinkInvitations Resource.

+ +

+ productLinks() +

+

Returns the productLinks Resource.

+ +

+ recommendationSubscriptions() +

+

Returns the recommendationSubscriptions Resource.

+ +

+ recommendations() +

+

Returns the recommendations Resource.

+ +

+ remarketingActions() +

+

Returns the remarketingActions Resource.

+ +

+ searchAds360() +

+

Returns the searchAds360 Resource.

+ +

+ sharedCriteria() +

+

Returns the sharedCriteria Resource.

+ +

+ sharedSets() +

+

Returns the sharedSets Resource.

+ +

+ smartCampaignSettings() +

+

Returns the smartCampaignSettings Resource.

+ +

+ thirdPartyAppAnalyticsLinks() +

+

Returns the thirdPartyAppAnalyticsLinks Resource.

+ +

+ userListCustomerTypes() +

+

Returns the userListCustomerTypes Resource.

+ +

+ userLists() +

+

Returns the userLists Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ createCustomerClient(customerId, body=None, x__xgafv=None)

+

Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]()

+

+ generateAdGroupThemes(customerId, body=None, x__xgafv=None)

+

Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ generateAudienceCompositionInsights(customerId, body=None, x__xgafv=None)

+

Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ generateAudienceDefinition(customerId, body=None, x__xgafv=None)

+

Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ generateAudienceOverlapInsights(customerId, body=None, x__xgafv=None)

+

Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ generateBenchmarksMetrics(customerId, body=None, x__xgafv=None)

+

Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ generateInsightsFinderReport(customerId, body=None, x__xgafv=None)

+

Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ generateKeywordForecastMetrics(customerId, body=None, x__xgafv=None)

+

Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ generateKeywordHistoricalMetrics(customerId, body=None, x__xgafv=None)

+

Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ generateKeywordIdeas(customerId, body=None, x__xgafv=None)

+

Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()

+

+ generateKeywordIdeas_next()

+

Retrieves the next page of results.

+

+ generateReachForecast(customerId, body=None, x__xgafv=None)

+

Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()

+

+ generateSuggestedTargetingInsights(customerId, body=None, x__xgafv=None)

+

Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ generateTargetingSuggestionMetrics(customerId, body=None, x__xgafv=None)

+

Returns potential reach metrics for targetable audiences. This method helps answer questions like "How many Men aged 18+ interested in Camping can be reached on YouTube?" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ getIdentityVerification(customerId, x__xgafv=None)

+

Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listAccessibleCustomers(x__xgafv=None)

+

Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]()

+

+ removeCampaignAutomaticallyCreatedAsset(customerId, body=None, x__xgafv=None)

+

Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()

+

+ searchAudienceInsightsAttributes(customerId, body=None, x__xgafv=None)

+

Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()

+

+ startIdentityVerification(customerId, body=None, x__xgafv=None)

+

Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ suggestKeywordThemes(customerId, body=None, x__xgafv=None)

+

Suggests keyword themes to advertise on.

+

+ suggestSmartCampaignAd(customerId, body=None, x__xgafv=None)

+

Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.

+

+ suggestSmartCampaignBudgetOptions(customerId, body=None, x__xgafv=None)

+

Returns BudgetOption suggestions.

+

+ suggestTravelAssets(customerId, body=None, x__xgafv=None)

+

Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property.

+

+ uploadUserData(customerId, body=None, x__xgafv=None)

+

Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ createCustomerClient(customerId, body=None, x__xgafv=None) +
Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]()
+
+Args:
+  customerId: string, Required. The ID of the Manager under whom client customer is being created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerService.CreateCustomerClient.
+  "accessRole": "A String", # The proposed role of user on the created client customer. Accessible only to customers on the allow-list.
+  "customerClient": { # A customer. # Required. The new client customer to create. The resource name on this customer will be ignored.
+    "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+    "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+    "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+    "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+    "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+    "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+    "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+      "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+      "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+      "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+    },
+    "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+    "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+      "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+      "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+      "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+      "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+      "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+      "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+      "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+    },
+    "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+    "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+    "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+      "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+    },
+    "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+    "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+      "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+      "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+      "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+    },
+    "engineId": "A String", # Output only. ID of the account in the external engine account.
+    "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+    "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+    "id": "A String", # Output only. The ID of the customer.
+    "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+    "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+    "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+    "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+      "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+        { # Insurance status at geo + vertical level.
+          "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+          "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+          "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+        },
+      ],
+      "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+        { # License status at geo + vertical level.
+          "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+          "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+          "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+        },
+      ],
+    },
+    "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+    "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+    "manager": True or False, # Output only. Whether the customer is a manager.
+    "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+    "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+    "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+    "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+    "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+      "A String",
+    ],
+    "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+      "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+    },
+    "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+    "status": "A String", # Output only. The status of the customer.
+    "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+    "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+    "testAccount": True or False, # Output only. Whether the customer is a test account.
+    "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+    "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+    "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+    "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+      "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+        "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+          { # Container for third party Brand Lift integration data for Customer.
+            "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+            "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+          },
+        ],
+        "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+          { # Container for third party brand safety integration data for Customer.
+            "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+          },
+        ],
+        "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+          { # Container for third party reach integration data for Customer.
+            "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+            "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+          },
+        ],
+        "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+          { # Container for third party viewability integration data for Customer.
+            "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+            "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+          },
+        ],
+      },
+    },
+  },
+  "emailAddress": "A String", # Email address of the user who should be invited on the created client customer. Accessible only to customers on the allow-list.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 CreateCustomerClient mutate.
+  "invitationLink": "A String", # Link for inviting user to access the created customer. Accessible to allowlisted customers only.
+  "resourceName": "A String", # The resource name of the newly created customer. Customer resource names have the form: `customers/{customer_id}`.
+}
+
+ +
+ generateAdGroupThemes(customerId, body=None, x__xgafv=None) +
Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanIdeaService.GenerateAdGroupThemes.
+  "adGroups": [ # Required. A list of resource names of AdGroups to group keywords into. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`
+    "A String",
+  ],
+  "keywords": [ # Required. A list of keywords to group into the provided AdGroups.
+    "A String",
+  ],
+}
+
+  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 KeywordPlanIdeaService.GenerateAdGroupThemes.
+  "adGroupKeywordSuggestions": [ # A list of suggested AdGroup/keyword pairings.
+    { # The suggested text and AdGroup/Campaign pairing for a given keyword.
+      "keywordText": "A String", # The original keyword text.
+      "suggestedAdGroup": "A String", # The suggested AdGroup for the keyword. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`
+      "suggestedCampaign": "A String", # The suggested Campaign for the keyword. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`
+      "suggestedKeywordText": "A String", # The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions.
+      "suggestedMatchType": "A String", # The suggested keyword match type.
+    },
+  ],
+  "unusableAdGroups": [ # A list of provided AdGroups that could not be used as suggestions.
+    { # An AdGroup/Campaign pair that could not be used as a suggestion for keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign that is not ENABLED or PAUSED * is itself not ENABLED
+      "adGroup": "A String", # The AdGroup resource name. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`
+      "campaign": "A String", # The Campaign resource name. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`
+    },
+  ],
+}
+
+ +
+ generateAudienceCompositionInsights(customerId, body=None, x__xgafv=None) +
Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateAudienceCompositionInsights.
+  "audience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # Required. The audience of interest for which insights are being requested.
+    "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+      { # An age range criterion.
+        "type": "A String", # Type of the age range.
+      },
+    ],
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+      "type": "A String", # Type of the gender.
+    },
+    "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+      { # An income range criterion.
+        "type": "A String", # Type of the income range.
+      },
+    ],
+    "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+      { # A YouTube Lineup.
+        "lineupId": "A String", # Required. The numeric ID of the lineup.
+      },
+    ],
+    "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+      "type": "A String", # Type of the parental status.
+    },
+    "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+      { # A list of AudienceInsightsAttributes.
+        "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+          { # An audience attribute that can be used to request insights about the audience.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+        ],
+      },
+    ],
+    "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+      "userList": "A String", # The User List resource name.
+    },
+  },
+  "baselineAudience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # The baseline audience to which the audience of interest is being compared.
+    "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+      { # An age range criterion.
+        "type": "A String", # Type of the age range.
+      },
+    ],
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+      "type": "A String", # Type of the gender.
+    },
+    "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+      { # An income range criterion.
+        "type": "A String", # Type of the income range.
+      },
+    ],
+    "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+      { # A YouTube Lineup.
+        "lineupId": "A String", # Required. The numeric ID of the lineup.
+      },
+    ],
+    "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+      "type": "A String", # Type of the parental status.
+    },
+    "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+      { # A list of AudienceInsightsAttributes.
+        "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+          { # An audience attribute that can be used to request insights about the audience.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+        ],
+      },
+    ],
+    "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+      "userList": "A String", # The User List resource name.
+    },
+  },
+  "customerInsightsGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "dataMonth": "A String", # The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data.
+  "dimensions": [ # Required. The audience dimensions for which composition insights should be returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .
+    "A String",
+  ],
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 AudienceInsightsService.GenerateAudienceCompositionInsights.
+  "sections": [ # The contents of the insights report, organized into sections. Each section is associated with one of the AudienceInsightsDimension values in the request. There may be more than one section per dimension.
+    { # A collection of related attributes of the same type in an audience composition insights report.
+      "clusteredAttributes": [ # Additional attributes for this audience, grouped into clusters. Only populated if dimension is YOUTUBE_CHANNEL.
+        { # A collection of related attributes, with metadata and metrics, in an audience composition insights report.
+          "attributes": [ # The individual attributes that make up this cluster, with metadata and metrics.
+            { # An audience attribute with metadata and metrics.
+              "attributeMetadata": { # An audience attribute, with metadata about it, returned in response to a search. # The attribute with its metadata.
+                "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+                  "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                    "type": "A String", # Type of the age range.
+                  },
+                  "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                    "categoryId": "A String", # Required. The criterion ID of the category.
+                  },
+                  "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                    "type": "A String", # Type of the device.
+                  },
+                  "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                    "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+                  },
+                  "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                    "type": "A String", # Type of the gender.
+                  },
+                  "incomeRange": { # An income range criterion. # A household income percentile range.
+                    "type": "A String", # Type of the income range.
+                  },
+                  "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                    "lineupId": "A String", # Required. The numeric ID of the lineup.
+                  },
+                  "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                    "geoTargetConstant": "A String", # The geo target constant resource name.
+                  },
+                  "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                    "type": "A String", # Type of the parental status.
+                  },
+                  "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                    "userInterestCategory": "A String", # The UserInterest resource name.
+                  },
+                  "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                    "userList": "A String", # The User List resource name.
+                  },
+                  "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                    "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                  },
+                  "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                    "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+                  },
+                },
+                "dimension": "A String", # The type of the attribute.
+                "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+                "displayName": "A String", # The human-readable name of the attribute.
+                "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+                  "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+                    "A String",
+                  ],
+                  "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+                    # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+                  ],
+                },
+                "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+                  "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+                  "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+                  "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+                    "geoTargetConstant": "A String", # The geo target constant resource name.
+                  },
+                  "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+                  "sampleChannels": [ # Examples of channels that are included in the lineup.
+                    { # A YouTube channel returned as an example of the content in a lineup.
+                      "displayName": "A String", # The name of the sample channel.
+                      "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                      },
+                      "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                        "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                      },
+                    },
+                  ],
+                },
+                "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+                  "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+                    "geoTargetConstant": "A String", # The geo target constant resource name.
+                  },
+                },
+                "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+                "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+                "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+                  "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+                },
+                "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+                  "userListType": "A String", # The user list type.
+                },
+                "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+                "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+                  "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                },
+                "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+                  "commentsCount": "A String", # The total number of comments.
+                  "likesCount": "A String", # The total number of likes.
+                  "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+                  "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+                  "videoProperties": [ # The properties of this video (such as shorts, live stream).
+                    "A String",
+                  ],
+                  "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+                  "viewsCount": "A String", # The total number of views.
+                },
+              },
+              "metrics": { # The share and index metrics associated with an attribute in an audience composition insights report. # Share and index metrics for the attribute.
+                "audienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.
+                "baselineAudienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.
+                "index": 3.14, # The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.
+                "score": 3.14, # A relevance score from 0 to 1 inclusive.
+              },
+            },
+          ],
+          "clusterDisplayName": "A String", # The name of this cluster of attributes
+          "clusterMetrics": { # The share and index metrics associated with an attribute in an audience composition insights report. # If the dimension associated with this cluster is YOUTUBE_CHANNEL, then cluster_metrics are metrics associated with the cluster as a whole. For other dimensions, this field is unset.
+            "audienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.
+            "baselineAudienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.
+            "index": 3.14, # The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.
+            "score": 3.14, # A relevance score from 0 to 1 inclusive.
+          },
+        },
+      ],
+      "dimension": "A String", # The type of the attributes in this section.
+      "topAttributes": [ # The most relevant segments for this audience. If dimension is GENDER, AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive.
+        { # An audience attribute with metadata and metrics.
+          "attributeMetadata": { # An audience attribute, with metadata about it, returned in response to a search. # The attribute with its metadata.
+            "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+              "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                "type": "A String", # Type of the age range.
+              },
+              "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                "categoryId": "A String", # Required. The criterion ID of the category.
+              },
+              "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                "type": "A String", # Type of the device.
+              },
+              "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+              },
+              "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                "type": "A String", # Type of the gender.
+              },
+              "incomeRange": { # An income range criterion. # A household income percentile range.
+                "type": "A String", # Type of the income range.
+              },
+              "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                "lineupId": "A String", # Required. The numeric ID of the lineup.
+              },
+              "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                "type": "A String", # Type of the parental status.
+              },
+              "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                "userInterestCategory": "A String", # The UserInterest resource name.
+              },
+              "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                "userList": "A String", # The User List resource name.
+              },
+              "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+              },
+              "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+              },
+            },
+            "dimension": "A String", # The type of the attribute.
+            "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+            "displayName": "A String", # The human-readable name of the attribute.
+            "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+              "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+                "A String",
+              ],
+              "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+                # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+              ],
+            },
+            "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+              "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+              "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+              "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+              "sampleChannels": [ # Examples of channels that are included in the lineup.
+                { # A YouTube channel returned as an example of the content in a lineup.
+                  "displayName": "A String", # The name of the sample channel.
+                  "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                    "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                  },
+                  "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                    "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                  },
+                },
+              ],
+            },
+            "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+              "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+            },
+            "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+            "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+            "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+              "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+            },
+            "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+              "userListType": "A String", # The user list type.
+            },
+            "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+            "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+              "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+            },
+            "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+              "commentsCount": "A String", # The total number of comments.
+              "likesCount": "A String", # The total number of likes.
+              "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+              "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+              "videoProperties": [ # The properties of this video (such as shorts, live stream).
+                "A String",
+              ],
+              "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+              "viewsCount": "A String", # The total number of views.
+            },
+          },
+          "metrics": { # The share and index metrics associated with an attribute in an audience composition insights report. # Share and index metrics for the attribute.
+            "audienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.
+            "baselineAudienceShare": 3.14, # The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.
+            "index": 3.14, # The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.
+            "score": 3.14, # A relevance score from 0 to 1 inclusive.
+          },
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ generateAudienceDefinition(customerId, body=None, x__xgafv=None) +
Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateAudienceDefinition.
+  "audienceDescription": { # A text description of the audience of interest for which insights are being requested in AudienceInsightsService. # Required. Provide a text description of an audience to get AI-generated structured suggestions. This can take around 5 or more seconds to complete Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, CATEGORY and KNOWLEDGE_GRAPH.
+    "audienceDescription": "A String", # Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, "Women in their 30s who love to travel".
+    "audienceDimensions": { # A collection of dimensions to be used for generating insights. # Optional. An optional list of audience dimensions to return.
+      "dimensions": [ # Required. A list of dimensions.
+        "A String",
+      ],
+    },
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "marketingObjective": "A String", # Optional. An optional marketing objective which will influence the type of suggestions produced.
+  },
+  "customerInsightsGroup": "A String", # Optional. The name of the customer being planned for. This is a user-defined value.
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 AudienceInsightsService.GenerateAudienceDefinition.
+  "highRelevanceAttributes": [ # The attributes that make up the audience definition.
+    { # An audience attribute, with metadata about it, returned in response to a search.
+      "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+        "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+          "type": "A String", # Type of the age range.
+        },
+        "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+          "categoryId": "A String", # Required. The criterion ID of the category.
+        },
+        "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+          "type": "A String", # Type of the device.
+        },
+        "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+          "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+        },
+        "gender": { # A gender criterion. # An audience attribute defined by a gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # A household income percentile range.
+          "type": "A String", # Type of the income range.
+        },
+        "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+        "location": { # A location criterion. # An audience attribute defined by a geographic location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+          "type": "A String", # Type of the parental status.
+        },
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "dimension": "A String", # The type of the attribute.
+      "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+      "displayName": "A String", # The human-readable name of the attribute.
+      "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+        "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+          "A String",
+        ],
+        "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+          # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+        ],
+      },
+      "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+        "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+        "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+        "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+        "sampleChannels": [ # Examples of channels that are included in the lineup.
+          { # A YouTube channel returned as an example of the content in a lineup.
+            "displayName": "A String", # The name of the sample channel.
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+              "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+            },
+          },
+        ],
+      },
+      "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+        "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      },
+      "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+      "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+        "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+      },
+      "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+        "userListType": "A String", # The user list type.
+      },
+      "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+        "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+      },
+      "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+        "commentsCount": "A String", # The total number of comments.
+        "likesCount": "A String", # The total number of likes.
+        "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+        "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+        "videoProperties": [ # The properties of this video (such as shorts, live stream).
+          "A String",
+        ],
+        "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+        "viewsCount": "A String", # The total number of views.
+      },
+    },
+  ],
+  "mediumRelevanceAttributes": [ # Additional attributes that are less relevant but still related to the audience description. Use these attributes to broaden the audience definition to reach more users.
+    { # An audience attribute, with metadata about it, returned in response to a search.
+      "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+        "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+          "type": "A String", # Type of the age range.
+        },
+        "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+          "categoryId": "A String", # Required. The criterion ID of the category.
+        },
+        "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+          "type": "A String", # Type of the device.
+        },
+        "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+          "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+        },
+        "gender": { # A gender criterion. # An audience attribute defined by a gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # A household income percentile range.
+          "type": "A String", # Type of the income range.
+        },
+        "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+        "location": { # A location criterion. # An audience attribute defined by a geographic location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+          "type": "A String", # Type of the parental status.
+        },
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "dimension": "A String", # The type of the attribute.
+      "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+      "displayName": "A String", # The human-readable name of the attribute.
+      "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+        "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+          "A String",
+        ],
+        "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+          # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+        ],
+      },
+      "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+        "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+        "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+        "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+        "sampleChannels": [ # Examples of channels that are included in the lineup.
+          { # A YouTube channel returned as an example of the content in a lineup.
+            "displayName": "A String", # The name of the sample channel.
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+              "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+            },
+          },
+        ],
+      },
+      "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+        "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      },
+      "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+      "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+        "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+      },
+      "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+        "userListType": "A String", # The user list type.
+      },
+      "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+        "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+      },
+      "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+        "commentsCount": "A String", # The total number of comments.
+        "likesCount": "A String", # The total number of likes.
+        "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+        "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+        "videoProperties": [ # The properties of this video (such as shorts, live stream).
+          "A String",
+        ],
+        "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+        "viewsCount": "A String", # The total number of views.
+      },
+    },
+  ],
+}
+
+ +
+ generateAudienceOverlapInsights(customerId, body=None, x__xgafv=None) +
Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateAudienceOverlapInsights.
+  "countryLocation": { # A location criterion. # Required. The country in which to calculate the sizes and overlaps of audiences.
+    "geoTargetConstant": "A String", # The geo target constant resource name.
+  },
+  "customerInsightsGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "dimensions": [ # Required. The types of attributes of which to calculate the overlap with the primary_attribute. The values must be a subset of AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER.
+    "A String",
+  ],
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "primaryAttribute": { # An audience attribute that can be used to request insights about the audience. # Required. The audience attribute that should be intersected with all other eligible audiences. This must be an Affinity or In-Market UserInterest, an AgeRange or a Gender.
+    "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+      "type": "A String", # Type of the age range.
+    },
+    "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+      "categoryId": "A String", # Required. The criterion ID of the category.
+    },
+    "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+      "type": "A String", # Type of the device.
+    },
+    "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+      "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+    },
+    "gender": { # A gender criterion. # An audience attribute defined by a gender.
+      "type": "A String", # Type of the gender.
+    },
+    "incomeRange": { # An income range criterion. # A household income percentile range.
+      "type": "A String", # Type of the income range.
+    },
+    "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+      "lineupId": "A String", # Required. The numeric ID of the lineup.
+    },
+    "location": { # A location criterion. # An audience attribute defined by a geographic location.
+      "geoTargetConstant": "A String", # The geo target constant resource name.
+    },
+    "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+      "type": "A String", # Type of the parental status.
+    },
+    "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+      "userInterestCategory": "A String", # The UserInterest resource name.
+    },
+    "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+      "userList": "A String", # The User List resource name.
+    },
+    "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+      "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+    },
+    "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+      "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+    },
+  },
+}
+
+  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 AudienceInsightsService.GenerateAudienceOverlapInsights.
+  "dimensionResults": [ # Lists of attributes and their overlap with the primary attribute, one list per requested dimension.
+    { # A list of audience attributes of a single dimension, including their overlap with a primary attribute, returned as part of a GenerateAudienceOverlapInsightsResponse.
+      "dimension": "A String", # The dimension of all the attributes in this section.
+      "items": [ # The attributes and their overlap with the primary attribute.
+        { # An audience attribute, with metadata including the overlap between this attribute's potential YouTube reach and that of a primary attribute.
+          "attributeMetadata": { # An audience attribute, with metadata about it, returned in response to a search. # The attribute and its metadata, including potential YouTube reach.
+            "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+              "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                "type": "A String", # Type of the age range.
+              },
+              "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                "categoryId": "A String", # Required. The criterion ID of the category.
+              },
+              "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                "type": "A String", # Type of the device.
+              },
+              "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+              },
+              "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                "type": "A String", # Type of the gender.
+              },
+              "incomeRange": { # An income range criterion. # A household income percentile range.
+                "type": "A String", # Type of the income range.
+              },
+              "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                "lineupId": "A String", # Required. The numeric ID of the lineup.
+              },
+              "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                "type": "A String", # Type of the parental status.
+              },
+              "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                "userInterestCategory": "A String", # The UserInterest resource name.
+              },
+              "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                "userList": "A String", # The User List resource name.
+              },
+              "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+              },
+              "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+              },
+            },
+            "dimension": "A String", # The type of the attribute.
+            "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+            "displayName": "A String", # The human-readable name of the attribute.
+            "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+              "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+                "A String",
+              ],
+              "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+                # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+              ],
+            },
+            "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+              "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+              "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+              "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+              "sampleChannels": [ # Examples of channels that are included in the lineup.
+                { # A YouTube channel returned as an example of the content in a lineup.
+                  "displayName": "A String", # The name of the sample channel.
+                  "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                    "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                  },
+                  "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                    "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                  },
+                },
+              ],
+            },
+            "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+              "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+            },
+            "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+            "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+            "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+              "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+            },
+            "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+              "userListType": "A String", # The user list type.
+            },
+            "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+            "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+              "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+            },
+            "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+              "commentsCount": "A String", # The total number of comments.
+              "likesCount": "A String", # The total number of likes.
+              "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+              "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+              "videoProperties": [ # The properties of this video (such as shorts, live stream).
+                "A String",
+              ],
+              "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+              "viewsCount": "A String", # The total number of views.
+            },
+          },
+          "potentialYoutubeReachIntersection": "A String", # The estimated size of the intersection of this audience attribute with the primary attribute, that is, the number of reachable YouTube users who match BOTH the primary attribute and this one.
+        },
+      ],
+    },
+  ],
+  "primaryAttributeMetadata": { # An audience attribute, with metadata about it, returned in response to a search. # Metadata for the primary attribute, including potential YouTube reach.
+    "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+      "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+        "type": "A String", # Type of the age range.
+      },
+      "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+        "categoryId": "A String", # Required. The criterion ID of the category.
+      },
+      "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+        "type": "A String", # Type of the device.
+      },
+      "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+        "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+      },
+      "gender": { # A gender criterion. # An audience attribute defined by a gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRange": { # An income range criterion. # A household income percentile range.
+        "type": "A String", # Type of the income range.
+      },
+      "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+        "lineupId": "A String", # Required. The numeric ID of the lineup.
+      },
+      "location": { # A location criterion. # An audience attribute defined by a geographic location.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+      "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+        "type": "A String", # Type of the parental status.
+      },
+      "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+        "userInterestCategory": "A String", # The UserInterest resource name.
+      },
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+        "userList": "A String", # The User List resource name.
+      },
+      "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+      },
+      "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+        "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+      },
+    },
+    "dimension": "A String", # The type of the attribute.
+    "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+    "displayName": "A String", # The human-readable name of the attribute.
+    "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+      "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+        "A String",
+      ],
+      "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+        # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+      ],
+    },
+    "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+      "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+      "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+      "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+      "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+      "sampleChannels": [ # Examples of channels that are included in the lineup.
+        { # A YouTube channel returned as an example of the content in a lineup.
+          "displayName": "A String", # The name of the sample channel.
+          "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+            "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+          },
+        },
+      ],
+    },
+    "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+      "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    },
+    "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+    "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+    "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+      "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+    },
+    "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+      "userListType": "A String", # The user list type.
+    },
+    "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+    "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+      "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+    },
+    "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+      "commentsCount": "A String", # The total number of comments.
+      "likesCount": "A String", # The total number of likes.
+      "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+      "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+      "videoProperties": [ # The properties of this video (such as shorts, live stream).
+        "A String",
+      ],
+      "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+      "viewsCount": "A String", # The total number of views.
+    },
+  },
+}
+
+ +
+ generateBenchmarksMetrics(customerId, body=None, x__xgafv=None) +
Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BenchmarksService.GenerateBenchmarksMetrics.
+  "applicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "benchmarksSource": { # The source used to generate benchmarks metrics for. The ID of the source can be obtained from BenchmarksService.ListBenchmarksSources. # Required. The source used to generate benchmarks metrics for.
+    "industryVerticalId": "A String", # The ID of the Industry Vertical.
+  },
+  "currencyCode": "A String", # Optional. The three-character ISO 4217 currency code. If unspecified, the default currency for monetary values is USD.
+  "customerBenchmarksGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "dateRange": { # A date range. # The date range to aggregate metrics over. If unset, data will be returned for the most recent quarter for which data is available. Dates can be retrieved using BenchmarksService.ListBenchmarksAvailableDates.
+    "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+    "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+  },
+  "location": { # A location criterion. # Required. The location to generate benchmarks metrics for.
+    "geoTargetConstant": "A String", # The geo target constant resource name.
+  },
+  "productFilter": { # The type and list of products to aggregate benchmarks metrics over. # Required. The products to aggregate metrics over. Product filter settings support a list of product IDs or a list of marketing objectives.
+    "marketingObjectiveList": { # The list of marketing objectives to generate benchmarks metrics for. # The list of marketing goals. Marketing objective is a broader product classification of products.
+      "marketingObjectives": [ # Required. Marketing objectives to generate benchmarks metrics for.
+        "A String",
+      ],
+    },
+    "productList": { # The list of products to generate benchmarks metrics for. # The list of products.
+      "productCodes": [ # Required. Products to generate benchmarks metrics for.
+        "A String",
+      ],
+    },
+  },
+}
+
+  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 BenchmarksService.GenerateBenchmarksMetrics.
+  "averageBenchmarksMetrics": { # All metrics returned against a criteria. # Metrics for the selected benchmarks source.
+    "averageRateMetrics": { # Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request. # Average rate metrics calculated by dividing one metric by another.
+      "activeViewViewability": 3.14, # The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).
+      "averageActiveViewCpm": 3.14, # Average cost-per-thousand viewable impressions.
+      "averageCpc": 3.14, # The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received.
+      "averageCpe": 3.14, # The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements.
+      "averageCpi": 3.14, # The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions.
+      "averageCpm": 3.14, # Average cost-per-thousand impressions (CPM).
+      "clickThroughRate": 3.14, # The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
+      "engagementRate": 3.14, # How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.
+      "interactionRate": 3.14, # How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
+      "trueviewAverageCpv": 3.14, # The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views.
+      "trueviewViewRate": 3.14, # Number of completed TrueView views divided by the number of impressions.
+      "videoCompletionP100Rate": 3.14, # Percentage of impressions where the viewer watched all of your video.
+      "videoCompletionP25Rate": 3.14, # Percentage of impressions where the viewer watched 25% of your video.
+      "videoCompletionP50Rate": 3.14, # Percentage of impressions where the viewer watched 50% of your video.
+      "videoCompletionP75Rate": 3.14, # Percentage of impressions where the viewer watched 75% of your video.
+    },
+  },
+  "customerMetrics": { # All metrics returned against a criteria. # Metrics belonging to the customer.
+    "averageRateMetrics": { # Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request. # Average rate metrics calculated by dividing one metric by another.
+      "activeViewViewability": 3.14, # The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).
+      "averageActiveViewCpm": 3.14, # Average cost-per-thousand viewable impressions.
+      "averageCpc": 3.14, # The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received.
+      "averageCpe": 3.14, # The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements.
+      "averageCpi": 3.14, # The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions.
+      "averageCpm": 3.14, # Average cost-per-thousand impressions (CPM).
+      "clickThroughRate": 3.14, # The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
+      "engagementRate": 3.14, # How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.
+      "interactionRate": 3.14, # How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
+      "trueviewAverageCpv": 3.14, # The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views.
+      "trueviewViewRate": 3.14, # Number of completed TrueView views divided by the number of impressions.
+      "videoCompletionP100Rate": 3.14, # Percentage of impressions where the viewer watched all of your video.
+      "videoCompletionP25Rate": 3.14, # Percentage of impressions where the viewer watched 25% of your video.
+      "videoCompletionP50Rate": 3.14, # Percentage of impressions where the viewer watched 50% of your video.
+      "videoCompletionP75Rate": 3.14, # Percentage of impressions where the viewer watched 75% of your video.
+    },
+  },
+}
+
+ +
+ generateInsightsFinderReport(customerId, body=None, x__xgafv=None) +
Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateInsightsFinderReport.
+  "baselineAudience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # Required. A baseline audience for this report, typically all people in a region.
+    "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+      { # An age range criterion.
+        "type": "A String", # Type of the age range.
+      },
+    ],
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+      "type": "A String", # Type of the gender.
+    },
+    "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+      { # An income range criterion.
+        "type": "A String", # Type of the income range.
+      },
+    ],
+    "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+      { # A YouTube Lineup.
+        "lineupId": "A String", # Required. The numeric ID of the lineup.
+      },
+    ],
+    "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+      "type": "A String", # Type of the parental status.
+    },
+    "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+      { # A list of AudienceInsightsAttributes.
+        "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+          { # An audience attribute that can be used to request insights about the audience.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+        ],
+      },
+    ],
+    "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+      "userList": "A String", # The User List resource name.
+    },
+  },
+  "customerInsightsGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "specificAudience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # Required. The specific audience of interest for this report. The insights in the report will be based on attributes more prevalent in this audience than in the report's baseline audience.
+    "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+      { # An age range criterion.
+        "type": "A String", # Type of the age range.
+      },
+    ],
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+      "type": "A String", # Type of the gender.
+    },
+    "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+      { # An income range criterion.
+        "type": "A String", # Type of the income range.
+      },
+    ],
+    "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+      { # A YouTube Lineup.
+        "lineupId": "A String", # Required. The numeric ID of the lineup.
+      },
+    ],
+    "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+      "type": "A String", # Type of the parental status.
+    },
+    "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+      { # A list of AudienceInsightsAttributes.
+        "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+          { # An audience attribute that can be used to request insights about the audience.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+        ],
+      },
+    ],
+    "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+      "userList": "A String", # The User List resource name.
+    },
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for AudienceInsightsService.GenerateInsightsFinderReport, containing the shareable URL for the report.
+  "savedReportUrl": "A String", # An HTTPS URL providing a deep link into the Insights Finder UI with the report inputs filled in according to the request.
+}
+
+ +
+ generateKeywordForecastMetrics(customerId, body=None, x__xgafv=None) +
Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
+  "campaign": { # A campaign to do a keyword campaign forecast. # Required. The campaign used in the forecast.
+    "adGroups": [ # The ad groups in the new campaign to forecast.
+      { # An ad group that is part of a campaign to be forecasted.
+        "biddableKeywords": [ # Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword.
+          { # A biddable keyword part of an ad group.
+            "keyword": { # A keyword criterion. # Required. Keyword. Must have text and match type.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "maxCpcBidMicros": "A String", # A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values.
+          },
+        ],
+        "maxCpcBidMicros": "A String", # The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values.
+        "negativeKeywords": [ # The details of the keyword. You should specify both the keyword text and match type.
+          { # A keyword criterion.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        ],
+      },
+    ],
+    "biddingStrategy": { # Supported bidding strategies for new campaign forecasts. # Required. The bidding strategy for the campaign.
+      "manualCpcBiddingStrategy": { # Manual CPC Bidding Strategy. # Use manual CPC bidding strategy for forecasting.
+        "dailyBudgetMicros": "A String", # Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
+        "maxCpcBidMicros": "A String", # Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy.
+      },
+      "maximizeClicksBiddingStrategy": { # Maximize Clicks Bidding Strategy. # Use maximize clicks bidding strategy for forecasting.
+        "dailyTargetSpendMicros": "A String", # Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.
+        "maxCpcBidCeilingMicros": "A String", # Ceiling on max CPC bids in micros.
+      },
+      "maximizeConversionsBiddingStrategy": { # Maximize Conversions Bidding Strategy. # Use maximize conversions bidding strategy for forecasting.
+        "dailyTargetSpendMicros": "A String", # Required. The daily target spend in micros to be used for estimation. This value must be greater than zero.
+      },
+    },
+    "conversionRate": 3.14, # The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used.
+    "geoModifiers": [ # Locations to be targeted. Locations must be unique.
+      { # Location Criterion bid modifier.
+        "bidModifier": 3.14, # The associated multiplier for the criterion_id. If set, this value cannot be 0.
+        "geoTargetConstant": "A String", # The resource name of the geo location to target. The resource name is of the format "geoTargetConstants/{criterion_id}".
+      },
+    ],
+    "keywordPlanNetwork": "A String", # Required. The network used for targeting.
+    "languageConstants": [ # The list of resource names of languages to be targeted. The resource name is of the format "languageConstants/{criterion_id}". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes.
+      "A String",
+    ],
+    "negativeKeywords": [ # The list of negative keywords to be used in the campaign when doing the forecast.
+      { # A keyword criterion.
+        "matchType": "A String", # The match type of the keyword.
+        "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+      },
+    ],
+  },
+  "currencyCode": "A String", # The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes.
+  "forecastPeriod": { # A date range. # The date range for the forecast. The start date must be in the future and end date must be within 1 year from today. The reference timezone used is the one of the Google Ads account belonging to the customer. If not set, a default date range from next Sunday to the following Saturday will be used.
+    "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+    "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+  },
+}
+
+  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 KeywordPlanIdeaService.GenerateKeywordForecastMetrics.
+  "campaignForecastMetrics": { # The forecast metrics for the planless keyword campaign. # Results of the campaign forecast.
+    "averageCpaMicros": "A String", # Average cost per acquisition calculated as cost_micros / conversions.
+    "averageCpcMicros": "A String", # The average cpc. Available only if clicks > 0.
+    "clickThroughRate": 3.14, # The average click through rate. Available only if impressions > 0.
+    "clicks": 3.14, # The total number of clicks.
+    "conversionRate": 3.14, # Forecasted conversion rate.
+    "conversions": 3.14, # Forecasted number of conversions: clicks * conversion_rate.
+    "costMicros": "A String", # The total cost.
+    "impressions": 3.14, # The total number of impressions.
+  },
+}
+
+ +
+ generateKeywordHistoricalMetrics(customerId, body=None, x__xgafv=None) +
Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, The ID of the customer with the recommendation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.
+  "aggregateMetrics": { # The aggregate metrics specification of the request. # The aggregate fields to include in response.
+    "aggregateMetricTypes": [ # The list of aggregate metrics to fetch data.
+      "A String",
+    ],
+  },
+  "geoTargetConstants": [ # The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.
+    "A String",
+  ],
+  "historicalMetricsOptions": { # Historical metrics options. # The options for historical metrics data.
+    "includeAverageCpc": True or False, # Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.
+    "yearMonthRange": { # The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). # The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned.
+      "end": { # Year month. # The inclusive end year month.
+        "month": "A String", # The month of the year. (for example, FEBRUARY).
+        "year": "A String", # The year (for example, 2020).
+      },
+      "start": { # Year month. # The inclusive start year month.
+        "month": "A String", # The month of the year. (for example, FEBRUARY).
+        "year": "A String", # The year (for example, 2020).
+      },
+    },
+  },
+  "includeAdultKeywords": True or False, # If true, adult keywords will be included in response. The default value is false.
+  "keywordPlanNetwork": "A String", # Targeting network. If not set, Google Search And Partners Network will be used.
+  "keywords": [ # A list of keywords to get historical metrics. Not all inputs will be returned as a result of near-exact deduplication. For example, if stats for "car" and "cars" are requested, only "car" will be returned. A maximum of 10,000 keywords can be used.
+    "A String",
+  ],
+  "language": "A String", # The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.
+}
+
+  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 KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.
+  "aggregateMetricResults": { # The aggregated historical metrics for keyword plan keywords. # The aggregate metrics for all keywords.
+    "deviceSearches": [ # The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request.
+      { # The total searches for the device type during the specified time period.
+        "device": "A String", # The device type.
+        "searchCount": "A String", # The total searches for the device.
+      },
+    ],
+  },
+  "results": [ # List of keywords and their historical metrics.
+    { # The result of generating keyword historical metrics.
+      "closeVariants": [ # The list of close variants from the requested keywords whose stats are combined into this GenerateKeywordHistoricalMetricsResult.
+        "A String",
+      ],
+      "keywordMetrics": { # Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details. # The historical metrics for text and its close variants
+        "averageCpcMicros": "A String", # Average Cost Per Click in micros for the keyword.
+        "avgMonthlySearches": "A String", # Approximate number of monthly searches on this query, averaged for the past 12 months.
+        "competition": "A String", # The competition level for the query.
+        "competitionIndex": "A String", # The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned.
+        "highTopOfPageBidMicros": "A String", # Top of page bid high range (80th percentile) in micros for the keyword.
+        "lowTopOfPageBidMicros": "A String", # Top of page bid low range (20th percentile) in micros for the keyword.
+        "monthlySearchVolumes": [ # Approximate number of searches on this query for the past twelve months.
+          { # Monthly search volume.
+            "month": "A String", # The month of the search volume.
+            "monthlySearches": "A String", # Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month.
+            "year": "A String", # The year of the search volume (for example, 2020).
+          },
+        ],
+      },
+      "text": "A String", # The text of the query associated with one or more keywords. Note that we de-dupe your keywords list, eliminating close variants before returning the keywords as text. For example, if your request originally contained the keywords "car" and "cars", the returned search query will only contain "cars". The list of de-duped queries will be included in close_variants field.
+    },
+  ],
+}
+
+ +
+ generateKeywordIdeas(customerId, body=None, x__xgafv=None) +
Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, The ID of the customer with the recommendation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanIdeaService.GenerateKeywordIdeas.
+  "aggregateMetrics": { # The aggregate metrics specification of the request. # The aggregate fields to include in response.
+    "aggregateMetricTypes": [ # The list of aggregate metrics to fetch data.
+      "A String",
+    ],
+  },
+  "geoTargetConstants": [ # The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.
+    "A String",
+  ],
+  "historicalMetricsOptions": { # Historical metrics options. # The options for historical metrics data.
+    "includeAverageCpc": True or False, # Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.
+    "yearMonthRange": { # The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). # The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned.
+      "end": { # Year month. # The inclusive end year month.
+        "month": "A String", # The month of the year. (for example, FEBRUARY).
+        "year": "A String", # The year (for example, 2020).
+      },
+      "start": { # Year month. # The inclusive start year month.
+        "month": "A String", # The month of the year. (for example, FEBRUARY).
+        "year": "A String", # The year (for example, 2020).
+      },
+    },
+  },
+  "includeAdultKeywords": True or False, # If true, adult keywords will be included in response. The default value is false.
+  "keywordAndUrlSeed": { # Keyword And Url Seed # A Keyword and a specific Url to generate ideas from for example, cars, www.example.com/cars.
+    "keywords": [ # Requires at least one keyword and no more than 20 keywords.
+      "A String",
+    ],
+    "url": "A String", # The URL to crawl in order to generate keyword ideas.
+  },
+  "keywordAnnotation": [ # The keyword annotations to include in response.
+    "A String",
+  ],
+  "keywordPlanNetwork": "A String", # Targeting network. If not set, Google Search And Partners Network will be used.
+  "keywordSeed": { # Keyword Seed # A Keyword or phrase to generate ideas from, for example, cars.
+    "keywords": [ # Requires at least one keyword and no more than 20 keywords.
+      "A String",
+    ],
+  },
+  "language": "A String", # The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.
+  "pageSize": 42, # Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results.
+  "pageToken": "A String", # Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages.
+  "siteSeed": { # Site Seed # The site to generate ideas from, for example, www.example.com.
+    "site": "A String", # The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned.
+  },
+  "urlSeed": { # Url Seed # A specific url to generate ideas from, for example, www.example.com/cars.
+    "url": "A String", # The URL to crawl in order to generate keyword ideas.
+  },
+}
+
+  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 KeywordPlanIdeaService.GenerateKeywordIdeas.
+  "aggregateMetricResults": { # The aggregated historical metrics for keyword plan keywords. # The aggregate metrics for all keyword ideas.
+    "deviceSearches": [ # The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request.
+      { # The total searches for the device type during the specified time period.
+        "device": "A String", # The device type.
+        "searchCount": "A String", # The total searches for the device.
+      },
+    ],
+  },
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+  "results": [ # Results of generating keyword ideas.
+    { # The result of generating keyword ideas.
+      "closeVariants": [ # The list of close variants from the requested keywords that are combined into this GenerateKeywordIdeaResult. See https://support.google.com/google-ads/answer/9342105 for the definition of "close variants".
+        "A String",
+      ],
+      "keywordAnnotations": { # The annotations for the keyword plan keywords. # The annotations for the keyword. The annotation data is only provided if requested.
+        "concepts": [ # The list of concepts for the keyword.
+          { # The concept for the keyword.
+            "conceptGroup": { # The concept group for the keyword concept. # The concept group of the concept details.
+              "name": "A String", # The concept group name.
+              "type": "A String", # The concept group type.
+            },
+            "name": "A String", # The concept name for the keyword in the concept_group.
+          },
+        ],
+      },
+      "keywordIdeaMetrics": { # Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details. # The historical metrics for the keyword.
+        "averageCpcMicros": "A String", # Average Cost Per Click in micros for the keyword.
+        "avgMonthlySearches": "A String", # Approximate number of monthly searches on this query, averaged for the past 12 months.
+        "competition": "A String", # The competition level for the query.
+        "competitionIndex": "A String", # The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned.
+        "highTopOfPageBidMicros": "A String", # Top of page bid high range (80th percentile) in micros for the keyword.
+        "lowTopOfPageBidMicros": "A String", # Top of page bid low range (20th percentile) in micros for the keyword.
+        "monthlySearchVolumes": [ # Approximate number of searches on this query for the past twelve months.
+          { # Monthly search volume.
+            "month": "A String", # The month of the search volume.
+            "monthlySearches": "A String", # Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month.
+            "year": "A String", # The year of the search volume (for example, 2020).
+          },
+        ],
+      },
+      "text": "A String", # Text of the keyword idea. As in Keyword Plan historical metrics, this text may not be an actual keyword, but the canonical form of multiple keywords. See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+    },
+  ],
+  "totalSize": "A String", # Total number of results available.
+}
+
+ +
+ generateKeywordIdeas_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.
+        
+
+ +
+ generateReachForecast(customerId, body=None, x__xgafv=None) +
Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachPlanService.GenerateReachForecast.
+  "campaignDuration": { # The duration of a planned campaign. # Required. Campaign duration.
+    "dateRange": { # A date range. # Date range of the campaign. Dates are in the yyyy-mm-dd format and inclusive. The end date must be < 1 year in the future and the date range must be <= 92 days long. This field cannot be combined with the duration_in_days field.
+      "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+      "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+    },
+    "durationInDays": 42, # The duration value in days. This field cannot be combined with the date_range field.
+  },
+  "cookieFrequencyCap": 42, # Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user. If not specified, no cap is applied. This field is deprecated in v4 and will eventually be removed. Use cookie_frequency_cap_setting instead.
+  "cookieFrequencyCapSetting": { # A rule specifying the maximum number of times an ad can be shown to a user over a particular time period. # Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user during a specified time interval. If not specified, a default of 0 (no cap) is applied. This field replaces the deprecated cookie_frequency_cap field.
+    "impressions": 42, # Required. The number of impressions, inclusive.
+    "timeUnit": "A String", # Required. The type of time unit.
+  },
+  "currencyCode": "A String", # The currency code. Three-character ISO 4217 currency code.
+  "customerReachGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "effectiveFrequencyLimit": { # Effective frequency limit. # The highest minimum effective frequency (the number of times a person was exposed to the ad) value [1-10] to include in Forecast.effective_frequency_breakdowns. If not specified, Forecast.effective_frequency_breakdowns will not be provided. The effective frequency value provided here will also be used as the minimum effective frequency for the reported reach metrics. This field cannot be combined with the min_effective_frequency field.
+    "effectiveFrequencyBreakdownLimit": 42, # The highest effective frequency value to include in Forecast.effective_frequency_breakdowns. This field supports frequencies 1-10, inclusive.
+  },
+  "forecastMetricOptions": { # Controls forecast metrics to return. # Controls the forecast metrics returned in the response.
+    "includeCoview": True or False, # Indicates whether to include co-view metrics in the response forecast.
+  },
+  "minEffectiveFrequency": 42, # Chosen minimum effective frequency (the number of times a person was exposed to the ad) for the reported reach metrics [1-10]. This won't affect the targeting, but just the reporting. If not specified, a default of 1 is applied. This field cannot be combined with the effective_frequency_limit field.
+  "plannedProducts": [ # Required. The products to be forecast. The max number of allowed planned products is 15.
+    { # A product being planned for reach.
+      "advancedProductTargeting": { # Advanced targeting settings for products. # Targeting settings for the selected product. To list the available targeting for each product use ReachPlanService.ListPlannableProducts.
+        "surfaceTargetingSettings": { # Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts. # Surface targeting settings for this product.
+          "surfaces": [ # List of surfaces available to target.
+            "A String",
+          ],
+        },
+        "targetFrequencySettings": { # Target Frequency settings for a supported product. # Settings for a Target frequency campaign. Must be set when selecting the TARGET_FREQUENCY product. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.
+          "targetFrequency": 42, # Required. The target frequency goal per selected time unit.
+          "timeUnit": "A String", # Required. The time unit used to describe the time frame for target_frequency.
+        },
+        "youtubeSelectSettings": { # Request settings for YouTube Select Lineups # Settings for YouTube Select targeting.
+          "lineupId": "A String", # Lineup for YouTube Select Targeting.
+        },
+      },
+      "budgetMicros": "A String", # Required. Maximum budget allocation in micros for the selected product. The value is specified in the selected planning currency_code. For example: 1 000 000$ = 1 000 000 000 000 micros.
+      "conversionRate": 3.14, # Conversion rate as a decimal between 0 and 1, exclusive. For example: if 2% of ad interactions are expected to lead to conversions, conversion_rate should be 0.02. This field is required for DEMAND_GEN plannable products. It is not supported for other plannable products.
+      "plannableProductCode": "A String", # Required. Selected product for planning. The code associated with the ad product (for example: Trueview, Bumper). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.
+    },
+  ],
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "targeting": { # The targeting for which traffic metrics will be reported. # The targeting to be applied to all products selected in the product mix. This is planned targeting: execution details might vary based on the advertising product, consult an implementation specialist. See specific metrics for details on how targeting affects them.
+    "ageRange": "A String", # Targeted age range. An unset value is equivalent to targeting all ages.
+    "audienceTargeting": { # Audience targeting for reach forecast. # Targeted audiences. If not specified, does not target any specific audience.
+      "userInterest": [ # List of audiences based on user interests to be targeted.
+        { # Represents a particular interest-based topic to be targeted.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+      ],
+      "userLists": [ # List of audiences based on user lists to be targeted.
+        { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted.
+          "userList": "A String", # The User List resource name.
+        },
+      ],
+    },
+    "devices": [ # Targeted devices. If not specified, targets all applicable devices. Applicable devices vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.
+      { # A device criterion.
+        "type": "A String", # Type of the device.
+      },
+    ],
+    "genders": [ # Targeted genders. An unset value is equivalent to targeting MALE and FEMALE.
+      { # A gender criterion.
+        "type": "A String", # Type of the gender.
+      },
+    ],
+    "network": "A String", # Targetable network for the ad product. If not specified, targets all applicable networks. Applicable networks vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.
+    "plannableLocationId": "A String", # The ID of the selected location. Plannable location IDs can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_ids`. This field is deprecated as of V12 and will be removed in a future release. Use `plannable_location_ids` instead.
+    "plannableLocationIds": [ # The list of plannable location IDs to target with this forecast. If more than one ID is provided, all IDs must have the same `parent_country_id`. Planning for more than `parent_county` is not supported. Plannable location IDs and their `parent_country_id` can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_id`.
+      "A String",
+    ],
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message containing the generated reach curve.
+  "onTargetAudienceMetrics": { # Audience metrics for the planned products. These metrics consider the following targeting dimensions: - Location - PlannableAgeRange - Gender - AudienceTargeting (only for youtube_audience_size) # Reference on target audiences for this curve.
+    "censusAudienceSize": "A String", # Reference audience size matching the considered targeting for Census.
+    "youtubeAudienceSize": "A String", # Reference audience size matching the considered targeting for YouTube.
+  },
+  "reachCurve": { # The reach curve for the planned products. # The generated reach curve for the planned product mix.
+    "reachForecasts": [ # All points on the reach curve.
+      { # A point on reach curve.
+        "costMicros": "A String", # The cost in micros.
+        "forecast": { # Forecasted traffic metrics for the planned products and targeting. # Forecasted traffic metrics for this point.
+          "conversions": 3.14, # The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.
+          "effectiveFrequencyBreakdowns": [ # A list of effective frequency forecasts. The list is ordered starting with 1+ and ending with the value set in GenerateReachForecastRequest.effective_frequency_limit. If no effective_frequency_limit was set, this list will be empty.
+            { # A breakdown of the number of unique people reached at a given effective frequency.
+              "effectiveCoviewReach": "A String", # The number of users (including co-viewing users) reached for the associated effective_frequency value.
+              "effectiveFrequency": 42, # The effective frequency [1-10].
+              "onTargetEffectiveCoviewReach": "A String", # The number of users (including co-viewing users) reached for the associated effective_frequency value within the specified plan demographic.
+              "onTargetReach": "A String", # The number of unique people reached at least effective_frequency times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
+              "totalReach": "A String", # Total number of unique people reached at least effective_frequency times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
+            },
+          ],
+          "onTargetCoviewImpressions": "A String", # Number of ad impressions that exactly matches the Targeting including co-viewers.
+          "onTargetCoviewReach": "A String", # Number of unique people reached that exactly matches the Targeting including co-viewers.
+          "onTargetImpressions": "A String", # Number of ad impressions that exactly matches the Targeting.
+          "onTargetReach": "A String", # Number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
+          "totalCoviewImpressions": "A String", # Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
+          "totalCoviewReach": "A String", # Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.
+          "totalImpressions": "A String", # Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
+          "totalReach": "A String", # Total number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
+          "trueviewViews": "A String", # Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.
+          "viewableImpressions": "A String", # Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.
+        },
+        "plannedProductReachForecasts": [ # The forecasted allocation and traffic metrics for each planned product at this point on the reach curve.
+          { # The forecasted allocation and traffic metrics for a specific product at a point on the reach curve.
+            "costMicros": "A String", # The cost in micros. This may differ from the product's input allocation if one or more planned products cannot fulfill the budget because of limited inventory.
+            "plannableProductCode": "A String", # Selected product for planning. The product codes returned are within the set of the ones returned by ListPlannableProducts when using the same location ID.
+            "plannedProductForecast": { # Forecasted traffic metrics for a planned product. # Forecasted traffic metrics for this product.
+              "averageFrequency": 3.14, # The number of times per selected time unit a user will see an ad, averaged over the number of time units in the forecast length. This field will only be populated for a Target Frequency campaign. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.
+              "conversions": 3.14, # The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.
+              "onTargetCoviewImpressions": "A String", # Number of ad impressions that exactly matches the Targeting including co-viewers.
+              "onTargetCoviewReach": "A String", # Number of unique people reached that exactly matches the Targeting including co-viewers.
+              "onTargetImpressions": "A String", # Number of ad impressions that exactly matches the Targeting.
+              "onTargetReach": "A String", # Number of unique people reached that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.
+              "totalCoviewImpressions": "A String", # Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
+              "totalCoviewReach": "A String", # Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.
+              "totalImpressions": "A String", # Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.
+              "totalReach": "A String", # Number of unique people reached. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.
+              "trueviewViews": "A String", # Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.
+              "viewableImpressions": "A String", # Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.
+            },
+          },
+        ],
+      },
+    ],
+  },
+}
+
+ +
+ generateSuggestedTargetingInsights(customerId, body=None, x__xgafv=None) +
Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateSuggestedTargetingInsights.
+  "audienceDefinition": { # A structured definition of the audience of interest for which insights are being requested in AudienceInsightsService. # Provide a seed audience to get suggestions for.
+    "audience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # Required. The audience of interest for which insights are being requested.
+      "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+        { # An age range criterion.
+          "type": "A String", # Type of the age range.
+        },
+      ],
+      "countryLocations": [ # Required. The countries for the audience.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+        { # An income range criterion.
+          "type": "A String", # Type of the income range.
+        },
+      ],
+      "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+        { # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+      ],
+      "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+        "type": "A String", # Type of the parental status.
+      },
+      "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+        { # A list of AudienceInsightsAttributes.
+          "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+            { # An audience attribute that can be used to request insights about the audience.
+              "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                "type": "A String", # Type of the age range.
+              },
+              "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                "categoryId": "A String", # Required. The criterion ID of the category.
+              },
+              "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                "type": "A String", # Type of the device.
+              },
+              "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+              },
+              "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                "type": "A String", # Type of the gender.
+              },
+              "incomeRange": { # An income range criterion. # A household income percentile range.
+                "type": "A String", # Type of the income range.
+              },
+              "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                "lineupId": "A String", # Required. The numeric ID of the lineup.
+              },
+              "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                "type": "A String", # Type of the parental status.
+              },
+              "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                "userInterestCategory": "A String", # The UserInterest resource name.
+              },
+              "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                "userList": "A String", # The User List resource name.
+              },
+              "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+              },
+              "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+              },
+            },
+          ],
+        },
+      ],
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+        "userList": "A String", # The User List resource name.
+      },
+    },
+    "baselineAudience": { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. # Optional. The baseline audience. The default, if unspecified, is all people in the same country as the audience of interest.
+      "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+        { # An age range criterion.
+          "type": "A String", # Type of the age range.
+        },
+      ],
+      "countryLocations": [ # Required. The countries for the audience.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+        { # An income range criterion.
+          "type": "A String", # Type of the income range.
+        },
+      ],
+      "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+        { # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+      ],
+      "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+        "type": "A String", # Type of the parental status.
+      },
+      "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+        { # A list of AudienceInsightsAttributes.
+          "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+            { # An audience attribute that can be used to request insights about the audience.
+              "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                "type": "A String", # Type of the age range.
+              },
+              "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                "categoryId": "A String", # Required. The criterion ID of the category.
+              },
+              "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                "type": "A String", # Type of the device.
+              },
+              "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+              },
+              "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                "type": "A String", # Type of the gender.
+              },
+              "incomeRange": { # An income range criterion. # A household income percentile range.
+                "type": "A String", # Type of the income range.
+              },
+              "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                "lineupId": "A String", # Required. The numeric ID of the lineup.
+              },
+              "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                "type": "A String", # Type of the parental status.
+              },
+              "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                "userInterestCategory": "A String", # The UserInterest resource name.
+              },
+              "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                "userList": "A String", # The User List resource name.
+              },
+              "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+              },
+              "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+              },
+            },
+          ],
+        },
+      ],
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+        "userList": "A String", # The User List resource name.
+      },
+    },
+    "dataMonth": "A String", # Optional. The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data.
+  },
+  "audienceDescription": { # A text description of the audience of interest for which insights are being requested in AudienceInsightsService. # Provide a text description of an audience to get AI-generated targeting suggestions. This can take around 5 or more seconds to complete.
+    "audienceDescription": "A String", # Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, "Women in their 30s who love to travel".
+    "audienceDimensions": { # A collection of dimensions to be used for generating insights. # Optional. An optional list of audience dimensions to return.
+      "dimensions": [ # Required. A list of dimensions.
+        "A String",
+      ],
+    },
+    "countryLocations": [ # Required. The countries for the audience.
+      { # A location criterion.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+    ],
+    "marketingObjective": "A String", # Optional. An optional marketing objective which will influence the type of suggestions produced.
+  },
+  "customerInsightsGroup": "A String", # Optional. The name of the customer being planned for. This is a user-defined value.
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 AudienceInsightsService.GenerateSuggestedTargetingInsights.
+  "suggestions": [ # Suggested insights for targetable audiences.
+    { # A suggested targetable audience relevant to the requested audience.
+      "ageRanges": [ # Suggested age targeting; may be empty indicating no age targeting.
+        { # An age range criterion.
+          "type": "A String", # Type of the age range.
+        },
+      ],
+      "coverage": 3.14, # The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting.
+      "gender": { # A gender criterion. # Suggested gender targeting. If present, this attribute has dimension GENDER.
+        "type": "A String", # Type of the gender.
+      },
+      "index": 3.14, # The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful.
+      "locations": [ # Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION
+        { # An audience attribute, with metadata about it, returned in response to a search.
+          "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "dimension": "A String", # The type of the attribute.
+          "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+          "displayName": "A String", # The human-readable name of the attribute.
+          "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+            "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+              "A String",
+            ],
+            "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+              # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+            ],
+          },
+          "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+            "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+            "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+            "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+            "sampleChannels": [ # Examples of channels that are included in the lineup.
+              { # A YouTube channel returned as an example of the content in a lineup.
+                "displayName": "A String", # The name of the sample channel.
+                "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                  "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                },
+                "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                  "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                },
+              },
+            ],
+          },
+          "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+            "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+          },
+          "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+          "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+          "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+            "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+          },
+          "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+            "userListType": "A String", # The user list type.
+          },
+          "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+          "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+            "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+          },
+          "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+            "commentsCount": "A String", # The total number of comments.
+            "likesCount": "A String", # The total number of likes.
+            "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+            "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+            "videoProperties": [ # The properties of this video (such as shorts, live stream).
+              "A String",
+            ],
+            "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+            "viewsCount": "A String", # The total number of views.
+          },
+        },
+      ],
+      "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+        "type": "A String", # Type of the parental status.
+      },
+      "potentialYoutubeReach": "A String", # The approximate estimated number of people that can be reached on YouTube using this targeting.
+      "userInterests": [ # List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed.
+        { # A group of audience attributes with metadata, returned in response to a search.
+          "attributes": [ # Attributes with metadata returned in response to a search.
+            { # An audience attribute, with metadata about it, returned in response to a search.
+              "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+                "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                  "type": "A String", # Type of the age range.
+                },
+                "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                  "categoryId": "A String", # Required. The criterion ID of the category.
+                },
+                "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                  "type": "A String", # Type of the device.
+                },
+                "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                  "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+                },
+                "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                  "type": "A String", # Type of the gender.
+                },
+                "incomeRange": { # An income range criterion. # A household income percentile range.
+                  "type": "A String", # Type of the income range.
+                },
+                "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                  "lineupId": "A String", # Required. The numeric ID of the lineup.
+                },
+                "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+                "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                  "type": "A String", # Type of the parental status.
+                },
+                "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                  "userInterestCategory": "A String", # The UserInterest resource name.
+                },
+                "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                  "userList": "A String", # The User List resource name.
+                },
+                "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                  "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                },
+                "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                  "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+                },
+              },
+              "dimension": "A String", # The type of the attribute.
+              "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+              "displayName": "A String", # The human-readable name of the attribute.
+              "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+                "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+                  "A String",
+                ],
+                "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+                  # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+                ],
+              },
+              "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+                "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+                "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+                "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+                "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+                "sampleChannels": [ # Examples of channels that are included in the lineup.
+                  { # A YouTube channel returned as an example of the content in a lineup.
+                    "displayName": "A String", # The name of the sample channel.
+                    "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                      "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                    },
+                    "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                      "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                    },
+                  },
+                ],
+              },
+              "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+                "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+              },
+              "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+              "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+              "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+                "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+              },
+              "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+                "userListType": "A String", # The user list type.
+              },
+              "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+              "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+                "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+              },
+              "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+                "commentsCount": "A String", # The total number of comments.
+                "likesCount": "A String", # The total number of likes.
+                "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+                "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+                "videoProperties": [ # The properties of this video (such as shorts, live stream).
+                  "A String",
+                ],
+                "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+                "viewsCount": "A String", # The total number of views.
+              },
+            },
+          ],
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ generateTargetingSuggestionMetrics(customerId, body=None, x__xgafv=None) +
Returns potential reach metrics for targetable audiences. This method helps answer questions like "How many Men aged 18+ interested in Camping can be reached on YouTube?" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.
+  "audiences": [ # Required. Audiences to request metrics for.
+    { # A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService.
+      "ageRanges": [ # Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.
+        { # An age range criterion.
+          "type": "A String", # Type of the age range.
+        },
+      ],
+      "countryLocations": [ # Required. The countries for the audience.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "gender": { # A gender criterion. # Gender for the audience. If absent, the audience does not restrict by gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRanges": [ # Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.
+        { # An income range criterion.
+          "type": "A String", # Type of the income range.
+        },
+      ],
+      "lineups": [ # Lineups representing the YouTube content viewed by the audience.
+        { # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+      ],
+      "parentalStatus": { # A parental status criterion. # Parental status for the audience. If absent, the audience does not restrict by parental status.
+        "type": "A String", # Type of the parental status.
+      },
+      "subCountryLocations": [ # Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+      "topicAudienceCombinations": [ # A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.
+        { # A list of AudienceInsightsAttributes.
+          "attributes": [ # Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.
+            { # An audience attribute that can be used to request insights about the audience.
+              "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                "type": "A String", # Type of the age range.
+              },
+              "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                "categoryId": "A String", # Required. The criterion ID of the category.
+              },
+              "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                "type": "A String", # Type of the device.
+              },
+              "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+              },
+              "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                "type": "A String", # Type of the gender.
+              },
+              "incomeRange": { # An income range criterion. # A household income percentile range.
+                "type": "A String", # Type of the income range.
+              },
+              "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                "lineupId": "A String", # Required. The numeric ID of the lineup.
+              },
+              "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                "geoTargetConstant": "A String", # The geo target constant resource name.
+              },
+              "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                "type": "A String", # Type of the parental status.
+              },
+              "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                "userInterestCategory": "A String", # The UserInterest resource name.
+              },
+              "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                "userList": "A String", # The User List resource name.
+              },
+              "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+              },
+              "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+              },
+            },
+          ],
+        },
+      ],
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # User list to be targeted by the audience.
+        "userList": "A String", # The User List resource name.
+      },
+    },
+  ],
+  "customerInsightsGroup": "A String", # Optional. The name of the customer being planned for. This is a user-defined value.
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 AudienceInsightsService.GenerateTargetingSuggestionMetrics.
+  "suggestions": [ # Suggested targetable audiences. There will be one suggestion for each GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the order requested.
+    { # A suggested targetable audience relevant to the requested audience.
+      "ageRanges": [ # Suggested age targeting; may be empty indicating no age targeting.
+        { # An age range criterion.
+          "type": "A String", # Type of the age range.
+        },
+      ],
+      "coverage": 3.14, # The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting.
+      "gender": { # A gender criterion. # Suggested gender targeting. If present, this attribute has dimension GENDER.
+        "type": "A String", # Type of the gender.
+      },
+      "index": 3.14, # The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful.
+      "locations": [ # Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION
+        { # An audience attribute, with metadata about it, returned in response to a search.
+          "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+            "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+              "type": "A String", # Type of the age range.
+            },
+            "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+              "categoryId": "A String", # Required. The criterion ID of the category.
+            },
+            "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+              "type": "A String", # Type of the device.
+            },
+            "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+              "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+            },
+            "gender": { # A gender criterion. # An audience attribute defined by a gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # A household income percentile range.
+              "type": "A String", # Type of the income range.
+            },
+            "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+              "lineupId": "A String", # Required. The numeric ID of the lineup.
+            },
+            "location": { # A location criterion. # An audience attribute defined by a geographic location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+              "type": "A String", # Type of the parental status.
+            },
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "dimension": "A String", # The type of the attribute.
+          "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+          "displayName": "A String", # The human-readable name of the attribute.
+          "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+            "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+              "A String",
+            ],
+            "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+              # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+            ],
+          },
+          "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+            "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+            "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+            "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+            "sampleChannels": [ # Examples of channels that are included in the lineup.
+              { # A YouTube channel returned as an example of the content in a lineup.
+                "displayName": "A String", # The name of the sample channel.
+                "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                  "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                },
+                "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                  "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                },
+              },
+            ],
+          },
+          "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+            "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+          },
+          "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+          "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+          "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+            "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+          },
+          "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+            "userListType": "A String", # The user list type.
+          },
+          "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+          "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+            "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+          },
+          "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+            "commentsCount": "A String", # The total number of comments.
+            "likesCount": "A String", # The total number of likes.
+            "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+            "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+            "videoProperties": [ # The properties of this video (such as shorts, live stream).
+              "A String",
+            ],
+            "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+            "viewsCount": "A String", # The total number of views.
+          },
+        },
+      ],
+      "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+        "type": "A String", # Type of the parental status.
+      },
+      "potentialYoutubeReach": "A String", # The approximate estimated number of people that can be reached on YouTube using this targeting.
+      "userInterests": [ # List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed.
+        { # A group of audience attributes with metadata, returned in response to a search.
+          "attributes": [ # Attributes with metadata returned in response to a search.
+            { # An audience attribute, with metadata about it, returned in response to a search.
+              "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+                "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+                  "type": "A String", # Type of the age range.
+                },
+                "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+                  "categoryId": "A String", # Required. The criterion ID of the category.
+                },
+                "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+                  "type": "A String", # Type of the device.
+                },
+                "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+                  "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+                },
+                "gender": { # A gender criterion. # An audience attribute defined by a gender.
+                  "type": "A String", # Type of the gender.
+                },
+                "incomeRange": { # An income range criterion. # A household income percentile range.
+                  "type": "A String", # Type of the income range.
+                },
+                "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+                  "lineupId": "A String", # Required. The numeric ID of the lineup.
+                },
+                "location": { # A location criterion. # An audience attribute defined by a geographic location.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+                "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+                  "type": "A String", # Type of the parental status.
+                },
+                "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+                  "userInterestCategory": "A String", # The UserInterest resource name.
+                },
+                "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+                  "userList": "A String", # The User List resource name.
+                },
+                "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                  "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                },
+                "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+                  "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+                },
+              },
+              "dimension": "A String", # The type of the attribute.
+              "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+              "displayName": "A String", # The human-readable name of the attribute.
+              "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+                "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+                  "A String",
+                ],
+                "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+                  # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+                ],
+              },
+              "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+                "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+                "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+                "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+                "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+                "sampleChannels": [ # Examples of channels that are included in the lineup.
+                  { # A YouTube channel returned as an example of the content in a lineup.
+                    "displayName": "A String", # The name of the sample channel.
+                    "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+                      "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+                    },
+                    "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+                      "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+                    },
+                  },
+                ],
+              },
+              "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+                "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+                  "geoTargetConstant": "A String", # The geo target constant resource name.
+                },
+              },
+              "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+              "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+              "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+                "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+              },
+              "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+                "userListType": "A String", # The user list type.
+              },
+              "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+              "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+                "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+              },
+              "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+                "commentsCount": "A String", # The total number of comments.
+                "likesCount": "A String", # The total number of likes.
+                "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+                "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+                "videoProperties": [ # The properties of this video (such as shorts, live stream).
+                  "A String",
+                ],
+                "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+                "viewsCount": "A String", # The total number of views.
+              },
+            },
+          ],
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ getIdentityVerification(customerId, x__xgafv=None) +
Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for whom we are requesting verification information. (required)
+  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 GetIdentityVerification.
+  "identityVerification": [ # List of identity verifications for the customer.
+    { # An identity verification for a customer.
+      "identityVerificationRequirement": { # Information regarding the verification requirement for a verification program type. # The verification requirement for this verification program for this customer.
+        "verificationCompletionDeadlineTime": "A String", # The deadline to submit verification.
+        "verificationStartDeadlineTime": "A String", # The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format.
+      },
+      "verificationProgram": "A String", # The verification program type.
+      "verificationProgress": { # Information regarding the verification progress for a verification program type. # Information regarding progress for this verification program for this customer.
+        "actionUrl": "A String", # Action URL for user to complete verification for the given verification program type.
+        "invitationLinkExpirationTime": "A String", # The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" format.
+        "programStatus": "A String", # Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc)
+      },
+    },
+  ],
+}
+
+ +
+ listAccessibleCustomers(x__xgafv=None) +
Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  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 CustomerService.ListAccessibleCustomers.
+  "resourceNames": [ # Resource name of customers directly accessible by the user authenticating the call.
+    "A String",
+  ],
+}
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for CustomerService.MutateCustomer.
+  "operation": { # A single update on a customer. # Required. The operation to perform on the customer
+    "update": { # A customer. # Mutate operation. Only updates are supported for customer.
+      "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+      "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+      "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+      "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+      "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+      "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+      "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+        "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+        "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+        "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+      },
+      "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+      "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+        "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+        "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+        "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+        "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+        "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+        "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+        "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+      },
+      "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+      "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+        "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+      },
+      "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+      "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+        "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+        "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+        "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+      },
+      "engineId": "A String", # Output only. ID of the account in the external engine account.
+      "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+      "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+      "id": "A String", # Output only. The ID of the customer.
+      "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+      "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+      "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+        "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+          { # Insurance status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+          },
+        ],
+        "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+          { # License status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+          },
+        ],
+      },
+      "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+      "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+      "manager": True or False, # Output only. Whether the customer is a manager.
+      "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+      "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+      "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+      "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+      "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+        "A String",
+      ],
+      "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+        "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+      "status": "A String", # Output only. The status of the customer.
+      "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+      "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+      "testAccount": True or False, # Output only. Whether the customer is a test account.
+      "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+      "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+        "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+          "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+            { # Container for third party Brand Lift integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+            { # Container for third party brand safety integration data for Customer.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+            },
+          ],
+          "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+            { # Container for third party reach integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+            { # Container for third party viewability integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+            },
+          ],
+        },
+      },
+    },
+    "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+  },
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 customer mutate.
+  "result": { # The result for the customer mutate. # Result for the mutate.
+    "customer": { # A customer. # The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+      "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+      "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+      "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+      "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+      "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+      "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+      "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+        "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+        "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+        "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+      },
+      "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+      "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+        "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+        "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+        "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+        "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+        "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+        "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+        "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+      },
+      "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+      "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+        "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+      },
+      "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+      "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+        "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+        "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+        "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+      },
+      "engineId": "A String", # Output only. ID of the account in the external engine account.
+      "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+      "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+      "id": "A String", # Output only. The ID of the customer.
+      "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+      "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+      "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+        "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+          { # Insurance status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+          },
+        ],
+        "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+          { # License status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+          },
+        ],
+      },
+      "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+      "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+      "manager": True or False, # Output only. Whether the customer is a manager.
+      "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+      "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+      "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+      "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+      "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+        "A String",
+      ],
+      "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+        "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+      "status": "A String", # Output only. The status of the customer.
+      "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+      "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+      "testAccount": True or False, # Output only. Whether the customer is a test account.
+      "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+      "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+        "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+          "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+            { # Container for third party Brand Lift integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+            { # Container for third party brand safety integration data for Customer.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+            },
+          ],
+          "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+            { # Container for third party reach integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+            { # Container for third party viewability integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+            },
+          ],
+        },
+      },
+    },
+    "resourceName": "A String", # Returned for successful operations.
+  },
+}
+
+ +
+ removeCampaignAutomaticallyCreatedAsset(customerId, body=None, x__xgafv=None) +
Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose assets are being removed. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.
+  "operations": [ # Required. The list of operations.
+    { # A single operation to remove an automatically created asset from a campaign.
+      "asset": "A String", # Required. The resource name of the asset to remove.
+      "campaign": "A String", # Required. The resource name of the campaign.
+      "fieldType": "A String", # Required. The field type of the asset to remove.
+    },
+  ],
+  "partialFailure": True or False, # Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid.
+}
+
+  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 AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.
+  "partialFailureError": { # 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). # Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the partial failure mode. Returned when all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), RPC level error will be returned. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure.
+    "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.
+  },
+}
+
+ +
+ searchAudienceInsightsAttributes(customerId, body=None, x__xgafv=None) +
Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AudienceInsightsService.ListAudienceInsightsAttributes.
+  "customerInsightsGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "dimensions": [ # Required. The types of attributes to be returned. Supported dimensions are CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .
+    "A String",
+  ],
+  "insightsApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "locationCountryFilters": [ # If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and this field is present, then the SUB_COUNTRY_LOCATION attributes returned will be located in these countries. If this field is absent, then location attributes are not filtered by country. Setting this field when SUB_COUNTRY_LOCATION attributes are not requested will return an error.
+    { # A location criterion.
+      "geoTargetConstant": "A String", # The geo target constant resource name.
+    },
+  ],
+  "queryText": "A String", # Required. A free text query. If the requested dimensions include Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for those dimensions will match or be related to this string. For other dimensions, this field is ignored and all available attributes are returned.
+  "youtubeReachLocation": { # A location criterion. # If present, potential YouTube reach estimates within the specified market will be returned for attributes for which they are available. Reach is only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and IN_MARKET_USER_INTEREST dimensions, and may not be available for every attribute of those dimensions in every market.
+    "geoTargetConstant": "A String", # The geo target constant resource name.
+  },
+}
+
+  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 AudienceInsightsService.ListAudienceInsightsAttributes.
+  "attributes": [ # The attributes matching the search query.
+    { # An audience attribute, with metadata about it, returned in response to a search.
+      "attribute": { # An audience attribute that can be used to request insights about the audience. # The attribute itself.
+        "ageRange": { # An age range criterion. # An audience attribute defined by an age range.
+          "type": "A String", # Type of the age range.
+        },
+        "category": { # A Product and Service category. # An audience attribute defined by interest in a Product & Service category.
+          "categoryId": "A String", # Required. The criterion ID of the category.
+        },
+        "device": { # A device criterion. # A device type. (Mobile, Desktop, Tablet)
+          "type": "A String", # Type of the device.
+        },
+        "entity": { # A Knowledge Graph entity, represented by its machine id. # An audience attribute defined by interest in a topic represented by a Knowledge Graph entity.
+          "knowledgeGraphMachineId": "A String", # Required. The machine ID (mid) of the Knowledge Graph entity.
+        },
+        "gender": { # A gender criterion. # An audience attribute defined by a gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # A household income percentile range.
+          "type": "A String", # Type of the income range.
+        },
+        "lineup": { # A YouTube Lineup. # A YouTube Lineup.
+          "lineupId": "A String", # Required. The numeric ID of the lineup.
+        },
+        "location": { # A location criterion. # An audience attribute defined by a geographic location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # A Parental Status value (parent, or not a parent).
+          "type": "A String", # Type of the parental status.
+        },
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # An Affinity or In-Market audience.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # A User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # A YouTube video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "dimension": "A String", # The type of the attribute.
+      "displayInfo": "A String", # A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear".
+      "displayName": "A String", # The human-readable name of the attribute.
+      "knowledgeGraphAttributeMetadata": { # Metadata associated with a Knowledge Graph Entity attribute. # Special metadata for a Knowledge Graph Entity.
+        "entityCapabilities": [ # The capabilities of the entity used in ContentCreatorInsightsService.
+          "A String",
+        ],
+        "relatedCategories": [ # A list of CATEGORY attributes related to this entity.
+          # Object with schema name: GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata
+        ],
+      },
+      "lineupAttributeMetadata": { # Metadata associated with a Lineup attribute. # Special metadata for a YouTube Lineup.
+        "channelCountLowerBound": "A String", # The lower end of a range containing the number of channels in the lineup.
+        "channelCountUpperBound": "A String", # The upper end of a range containing the number of channels in the lineup.
+        "inventoryCountry": { # A location criterion. # The national market associated with the lineup.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "medianMonthlyInventory": "A String", # The median number of impressions per month on this lineup.
+        "sampleChannels": [ # Examples of channels that are included in the lineup.
+          { # A YouTube channel returned as an example of the content in a lineup.
+            "displayName": "A String", # The name of the sample channel.
+            "youtubeChannel": { # A YouTube Channel criterion. # A YouTube channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Metadata for the sample channel.
+              "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+            },
+          },
+        ],
+      },
+      "locationAttributeMetadata": { # Metadata associated with a Location attribute. # Special metadata for a Location.
+        "countryLocation": { # A location criterion. # The country location that this attribute’s sub country location is located in.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      },
+      "potentialYoutubeReach": "A String", # An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.
+      "subscriberShare": 3.14, # The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "userInterestAttributeMetadata": { # Metadata associated with a User Interest attribute. # Special metadata for a User Interest.
+        "userInterestDescription": "A String", # English language text description of the user interest category (200 characters max).
+      },
+      "userListAttributeMetadata": { # Metadata associated with a User List attribute. # Special metadata for a User List.
+        "userListType": "A String", # The user list type.
+      },
+      "viewerShare": 3.14, # The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.
+      "youtubeChannelMetadata": { # Metadata associated with a YouTube channel attribute. # Special metadata for a YouTube channel.
+        "subscriberCount": "A String", # The approximate number of subscribers to the YouTube channel.
+      },
+      "youtubeVideoMetadata": { # Metadata for a YouTube video attribute. # Special metadata for a YouTube video.
+        "commentsCount": "A String", # The total number of comments.
+        "likesCount": "A String", # The total number of likes.
+        "publishDate": "A String", # The date that the video was created. Formatted as "yyyy-mm-dd".
+        "thumbnailUrl": "A String", # The URL of the video thumbnail, prefixed by "https://img.youtube.com/".
+        "videoProperties": [ # The properties of this video (such as shorts, live stream).
+          "A String",
+        ],
+        "videoUrl": "A String", # The URL of the video, prefixed by "https://www.youtube.com/".
+        "viewsCount": "A String", # The total number of views.
+      },
+    },
+  ],
+}
+
+ +
+ startIdentityVerification(customerId, body=None, x__xgafv=None) +
Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The Id of the customer for whom we are creating this verification. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for StartIdentityVerification.
+  "verificationProgram": "A String", # Required. The verification program type for which we want to start the verification.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ suggestKeywordThemes(customerId, body=None, x__xgafv=None) +
Suggests keyword themes to advertise on.
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SmartCampaignSuggestService.SuggestKeywordThemes.
+  "suggestionInfo": { # Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions. # Required. Information to get keyword theme suggestions. Required fields: * suggestion_info.final_url * suggestion_info.language_code * suggestion_info.geo_target Recommended fields: * suggestion_info.business_setting
+    "adSchedules": [ # Optional. The business ad schedule.
+      { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+        "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+      },
+    ],
+    "businessContext": { # A context that describes a business. # Optional. Context describing the business to advertise.
+      "businessName": "A String", # Optional. The name of the business.
+    },
+    "businessProfileLocation": "A String", # Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+    "finalUrl": "A String", # Optional. Landing page URL of the campaign.
+    "keywordThemes": [ # Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.
+      { # A Smart Campaign keyword theme.
+        "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+        "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+    ],
+    "languageCode": "A String", # Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.
+    "locationList": { # A list of locations. # Optional. The targeting geo location by locations.
+      "locations": [ # Required. Locations.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+    },
+    "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Optional. The targeting geo location by proximity.
+      "address": { # Address for proximity criterion. # Full address.
+        "cityName": "A String", # Name of the city.
+        "countryCode": "A String", # Country code.
+        "postalCode": "A String", # Postal code.
+        "provinceCode": "A String", # Province or state code.
+        "provinceName": "A String", # Province or state name.
+        "streetAddress": "A String", # Street address line 1.
+        "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+      },
+      "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+        "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+        "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+      },
+      "radius": 3.14, # The radius of the proximity.
+      "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+    },
+  },
+}
+
+  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 SmartCampaignSuggestService.SuggestKeywordThemes.
+  "keywordThemes": [ # Smart campaign keyword theme suggestions.
+    { # A Smart campaign keyword theme suggestion.
+      "freeFormKeywordTheme": "A String", # A free-form text keyword theme.
+      "keywordThemeConstant": { # A Smart Campaign keyword theme constant. # A Smart campaign keyword theme constant.
+        "countryCode": "A String", # Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized.
+        "displayName": "A String", # Output only. The display name of the keyword theme or sub keyword theme.
+        "languageCode": "A String", # Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized.
+        "resourceName": "A String", # Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+    },
+  ],
+}
+
+ +
+ suggestSmartCampaignAd(customerId, body=None, x__xgafv=None) +
Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd.
+  "suggestionInfo": { # Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions. # Required. Inputs used to suggest a Smart campaign ad. Required fields: final_url, language_code, keyword_themes. Optional but recommended fields to improve the quality of the suggestion: business_setting and geo_target.
+    "adSchedules": [ # Optional. The business ad schedule.
+      { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+        "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+      },
+    ],
+    "businessContext": { # A context that describes a business. # Optional. Context describing the business to advertise.
+      "businessName": "A String", # Optional. The name of the business.
+    },
+    "businessProfileLocation": "A String", # Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+    "finalUrl": "A String", # Optional. Landing page URL of the campaign.
+    "keywordThemes": [ # Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.
+      { # A Smart Campaign keyword theme.
+        "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+        "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+    ],
+    "languageCode": "A String", # Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.
+    "locationList": { # A list of locations. # Optional. The targeting geo location by locations.
+      "locations": [ # Required. Locations.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+    },
+    "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Optional. The targeting geo location by proximity.
+      "address": { # Address for proximity criterion. # Full address.
+        "cityName": "A String", # Name of the city.
+        "countryCode": "A String", # Country code.
+        "postalCode": "A String", # Postal code.
+        "provinceCode": "A String", # Province or state code.
+        "provinceName": "A String", # Province or state name.
+        "streetAddress": "A String", # Street address line 1.
+        "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+      },
+      "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+        "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+        "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+      },
+      "radius": 3.14, # The radius of the proximity.
+      "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+    },
+  },
+}
+
+  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 SmartCampaignSuggestService.SuggestSmartCampaignAd.
+  "adInfo": { # A Smart campaign ad. # Optional. Ad info includes 3 creative headlines and 2 creative descriptions.
+    "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+      { # A text asset used inside an ad.
+        "assetPerformanceLabel": "A String", # The performance label of this text asset.
+        "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+        "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+          "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Where in the review process this asset.
+        },
+        "text": "A String", # Asset text.
+      },
+    ],
+    "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+      { # A text asset used inside an ad.
+        "assetPerformanceLabel": "A String", # The performance label of this text asset.
+        "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+        "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+          "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Where in the review process this asset.
+        },
+        "text": "A String", # Asset text.
+      },
+    ],
+  },
+}
+
+ +
+ suggestSmartCampaignBudgetOptions(customerId, body=None, x__xgafv=None) +
Returns BudgetOption suggestions.
+
+Args:
+  customerId: string, Required. The ID of the customer whose budget options are to be suggested. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions.
+  "campaign": "A String", # Required. The resource name of the campaign to get suggestion for.
+  "suggestionInfo": { # Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions. # Required. Information needed to get budget options
+    "adSchedules": [ # Optional. The business ad schedule.
+      { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+        "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+      },
+    ],
+    "businessContext": { # A context that describes a business. # Optional. Context describing the business to advertise.
+      "businessName": "A String", # Optional. The name of the business.
+    },
+    "businessProfileLocation": "A String", # Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+    "finalUrl": "A String", # Optional. Landing page URL of the campaign.
+    "keywordThemes": [ # Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.
+      { # A Smart Campaign keyword theme.
+        "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+        "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+    ],
+    "languageCode": "A String", # Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.
+    "locationList": { # A list of locations. # Optional. The targeting geo location by locations.
+      "locations": [ # Required. Locations.
+        { # A location criterion.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+      ],
+    },
+    "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Optional. The targeting geo location by proximity.
+      "address": { # Address for proximity criterion. # Full address.
+        "cityName": "A String", # Name of the city.
+        "countryCode": "A String", # Country code.
+        "postalCode": "A String", # Postal code.
+        "provinceCode": "A String", # Province or state code.
+        "provinceName": "A String", # Province or state name.
+        "streetAddress": "A String", # Street address line 1.
+        "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+      },
+      "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+        "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+        "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+      },
+      "radius": 3.14, # The radius of the proximity.
+      "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+    },
+  },
+}
+
+  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 SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on whether the system could suggest the options, either all of the options or none of them might be returned.
+  "high": { # Smart Campaign budget option. # Optional. The highest budget option.
+    "dailyAmountMicros": "A String", # The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.
+    "metrics": { # Performance metrics for a given budget option. # Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates.
+      "maxDailyClicks": "A String", # The estimated max daily clicks.
+      "minDailyClicks": "A String", # The estimated min daily clicks.
+    },
+  },
+  "low": { # Smart Campaign budget option. # Optional. The lowest budget option.
+    "dailyAmountMicros": "A String", # The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.
+    "metrics": { # Performance metrics for a given budget option. # Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates.
+      "maxDailyClicks": "A String", # The estimated max daily clicks.
+      "minDailyClicks": "A String", # The estimated min daily clicks.
+    },
+  },
+  "recommended": { # Smart Campaign budget option. # Optional. The recommended budget option.
+    "dailyAmountMicros": "A String", # The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.
+    "metrics": { # Performance metrics for a given budget option. # Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates.
+      "maxDailyClicks": "A String", # The estimated max daily clicks.
+      "minDailyClicks": "A String", # The estimated min daily clicks.
+    },
+  },
+}
+
+ +
+ suggestTravelAssets(customerId, body=None, x__xgafv=None) +
Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property.
+
+Args:
+  customerId: string, Required. The ID of the customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for TravelAssetSuggestionService.SuggestTravelAssets.
+  "languageOption": "A String", # Required. The language specifications in BCP 47 format (for example, en-US, zh-CN, etc.) for the asset suggestions. Text will be in this language. Usually matches one of the campaign target languages.
+  "placeIds": [ # The Google Maps Place IDs of hotels for which assets are requested. See https://developers.google.com/places/web-service/place-id for more information.
+    "A String",
+  ],
+}
+
+  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 TravelAssetSuggestionService.SuggestTravelAssets.
+  "hotelAssetSuggestions": [ # Asset suggestions for each place ID submitted in the request.
+    { # Message containing the asset suggestions for a hotel.
+      "callToAction": "A String", # Call to action type.
+      "finalUrl": "A String", # Suggested final URL for an AssetGroup.
+      "hotelName": "A String", # Hotel name in requested language.
+      "imageAssets": [ # Image assets such as landscape/portrait/square, etc.
+        { # A single image asset suggestion for a hotel.
+          "assetFieldType": "A String", # The Image asset type. For example, MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, etc.
+          "uri": "A String", # URI for the image.
+        },
+      ],
+      "placeId": "A String", # Google Places ID of the hotel.
+      "status": "A String", # The status of the hotel asset suggestion.
+      "textAssets": [ # Text assets such as headline, description, etc.
+        { # A single text asset suggestion for a hotel.
+          "assetFieldType": "A String", # The text asset type. For example, HEADLINE, DESCRIPTION, etc.
+          "text": "A String", # Asset text in requested language.
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ uploadUserData(customerId, body=None, x__xgafv=None) +
Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which to update the user data. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UserDataService.UploadUserData
+  "customerMatchUserListMetadata": { # Metadata for customer match user list. # Metadata for data updates to a Customer Match user list.
+    "consent": { # Consent # The consent setting for all the users in this job.
+      "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+      "adUserData": "A String", # This represents consent for ad user data.
+    },
+    "userList": "A String", # The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
+  },
+  "operations": [ # Required. The list of operations to be done.
+    { # Operation to be made for the UploadUserDataRequest.
+      "create": { # User data holding user identifiers and attributes. # The list of user data to be appended to the user list.
+        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
+          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+          "adUserData": "A String", # This represents consent for ad user data.
+        },
+        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
+          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
+          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
+          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
+          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
+            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
+            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
+            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
+            "merchantId": "A String", # ID of the Merchant Center Account. Required.
+            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
+          },
+          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
+          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
+            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
+          },
+          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
+          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
+        },
+        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
+          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
+          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
+          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
+            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
+              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
+              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+              "itemAttribute": [ # Required. Item attributes of the event.
+                { # Event Item attributes of the Customer Match.
+                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
+                },
+              ],
+            },
+          ],
+          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
+          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
+          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
+          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
+            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
+          },
+        },
+        "userIdentifiers": [ # User identification info.
+          { # identifying information.
+            "addressInfo": { # Address identifier of offline data. # Address information.
+              "city": "A String", # City of the address. Only accepted for Store Sales.
+              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
+              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
+              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
+              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
+              "postalCode": "A String", # Postal code of the user's address.
+              "state": "A String", # State code of the address. Only accepted for Store Sales.
+            },
+            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
+            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
+            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
+            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
+            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
+          },
+        ],
+      },
+      "remove": { # User data holding user identifiers and attributes. # The list of user data to be removed from the user list.
+        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
+          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+          "adUserData": "A String", # This represents consent for ad user data.
+        },
+        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
+          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
+          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
+          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
+          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
+            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
+            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
+            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
+            "merchantId": "A String", # ID of the Merchant Center Account. Required.
+            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
+          },
+          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
+          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
+            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
+          },
+          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
+          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
+        },
+        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
+          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
+          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
+          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
+            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
+              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
+              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+              "itemAttribute": [ # Required. Item attributes of the event.
+                { # Event Item attributes of the Customer Match.
+                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
+                },
+              ],
+            },
+          ],
+          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
+          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
+          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
+          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
+            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
+          },
+        },
+        "userIdentifiers": [ # User identification info.
+          { # identifying information.
+            "addressInfo": { # Address identifier of offline data. # Address information.
+              "city": "A String", # City of the address. Only accepted for Store Sales.
+              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
+              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
+              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
+              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
+              "postalCode": "A String", # Postal code of the user's address.
+              "state": "A String", # State code of the address. Only accepted for Store Sales.
+            },
+            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
+            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
+            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
+            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
+            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
+          },
+        ],
+      },
+    },
+  ],
+}
+
+  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 UserDataService.UploadUserData Uploads made through this service will not be visible under the 'Segment members' section for the Customer Match List in the Google Ads UI.
+  "receivedOperationsCount": 42, # Number of upload data operations received by API.
+  "uploadDateTime": "A String", # The date time at which the request was received by API, formatted as "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.incentives.html b/docs/dyn/searchads360_v23.customers.incentives.html new file mode 100644 index 0000000000..3e1c8e2250 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.incentives.html @@ -0,0 +1,117 @@ + + + +

Search Ads 360 Reporting API . customers . incentives

+

Instance Methods

+

+ applyIncentive(customerId, selectedIncentiveId, body=None, x__xgafv=None)

+

Applies the incentive for the ads customer.

+

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ applyIncentive(customerId, selectedIncentiveId, body=None, x__xgafv=None) +
Applies the incentive for the ads customer.
+
+Args:
+  customerId: string, The customer ID of the account that the incentive is being applied to. (required)
+  selectedIncentiveId: string, The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for applying an incentive.
+  "countryCode": "A String", # Required. User's country code. Required. This field must be equal to the Google Ads account's billing country. Incentive eligibility, terms of service, and reward values are often country-specific. This country code is used to ensure the selected incentive is applicable to the user. Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for applying an incentive.
+  "couponCode": "A String", # The coupon code of the applied incentive. A globally unique identifier of the applied incentive. This code is separate and distinct from the selected_incentive_id in the request.
+  "creationTime": "A String", # The timestamp when this incentive was applied. The timestamp is in UTC timezone and in "yyyy-MM-dd HH:mm:ss" format.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.invoices.html b/docs/dyn/searchads360_v23.customers.invoices.html new file mode 100644 index 0000000000..47cd1af8c6 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.invoices.html @@ -0,0 +1,233 @@ + + + +

Search Ads 360 Reporting API . customers . invoices

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(customerId, billingSetup=None, includeGranularLevelInvoiceDetails=None, issueMonth=None, issueYear=None, x__xgafv=None)

+

Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(customerId, billingSetup=None, includeGranularLevelInvoiceDetails=None, issueMonth=None, issueYear=None, x__xgafv=None) +
Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer to fetch invoices for. (required)
+  billingSetup: string, Required. The billing setup resource name of the requested invoices. `customers/{customer_id}/billingSetups/{billing_setup_id}`
+  includeGranularLevelInvoiceDetails: boolean, Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false.
+  issueMonth: string, Required. The issue month to retrieve invoices.
+    Allowed values
+      UNSPECIFIED - Not specified.
+      UNKNOWN - The value is unknown in this version.
+      JANUARY - January.
+      FEBRUARY - February.
+      MARCH - March.
+      APRIL - April.
+      MAY - May.
+      JUNE - June.
+      JULY - July.
+      AUGUST - August.
+      SEPTEMBER - September.
+      OCTOBER - October.
+      NOVEMBER - November.
+      DECEMBER - December.
+  issueYear: string, Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved.
+  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 InvoiceService.ListInvoices.
+  "invoices": [ # The list of invoices that match the billing setup and time period.
+    { # An invoice. All invoice information is snapshotted to match the PDF invoice. For invoices older than the launch of InvoiceService, the snapshotted information may not match the PDF invoice.
+      "accountBudgetSummaries": [ # Output only. The list of summarized account budget information associated with this invoice.
+        { # Represents a summarized account budget billable cost.
+          "accountBudget": "A String", # Output only. The resource name of the account budget associated with this summarized billable cost. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`
+          "accountBudgetName": "A String", # Output only. The name of the account budget. It appears on the invoice PDF as "Account budget".
+          "billableActivityDateRange": { # A date range. # Output only. The billable activity date range of the account budget, within the service date range of this invoice. The end date is inclusive. This can be different from the account budget's start and end time.
+            "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+            "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+          },
+          "billedAmountMicros": "A String", # Output only. The pretax billed amount attributable to this budget during the service period, in micros. This does not account for any adjustments.
+          "campaignSummaries": [ # Output only. The list of summarized campaign level information associated with this account budget.
+            { # Represents campaign level billable cost information associated with an account budget.
+              "amountMicros": "A String", # Output only. The amount attributable to this campaign for the given unit of measure during the service period, in micros. The currency code for this amount is the same as the Invoice.currency_code.
+              "campaignDescription": "A String", # Output only. The description of the campaign. This is generally the same as the campaign name, but may differ.
+              "quantity": "A String", # Output only. The quantity served for the given unit of measure.
+              "unitOfMeasure": "A String", # Output only. The unit of measure for the quantity served.
+            },
+          ],
+          "customer": "A String", # Output only. The resource name of the customer associated with this account budget. This contains the customer ID, which appears on the invoice PDF as "Account ID". Customer resource names have the form: `customers/{customer_id}`
+          "customerDescriptiveName": "A String", # Output only. The descriptive name of the account budget's customer. It appears on the invoice PDF as "Account".
+          "invalidActivityAmountMicros": "A String", # Output only. The pretax invalid activity amount attributable to this budget in previous months, in micros (negative value).
+          "invalidActivitySummaries": [ # Output only. The list of summarized invalid activity credits with original linkages.
+            { # Details about the invalid activity for the invoice that contain additional details about invoice against which corrections are made.
+              "amountMicros": "A String", # Output only. Invalid activity amount in micros.
+              "originalAccountBudgetName": "A String", # Output only. Original account budget name related to this invalid activity credit.
+              "originalInvoiceId": "A String", # Output only. Original invoice number related to this invalid activity credit.
+              "originalMonthOfService": "A String", # Output only. Original month of service related to this invalid activity credit.
+              "originalPurchaseOrderNumber": "A String", # Output only. Original purchase order number related to this invalid activity credit.
+              "originalYearOfService": "A String", # Output only. Original year of service related to this invalid activity credit.
+            },
+          ],
+          "overdeliveryAmountMicros": "A String", # Output only. The pretax overdelivery amount attributable to this budget during the service period, in micros (negative value).
+          "purchaseOrderNumber": "A String", # Output only. The purchase order number of the account budget. It appears on the invoice PDF as "Purchase order".
+          "servedAmountMicros": "A String", # Output only. The pretax served amount attributable to this budget during the service period, in micros. This is only useful to reconcile invoice and delivery data.
+          "subtotalAmountMicros": "A String", # Output only. The pretax subtotal amount attributable to this budget during the service period, in micros.
+          "taxAmountMicros": "A String", # Output only. The tax amount attributable to this budget during the service period, in micros.
+          "totalAmountMicros": "A String", # Output only. The total amount attributable to this budget during the service period, in micros. This equals the sum of the account budget subtotal amount and the account budget tax amount.
+        },
+      ],
+      "accountSummaries": [ # Output only. The list of summarized account information associated with this invoice.
+        { # Represents a summarized view at account level.
+          "adjustmentSummaries": [ # Output only. The list of adjustment information associated with this account.
+            { # Represents adjustment information associated with an account.
+              "adjustmentDescription": "A String", # Output only. The description of the adjustment. Example: Incentive Adjustment, discount.
+              "amountMicros": "A String", # Output only. The amount of the adjustment, in micros. The currency code for this amount is the same as the Invoice.currency_code.
+            },
+          ],
+          "billingCorrectionSubtotalAmountMicros": "A String", # Output only. Pretax billing correction subtotal amount, in micros.
+          "billingCorrectionTaxAmountMicros": "A String", # Output only. Tax on billing correction, in micros.
+          "billingCorrectionTotalAmountMicros": "A String", # Output only. Total billing correction amount, in micros.
+          "couponAdjustmentSubtotalAmountMicros": "A String", # Output only. Pretax coupon adjustment subtotal amount, in micros.
+          "couponAdjustmentTaxAmountMicros": "A String", # Output only. Tax on coupon adjustment, in micros.
+          "couponAdjustmentTotalAmountMicros": "A String", # Output only. Total coupon adjustment amount, in micros.
+          "customer": "A String", # Output only. The account associated with the account summary.
+          "excessCreditAdjustmentSubtotalAmountMicros": "A String", # Output only. Pretax excess credit adjustment subtotal amount, in micros.
+          "excessCreditAdjustmentTaxAmountMicros": "A String", # Output only. Tax on excess credit adjustment, in micros.
+          "excessCreditAdjustmentTotalAmountMicros": "A String", # Output only. Total excess credit adjustment amount, in micros.
+          "exportChargeSubtotalAmountMicros": "A String", # Output only. Pretax export charge subtotal amount, in micros.
+          "exportChargeTaxAmountMicros": "A String", # Output only. Tax on export charge, in micros.
+          "exportChargeTotalAmountMicros": "A String", # Output only. Total export charge amount, in micros.
+          "regulatoryCostSummaries": [ # Output only. The list of regulatory cost information associated with this account.
+            { # Represents regulatory cost information associated with an account.
+              "amountMicros": "A String", # Output only. The amount of the regulatory fee, in micros. The currency code for this amount is the same as the Invoice.currency_code.
+              "regulatoryFeeType": "A String", # Output only. The type of regulatory fee.
+            },
+          ],
+          "regulatoryCostsSubtotalAmountMicros": "A String", # Output only. Pretax regulatory costs subtotal amount, in micros.
+          "regulatoryCostsTaxAmountMicros": "A String", # Output only. Tax on regulatory costs, in micros.
+          "regulatoryCostsTotalAmountMicros": "A String", # Output only. Total regulatory costs amount, in micros.
+          "subtotalAmountMicros": "A String", # Output only. Total pretax subtotal amount attributable to the account during the service period, in micros.
+          "taxAmountMicros": "A String", # Output only. Total tax amount attributable to the account during the service period, in micros.
+          "totalAmountMicros": "A String", # Output only. Total amount attributable to the account during the service period, in micros. This equals the sum of the subtotal_amount_micros and tax_amount_micros.
+        },
+      ],
+      "adjustmentsSubtotalAmountMicros": "A String", # Output only. The pretax subtotal amount of invoice level adjustments, in micros.
+      "adjustmentsTaxAmountMicros": "A String", # Output only. The sum of taxes on the invoice level adjustments, in micros.
+      "adjustmentsTotalAmountMicros": "A String", # Output only. The total amount of invoice level adjustments, in micros.
+      "billingSetup": "A String", # Output only. The resource name of this invoice's billing setup. `customers/{customer_id}/billingSetups/{billing_setup_id}`
+      "correctedInvoice": "A String", # Output only. The resource name of the original invoice corrected, wrote off, or canceled by this invoice, if applicable. If `corrected_invoice` is set, `replaced_invoices` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`
+      "currencyCode": "A String", # Output only. The currency code. All costs are returned in this currency. A subset of the currency codes derived from the ISO 4217 standard is supported.
+      "dueDate": "A String", # Output only. The due date in yyyy-mm-dd format.
+      "exportChargeSubtotalAmountMicros": "A String", # Output only. The pretax subtotal amount of invoice level export charges, in micros.
+      "exportChargeTaxAmountMicros": "A String", # Output only. The sum of taxes on the invoice level export charges, in micros.
+      "exportChargeTotalAmountMicros": "A String", # Output only. The total amount of invoice level export charges, in micros.
+      "id": "A String", # Output only. The ID of the invoice. It appears on the invoice PDF as "Invoice number".
+      "issueDate": "A String", # Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as either "Issue date" or "Invoice date".
+      "paymentsAccountId": "A String", # Output only. A 16 digit ID used to identify the payments account associated with the billing setup, for example, "1234-5678-9012-3456". It appears on the invoice PDF as "Billing Account Number".
+      "paymentsProfileId": "A String", # Output only. A 12 digit ID used to identify the payments profile associated with the billing setup, for example, "1234-5678-9012". It appears on the invoice PDF as "Billing ID".
+      "pdfUrl": "A String", # Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth token to request the PDF with this URL.
+      "regulatoryCostsSubtotalAmountMicros": "A String", # Output only. The pretax subtotal amount of invoice level regulatory costs, in micros.
+      "regulatoryCostsTaxAmountMicros": "A String", # Output only. The sum of taxes on the invoice level regulatory costs, in micros.
+      "regulatoryCostsTotalAmountMicros": "A String", # Output only. The total amount of invoice level regulatory costs, in micros.
+      "replacedInvoices": [ # Output only. The resource name of the original invoice(s) being rebilled or replaced by this invoice, if applicable. There might be multiple replaced invoices due to invoice consolidation. The replaced invoices may not belong to the same payments account. If `replaced_invoices` is set, `corrected_invoice` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`
+        "A String",
+      ],
+      "resourceName": "A String", # Output only. The resource name of the invoice. Multiple customers can share a given invoice, so multiple resource names may point to the same invoice. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`
+      "serviceDateRange": { # A date range. # Output only. The service period date range of this invoice. The end date is inclusive.
+        "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+        "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+      },
+      "subtotalAmountMicros": "A String", # Output only. The pretax subtotal amount, in micros. This is equal to the sum of the AccountBudgetSummary subtotal amounts and Invoice.adjustments_subtotal_amount_micros.
+      "taxAmountMicros": "A String", # Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the AccountBudgetSummary tax amounts, plus taxes not associated with a specific account budget.
+      "totalAmountMicros": "A String", # Output only. The total amount, in micros. This equals the sum of Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, Invoice.regulatory_costs_subtotal_amount_micros, and Invoice.export_charge_subtotal_amount_micros (which is separated into a separate line item starting with V14.1).
+      "type": "A String", # Output only. The type of invoice.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.keywordPlanAdGroupKeywords.html b/docs/dyn/searchads360_v23.customers.keywordPlanAdGroupKeywords.html new file mode 100644 index 0000000000..9334c797fe --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.keywordPlanAdGroupKeywords.html @@ -0,0 +1,153 @@ + + + +

Search Ads 360 Reporting API . customers . keywordPlanAdGroupKeywords

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose Keyword Plan ad group keywords are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords.
+  "operations": [ # Required. The list of operations to perform on individual Keyword Plan ad group keywords.
+    { # A single operation (create, update, remove) on a Keyword Plan ad group keyword.
+      "create": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Create operation: No resource name is expected for the new Keyword Plan ad group keyword.
+        "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+        "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+        "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+      "update": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name.
+        "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+        "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+        "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a Keyword Plan ad group keyword mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the Keyword Plan ad group keyword mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.keywordPlanAdGroups.html b/docs/dyn/searchads360_v23.customers.keywordPlanAdGroups.html new file mode 100644 index 0000000000..3d79f37be2 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.keywordPlanAdGroups.html @@ -0,0 +1,149 @@ + + + +

Search Ads 360 Reporting API . customers . keywordPlanAdGroups

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose Keyword Plan ad groups are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups.
+  "operations": [ # Required. The list of operations to perform on individual Keyword Plan ad groups.
+    { # A single operation (create, update, remove) on a Keyword Plan ad group.
+      "create": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Create operation: No resource name is expected for the new Keyword Plan ad group.
+        "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+        "id": "A String", # Output only. The ID of the keyword plan ad group.
+        "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+        "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+      "update": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Update operation: The Keyword Plan ad group is expected to have a valid resource name.
+        "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+        "id": "A String", # Output only. The ID of the keyword plan ad group.
+        "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+        "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+      },
+      "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a Keyword Plan ad group mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate. The order of the results is determined by the order of the keywords in the original request.
+    { # The result for the Keyword Plan ad group mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.keywordPlanCampaignKeywords.html b/docs/dyn/searchads360_v23.customers.keywordPlanCampaignKeywords.html new file mode 100644 index 0000000000..489bdf8e85 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.keywordPlanCampaignKeywords.html @@ -0,0 +1,151 @@ + + + +

Search Ads 360 Reporting API . customers . keywordPlanCampaignKeywords

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose campaign keywords are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.
+  "operations": [ # Required. The list of operations to perform on individual Keyword Plan campaign keywords.
+    { # A single operation (create, update, remove) on a Keyword Plan campaign keyword.
+      "create": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Create operation: No resource name is expected for the new Keyword Plan campaign keyword.
+        "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+        "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+      "update": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.
+        "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+        "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a Keyword Plan campaign keyword mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the Keyword Plan campaign keyword mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.keywordPlanCampaigns.html b/docs/dyn/searchads360_v23.customers.keywordPlanCampaigns.html new file mode 100644 index 0000000000..7db21c4c69 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.keywordPlanCampaigns.html @@ -0,0 +1,167 @@ + + + +

Search Ads 360 Reporting API . customers . keywordPlanCampaigns

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose Keyword Plan campaigns are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.
+  "operations": [ # Required. The list of operations to perform on individual Keyword Plan campaigns.
+    { # A single operation (create, update, remove) on a Keyword Plan campaign.
+      "create": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Create operation: No resource name is expected for the new Keyword Plan campaign.
+        "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "geoTargets": [ # The geo targets. Max number allowed: 20.
+          { # A geo target.
+            "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+          },
+        ],
+        "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+        "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+        "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+          "A String",
+        ],
+        "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+      "update": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Update operation: The Keyword Plan campaign is expected to have a valid resource name.
+        "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "geoTargets": [ # The geo targets. Max number allowed: 20.
+          { # A geo target.
+            "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+          },
+        ],
+        "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+        "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+        "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+          "A String",
+        ],
+        "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+      },
+      "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a Keyword Plan campaign mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the Keyword Plan campaign mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.keywordPlans.html b/docs/dyn/searchads360_v23.customers.keywordPlans.html new file mode 100644 index 0000000000..b2299e0cde --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.keywordPlans.html @@ -0,0 +1,159 @@ + + + +

Search Ads 360 Reporting API . customers . keywordPlans

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose keyword plans are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordPlanService.MutateKeywordPlans.
+  "operations": [ # Required. The list of operations to perform on individual keyword plans.
+    { # A single operation (create, update, remove) on a keyword plan.
+      "create": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Create operation: No resource name is expected for the new keyword plan.
+        "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+          "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+          "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+            "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+            "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+          },
+        },
+        "id": "A String", # Output only. The ID of the keyword plan.
+        "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+      "update": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Update operation: The keyword plan is expected to have a valid resource name.
+        "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+          "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+          "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+            "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+            "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+          },
+        },
+        "id": "A String", # Output only. The ID of the keyword plan.
+        "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+      },
+      "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a keyword plan mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the keyword plan mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.labels.html b/docs/dyn/searchads360_v23.customers.labels.html new file mode 100644 index 0000000000..f58cb87252 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.labels.html @@ -0,0 +1,166 @@ + + + +

Search Ads 360 Reporting API . customers . labels

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. ID of the customer whose labels are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for LabelService.MutateLabels.
+  "operations": [ # Required. The list of operations to perform on labels.
+    { # A single operation (create, remove, update) on a label.
+      "create": { # A label. # Create operation: No resource name is expected for the new label.
+        "id": "A String", # Output only. ID of the label. Read only.
+        "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+        "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+        "status": "A String", # Output only. Status of the label. Read only.
+        "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+          "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+          "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id}/labels/{label_id}`
+      "update": { # A label. # Update operation: The label is expected to have a valid resource name.
+        "id": "A String", # Output only. ID of the label. Read only.
+        "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+        "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+        "status": "A String", # Output only. Status of the label. Read only.
+        "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+          "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+          "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+        },
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a labels mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for a label mutate.
+      "label": { # A label. # The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "id": "A String", # Output only. ID of the label. Read only.
+        "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+        "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+        "status": "A String", # Output only. Status of the label. Read only.
+        "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+          "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+          "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+        },
+      },
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.localServices.html b/docs/dyn/searchads360_v23.customers.localServices.html new file mode 100644 index 0000000000..3741231f56 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.localServices.html @@ -0,0 +1,133 @@ + + + +

Search Ads 360 Reporting API . customers . localServices

+

Instance Methods

+

+ appendLeadConversation(customerId, body=None, x__xgafv=None)

+

RPC to append Local Services Lead Conversation resources to Local Services Lead resources.

+

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ appendLeadConversation(customerId, body=None, x__xgafv=None) +
RPC to append Local Services Lead Conversation resources to Local Services Lead resources.
+
+Args:
+  customerId: string, Required. The Id of the customer which owns the leads onto which the conversations will be appended. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for LocalServicesLeadService.AppendLeadConversation.
+  "conversations": [ # Required. Conversations that are being appended.
+    { # Details of the conversation that needs to be appended.
+      "localServicesLead": "A String", # Required. The resource name of the local services lead that the conversation should be applied to.
+      "text": "A String", # Required. Text message that user wanted to append to lead.
+    },
+  ],
+}
+
+  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 LocalServicesLeadService.AppendLeadConversation.
+  "responses": [ # Required. List of append conversation operation results.
+    { # Result of the append conversation operation.
+      "localServicesLeadConversation": "A String", # The resource name of the appended local services lead conversation.
+      "partialFailureError": { # 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). # Failure status when the request could not be processed.
+        "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.
+      },
+    },
+  ],
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.localServicesLeads.html b/docs/dyn/searchads360_v23.customers.localServicesLeads.html new file mode 100644 index 0000000000..6664c98223 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.localServicesLeads.html @@ -0,0 +1,123 @@ + + + +

Search Ads 360 Reporting API . customers . localServicesLeads

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ provideLeadFeedback(resourceName, body=None, x__xgafv=None)

+

RPC to provide feedback on Local Services Lead resources.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ provideLeadFeedback(resourceName, body=None, x__xgafv=None) +
RPC to provide feedback on Local Services Lead resources.
+
+Args:
+  resourceName: string, Required. The resource name of the local services lead that for which the feedback is being provided. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for LocalServicesLeadService.ProvideLeadFeedback.
+  "surveyAnswer": "A String", # Required. Survey answer for Local Services Ads Lead.
+  "surveyDissatisfied": { # Details about various factors for not being satisfied with the lead. # Details about various factors for not being satisfied with the lead.
+    "otherReasonComment": "A String", # Optional. Provider's free form comments. This field is required when OTHER_DISSATISFIED_REASON is selected as the reason.
+    "surveyDissatisfiedReason": "A String", # Required. Provider's reason for not being satisfied with the lead.
+  },
+  "surveySatisfied": { # Details about various factors for being satisfied with the lead. # Details about various factors for being satisfied with the lead.
+    "otherReasonComment": "A String", # Optional. Provider's free form comments. This field is required when OTHER_SATISFIED_REASON is selected as the reason.
+    "surveySatisfiedReason": "A String", # Required. Provider's reason for being satisfied with the lead.
+  },
+}
+
+  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 LocalServicesLeadService.ProvideLeadFeedback.
+  "creditIssuanceDecision": "A String", # Required. Decision of bonus credit issued or rejected. If a bonus credit is issued, it will be available for use in about two months.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.offlineUserDataJobs.html b/docs/dyn/searchads360_v23.customers.offlineUserDataJobs.html new file mode 100644 index 0000000000..14c8904f0e --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.offlineUserDataJobs.html @@ -0,0 +1,377 @@ + + + +

Search Ads 360 Reporting API . customers . offlineUserDataJobs

+

Instance Methods

+

+ addOperations(resourceName, body=None, x__xgafv=None)

+

Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

+

+ close()

+

Close httplib2 connections.

+

+ create(customerId, body=None, x__xgafv=None)

+

Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

+

+ run(resourceName, body=None, x__xgafv=None)

+

Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ addOperations(resourceName, body=None, x__xgafv=None) +
Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the OfflineUserDataJob. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.
+  "enablePartialFailure": True or False, # True to enable partial failure for the offline user data job.
+  "enableWarnings": True or False, # True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values.
+  "operations": [ # Required. The list of operations to be done.
+    { # Operation to be made for the AddOfflineUserDataJobOperationsRequest.
+      "create": { # User data holding user identifiers and attributes. # Add the provided data to the transaction. Data cannot be retrieved after being uploaded.
+        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
+          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+          "adUserData": "A String", # This represents consent for ad user data.
+        },
+        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
+          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
+          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
+          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
+          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
+            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
+            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
+            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
+            "merchantId": "A String", # ID of the Merchant Center Account. Required.
+            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
+          },
+          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
+          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
+            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
+          },
+          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
+          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
+        },
+        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
+          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
+          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
+          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
+            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
+              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
+              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+              "itemAttribute": [ # Required. Item attributes of the event.
+                { # Event Item attributes of the Customer Match.
+                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
+                },
+              ],
+            },
+          ],
+          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
+          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
+          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
+          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
+            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
+          },
+        },
+        "userIdentifiers": [ # User identification info.
+          { # identifying information.
+            "addressInfo": { # Address identifier of offline data. # Address information.
+              "city": "A String", # City of the address. Only accepted for Store Sales.
+              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
+              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
+              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
+              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
+              "postalCode": "A String", # Postal code of the user's address.
+              "state": "A String", # State code of the address. Only accepted for Store Sales.
+            },
+            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
+            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
+            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
+            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
+            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
+          },
+        ],
+      },
+      "remove": { # User data holding user identifiers and attributes. # Remove the provided data from the transaction. Data cannot be retrieved after being uploaded.
+        "consent": { # Consent # The consent setting for the user. If set, will override the job level consent for this user.
+          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+          "adUserData": "A String", # This represents consent for ad user data.
+        },
+        "transactionAttribute": { # Attribute of the store sales transaction. # Additional transactions/attributes associated with the user. Required when updating store sales data.
+          "conversionAction": "A String", # The resource name of conversion action to report conversions to. Required.
+          "currencyCode": "A String", # Transaction currency code. ISO 4217 three-letter code is used. Required.
+          "customValue": "A String", # Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.
+          "itemAttribute": { # Item attributes of the transaction. # Item attributes of the transaction. Accessible only to customers on the allow-list.
+            "countryCode": "A String", # Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.
+            "itemId": "A String", # A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.
+            "languageCode": "A String", # ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.
+            "merchantId": "A String", # ID of the Merchant Center Account. Required.
+            "quantity": "A String", # The number of items sold. Defaults to 1 if not set.
+          },
+          "orderId": "A String", # Transaction order id. Useful to group transactions which are part of the same order.
+          "storeAttribute": { # Store attributes of the transaction. # Store attributes of the transaction.
+            "storeCode": "A String", # Store code from https://support.google.com/business/answer/3370250#storecode
+          },
+          "transactionAmountMicros": 3.14, # Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.
+          "transactionDateTime": "A String", # Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00"
+        },
+        "userAttribute": { # User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. # Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days.
+          "acquisitionDateTime": "A String", # Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "averagePurchaseCount": 42, # Advertiser defined average number of purchases that are made by the user in a 30 day period.
+          "averagePurchaseValueMicros": "A String", # Advertiser defined average purchase value in micros for the user.
+          "eventAttribute": [ # Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.
+            { # Advertiser defined events and their attributes. All the values in the nested fields are required.
+              "event": "A String", # Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended".
+              "eventDateTime": "A String", # Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+              "itemAttribute": [ # Required. Item attributes of the event.
+                { # Event Item attributes of the Customer Match.
+                  "itemId": "A String", # Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).
+                },
+              ],
+            },
+          ],
+          "firstPurchaseDateTime": "A String", # Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lastPurchaseDateTime": "A String", # Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.
+          "lifecycleStage": "A String", # Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned".
+          "lifetimeValueBucket": 42, # Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.
+          "lifetimeValueMicros": "A String", # Advertiser defined lifetime value for the user.
+          "shoppingLoyalty": { # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. # The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent.
+            "loyaltyTier": "A String", # The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "".
+          },
+        },
+        "userIdentifiers": [ # User identification info.
+          { # identifying information.
+            "addressInfo": { # Address identifier of offline data. # Address information.
+              "city": "A String", # City of the address. Only accepted for Store Sales.
+              "countryCode": "A String", # 2-letter country code in ISO-3166-1 alpha-2 of the user's address.
+              "hashedFirstName": "A String", # First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).
+              "hashedLastName": "A String", # Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).
+              "hashedStreetAddress": "A String", # The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.
+              "postalCode": "A String", # Postal code of the user's address.
+              "state": "A String", # State code of the address. Only accepted for Store Sales.
+            },
+            "hashedEmail": "A String", # Hashed email address using SHA-256 hash function after normalization.
+            "hashedPhoneNumber": "A String", # Hashed phone number using SHA-256 hash function after normalization (E164 standard).
+            "mobileId": "A String", # Mobile device ID (advertising ID/IDFA).
+            "thirdPartyUserId": "A String", # Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for
+            "userIdentifierSource": "A String", # Source of the user identifier when the upload is from Store Sales
+          },
+        ],
+      },
+      "removeAll": True or False, # Remove all previously provided data. This is only supported for Customer Match.
+    },
+  ],
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 OfflineUserDataJobService.AddOfflineUserDataJobOperations.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "warning": { # 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). # Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true.
+    "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.
+  },
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ create(customerId, body=None, x__xgafv=None) +
Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which to create an offline user data job. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.
+  "enableMatchRateRangePreview": True or False, # If true, match rate range for the offline user data job is calculated and made available in the resource.
+  "job": { # A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using # Required. The offline user data job to be created.
+    "customerMatchUserListMetadata": { # Metadata for customer match user list. # Immutable. Metadata for data updates to a CRM-based user list.
+      "consent": { # Consent # The consent setting for all the users in this job.
+        "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+        "adUserData": "A String", # This represents consent for ad user data.
+      },
+      "userList": "A String", # The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
+    },
+    "externalId": "A String", # Immutable. User specified job ID.
+    "failureReason": "A String", # Output only. Reason for the processing failure, if status is FAILED.
+    "id": "A String", # Output only. ID of this offline user data job.
+    "operationMetadata": { # Metadata of offline user data job. # Output only. Metadata of offline user data job depicting match rate range.
+      "matchRateRange": "A String", # Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".
+    },
+    "resourceName": "A String", # Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`
+    "status": "A String", # Output only. Status of the job.
+    "storeSalesMetadata": { # Metadata for Store Sales Direct. # Immutable. Metadata for store sales data update.
+      "customKey": "A String", # Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
+      "loyaltyFraction": 3.14, # This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
+      "thirdPartyMetadata": { # Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration. # Metadata for a third party Store Sales upload.
+        "advertiserUploadDateTime": "A String", # Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "bridgeMapVersionId": "A String", # Version of partner IDs to be used for uploads. Required.
+        "partnerId": "A String", # ID of the third party partner updating the transaction feed.
+        "partnerMatchFraction": 3.14, # The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
+        "partnerUploadFraction": 3.14, # The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
+        "validTransactionFraction": 3.14, # The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
+      },
+      "transactionUploadFraction": 3.14, # This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
+    },
+    "type": "A String", # Immutable. Type of the job.
+  },
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 OfflineUserDataJobService.CreateOfflineUserDataJob.
+  "resourceName": "A String", # The resource name of the OfflineUserDataJob.
+}
+
+ +
+ run(resourceName, body=None, x__xgafv=None) +
Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the OfflineUserDataJob to run. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for OfflineUserDataJobService.RunOfflineUserDataJob.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.paymentsAccounts.html b/docs/dyn/searchads360_v23.customers.paymentsAccounts.html new file mode 100644 index 0000000000..654e19a9be --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.paymentsAccounts.html @@ -0,0 +1,118 @@ + + + +

Search Ads 360 Reporting API . customers . paymentsAccounts

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(customerId, x__xgafv=None)

+

Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(customerId, x__xgafv=None) +
Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer to apply the PaymentsAccount list operation to. (required)
+  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 PaymentsAccountService.ListPaymentsAccounts.
+  "paymentsAccounts": [ # The list of accessible payments accounts.
+    { # A payments account, which can be used to set up billing for an Ads customer.
+      "currencyCode": "A String", # Output only. The currency code of the payments account. A subset of the currency codes derived from the ISO 4217 standard is supported.
+      "name": "A String", # Output only. The name of the payments account.
+      "payingManagerCustomer": "A String", # Output only. Paying manager of this payment account.
+      "paymentsAccountId": "A String", # Output only. A 16 digit ID used to identify a payments account.
+      "paymentsProfileId": "A String", # Output only. A 12 digit ID used to identify the payments profile associated with the payments account.
+      "resourceName": "A String", # Output only. The resource name of the payments account. PaymentsAccount resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+      "secondaryPaymentsProfileId": "A String", # Output only. A secondary payments profile ID present in uncommon situations, for example, when a sequential liability agreement has been arranged.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.productLinkInvitations.html b/docs/dyn/searchads360_v23.customers.productLinkInvitations.html new file mode 100644 index 0000000000..7dc61eddf8 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.productLinkInvitations.html @@ -0,0 +1,188 @@ + + + +

Search Ads 360 Reporting API . customers . productLinkInvitations

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(customerId, body=None, x__xgafv=None)

+

Creates a product link invitation.

+

+ remove(customerId, body=None, x__xgafv=None)

+

Remove a product link invitation.

+

+ update(customerId, body=None, x__xgafv=None)

+

Update a product link invitation.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(customerId, body=None, x__xgafv=None) +
Creates a product link invitation.
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ProductLinkInvitationService.CreateProductLinkInvitation.
+  "productLinkInvitation": { # Represents an invitation for data sharing connection between a Google Ads account and another account. # Required. The product link invitation to be created.
+    "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link invitation.
+      "customer": "A String", # Immutable. The resource name of the advertising partner Google Ads account. This field is read only.
+    },
+    "hotelCenter": { # The identifier for Hotel account. # Output only. Hotel link invitation.
+      "hotelCenterId": "A String", # Output only. The hotel center id of the hotel account. This field is read only
+    },
+    "merchantCenter": { # The identifier for Merchant Center Account. # Output only. Merchant Center link invitation.
+      "merchantCenterId": "A String", # Output only. The Merchant Center id of the Merchant account. This field is read only
+    },
+    "productLinkInvitationId": "A String", # Output only. The ID of the product link invitation. This field is read only.
+    "resourceName": "A String", # Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`
+    "status": "A String", # Output only. The status of the product link invitation. This field is read only.
+    "type": "A String", # Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.
+  },
+}
+
+  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 product link invitation create.
+  "resourceName": "A String", # Resource name of the product link invitation.
+}
+
+ +
+ remove(customerId, body=None, x__xgafv=None) +
Remove a product link invitation.
+
+Args:
+  customerId: string, Required. The ID of the product link invitation being removed. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ProductLinkInvitationService.RemoveProductLinkInvitation.
+  "resourceName": "A String", # Required. The resource name of the product link invitation being removed. expected, in this format: ` `
+}
+
+  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 product link invitation removeal.
+  "resourceName": "A String", # Result for the remove request.
+}
+
+ +
+ update(customerId, body=None, x__xgafv=None) +
Update a product link invitation.
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ProductLinkInvitationService.UpdateProductLinkInvitation.
+  "productLinkInvitationStatus": "A String", # Required. The product link invitation to be created.
+  "resourceName": "A String", # Required. Resource name of the product link invitation.
+}
+
+  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 product link invitation update.
+  "resourceName": "A String", # Result of the update.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.productLinks.html b/docs/dyn/searchads360_v23.customers.productLinks.html new file mode 100644 index 0000000000..30e3ae12b7 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.productLinks.html @@ -0,0 +1,161 @@ + + + +

Search Ads 360 Reporting API . customers . productLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ create(customerId, body=None, x__xgafv=None)

+

Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

+ remove(customerId, body=None, x__xgafv=None)

+

Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(customerId, body=None, x__xgafv=None) +
Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer for which the product link is created. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ProductLinkService.CreateProductLink.
+  "productLink": { # Represents the data sharing connection between # Required. The product link to be created.
+    "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link.
+      "customer": "A String", # Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.
+    },
+    "dataPartner": { # The identifier for Data Partner account. # Immutable. Data partner link.
+      "dataPartnerId": "A String", # Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.
+    },
+    "googleAds": { # The identifier for Google Ads account. # Immutable. Google Ads link.
+      "customer": "A String", # Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.
+    },
+    "merchantCenter": { # The identifier for Google Merchant Center account # Immutable. Google Merchant Center link.
+      "merchantCenterId": "A String", # Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.
+    },
+    "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+    "resourceName": "A String", # Immutable. Resource name of the product link. ProductLink resource names have the form: ` `
+    "type": "A String", # Output only. The type of the linked product.
+  },
+}
+
+  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 ProductLinkService.CreateProductLink.
+  "resourceName": "A String", # Returned for successful operations. Resource name of the product link.
+}
+
+ +
+ remove(customerId, body=None, x__xgafv=None) +
Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ProductLinkService.RemoveProductLink.
+  "resourceName": "A String", # Required. Remove operation: A resource name for the product link to remove is expected, in this format: ` `
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 product link removal.
+  "resourceName": "A String", # Result for the remove request.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.recommendationSubscriptions.html b/docs/dyn/searchads360_v23.customers.recommendationSubscriptions.html new file mode 100644 index 0000000000..6f8b3cf3b8 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.recommendationSubscriptions.html @@ -0,0 +1,156 @@ + + + +

Search Ads 360 Reporting API . customers . recommendationSubscriptions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutateRecommendationSubscription(customerId, body=None, x__xgafv=None)

+

Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutateRecommendationSubscription(customerId, body=None, x__xgafv=None) +
Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the subscribing customer. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RecommendationSubscriptionService.MutateRecommendationSubscription
+  "operations": [ # Required. The list of create or update operations.
+    { # A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription
+      "create": { # Recommendation Subscription resource # Create operation: No resource name is expected for the new subscription.
+        "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+        "status": "A String", # Required. Status of the subscription, either enabled or paused.
+        "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+      },
+      "update": { # Recommendation Subscription resource # Update operation: The subscription is expected to have a valid resource name.
+        "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+        "status": "A String", # Required. Status of the subscription, either enabled or paused.
+        "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+      },
+      "updateMask": "A String", # Optional. FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, MutateCampaignResult.campaign.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 RecommendationSubscriptionService.MutateRecommendationSubscription
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
+    "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.
+  },
+  "results": [ # Results, one per operation.
+    { # Result message for RecommendationSubscriptionService.MutateRecommendationSubscription
+      "recommendationSubscription": { # Recommendation Subscription resource # The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+        "status": "A String", # Required. Status of the subscription, either enabled or paused.
+        "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+      },
+      "resourceName": "A String", # Resource name of the subscription that was modified.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.recommendations.html b/docs/dyn/searchads360_v23.customers.recommendations.html new file mode 100644 index 0000000000..e5cd4f97b6 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.recommendations.html @@ -0,0 +1,33291 @@ + + + +

Search Ads 360 Reporting API . customers . recommendations

+

Instance Methods

+

+ apply(customerId, body=None, x__xgafv=None)

+

Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()

+

+ close()

+

Close httplib2 connections.

+

+ dismiss(customerId, body=None, x__xgafv=None)

+

Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()

+

+ generate(customerId, body=None, x__xgafv=None)

+

Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()

+

Method Details

+
+ apply(customerId, body=None, x__xgafv=None) +
Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()
+
+Args:
+  customerId: string, Required. The ID of the customer with the recommendation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RecommendationService.ApplyRecommendation.
+  "operations": [ # Required. The list of operations to apply recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.
+    { # Information about the operation to apply a recommendation and any parameters to customize it.
+      "callAsset": { # Parameters to use when applying call asset recommendations. # Parameters to use when applying call asset recommendation.
+        "adAssetApplyParameters": { # Common parameters used when applying ad asset recommendations. # Required. Call assets to be added. This is a required field.
+          "existingAssets": [ # The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.
+            "A String",
+          ],
+          "newAssets": [ # The assets to create and attach to a scope. This may be combined with existing_assets in the same call.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "scope": "A String", # Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.
+        },
+      },
+      "callExtension": { # Parameters to use when applying call extension recommendation. # Parameters to use when applying call extension recommendation.
+        "callExtensions": [ # Call extensions to be added. This is a required field.
+          { # Represents a Call extension.
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set a default conversion action is used. This field only has effect if call_tracking_enabled is set to true. Otherwise this field is ignored.
+            "callConversionReportingState": "A String", # Enum value that indicates whether this call extension uses its own call conversion setting (or just have call conversion disabled), or following the account level setting.
+            "callConversionTrackingDisabled": True or False, # If true, disable call conversion tracking. call_conversion_action should not be set if this is true. Optional.
+            "callTrackingEnabled": True or False, # Indicates whether call tracking is enabled. By default, call tracking is not enabled.
+            "countryCode": "A String", # Uppercase two-letter country code of the advertiser's phone number. This string must not be empty.
+            "phoneNumber": "A String", # The advertiser's phone number to append to the ad. This string must not be empty.
+          },
+        ],
+      },
+      "calloutAsset": { # Parameters to use when applying callout asset recommendations. # Parameters to use when applying callout asset recommendation.
+        "adAssetApplyParameters": { # Common parameters used when applying ad asset recommendations. # Required. Callout assets to be added. This is a required field.
+          "existingAssets": [ # The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.
+            "A String",
+          ],
+          "newAssets": [ # The assets to create and attach to a scope. This may be combined with existing_assets in the same call.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "scope": "A String", # Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.
+        },
+      },
+      "calloutExtension": { # Parameters to use when applying callout extension recommendation. # Parameters to use when applying callout extension recommendation.
+        "calloutExtensions": [ # Callout extensions to be added. This is a required field.
+          { # Represents a callout extension.
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+          },
+        ],
+      },
+      "campaignBudget": { # Parameters to use when applying a campaign budget recommendation. # Optional parameters to use when applying a campaign budget recommendation.
+        "newBudgetAmountMicros": "A String", # New budget amount to set for target budget resource. This is a required field.
+      },
+      "forecastingSetTargetCpa": { # Parameters to use when applying a set target CPA recommendation. # Parameters to use when applying forecasting set target CPA recommendation.
+        "campaignBudgetAmountMicros": "A String", # New campaign budget amount to set for a campaign resource.
+        "targetCpaMicros": "A String", # Average CPA to use for Target CPA bidding strategy.
+      },
+      "forecastingSetTargetRoas": { # Parameters to use when applying a forecasting set target roas recommendation. # Parameters to use when applying a forecasting set target ROAS recommendation.
+        "campaignBudgetAmountMicros": "A String", # New campaign budget amount to set for a campaign resource.
+        "targetRoas": 3.14, # New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive.
+      },
+      "keyword": { # Parameters to use when applying keyword recommendation. # Optional parameters to use when applying keyword recommendation.
+        "adGroup": "A String", # The ad group resource to add keyword to. This is a required field.
+        "cpcBidMicros": "A String", # Optional, CPC bid to set for the keyword. If not set, keyword will use bid based on bidding strategy used by target ad group.
+        "matchType": "A String", # The match type of the keyword. This is a required field.
+      },
+      "leadFormAsset": { # Parameters to use when applying a lead form asset recommendation. # Parameters to use when applying lead form asset recommendation.
+        "adAssetApplyParameters": { # Common parameters used when applying ad asset recommendations. # Required. Lead form assets to be added. This is a required field.
+          "existingAssets": [ # The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.
+            "A String",
+          ],
+          "newAssets": [ # The assets to create and attach to a scope. This may be combined with existing_assets in the same call.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "scope": "A String", # Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.
+        },
+        "setSubmitLeadFormAssetCampaignGoal": True or False, # If true, the "Submit Lead Form" goal will be set on the target campaign. As a result, ads will be shown as lead form creative ads. If false, the "Submit Lead Form" goal will not be set on the campaign and ads will contain lead form assets.
+      },
+      "lowerTargetRoas": { # Parameters to use when applying lower Target ROAS recommendations. # Parameters to use when applying lower Target ROAS recommendation.
+        "targetRoasMultiplier": 3.14, # Required. Target to set ROAS multiplier to. This is a required field.
+      },
+      "moveUnusedBudget": { # Parameters to use when applying move unused budget recommendation. # Parameters to use when applying move unused budget recommendation.
+        "budgetMicrosToMove": "A String", # Budget amount to move from excess budget to constrained budget. This is a required field.
+      },
+      "raiseTargetCpa": { # Parameters to use when applying raise Target CPA recommendations. # Parameters to use when applying raise Target CPA recommendation.
+        "targetCpaMultiplier": 3.14, # Required. Target to set CPA multiplier to. This is a required field.
+      },
+      "raiseTargetCpaBidTooLow": { # Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign.. # Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign.
+        "targetMultiplier": 3.14, # Required. A number greater than 1.0 indicating the factor by which to increase the target CPA. This is a required field.
+      },
+      "resourceName": "A String", # The resource name of the recommendation to apply.
+      "responsiveSearchAd": { # Parameters to use when applying a responsive search ad recommendation. # Parameters to use when applying a responsive search ad recommendation.
+        "ad": { # An ad. # Required. New ad to add to recommended ad group.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdAsset": { # Parameters to use when applying a responsive search ad asset recommendation. # Parameters to use when applying a responsive search ad asset recommendation.
+        "updatedAd": { # An ad. # Updated ad. The current ad's content will be replaced.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdImproveAdStrength": { # Parameters to use when applying a responsive search ad improve ad strength recommendation. # Parameters to use when applying a responsive search ad improve ad strength recommendation.
+        "updatedAd": { # An ad. # Updated ad. The current ad's content will be replaced.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "setTargetCpa": { # Parameters to use when applying a set target CPA recommendation. # Parameters to use when applying set target CPA recommendation.
+        "campaignBudgetAmountMicros": "A String", # New campaign budget amount to set for a campaign resource.
+        "targetCpaMicros": "A String", # Average CPA to use for Target CPA bidding strategy.
+      },
+      "setTargetRoas": { # Parameters to use when applying a forecasting set target roas recommendation. # Parameters to use when applying set target ROAS recommendation.
+        "campaignBudgetAmountMicros": "A String", # New campaign budget amount to set for a campaign resource.
+        "targetRoas": 3.14, # New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive.
+      },
+      "sitelinkAsset": { # Parameters to use when applying sitelink asset recommendations. # Parameters to use when applying sitelink asset recommendation.
+        "adAssetApplyParameters": { # Common parameters used when applying ad asset recommendations. # Required. Sitelink assets to be added. This is a required field.
+          "existingAssets": [ # The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.
+            "A String",
+          ],
+          "newAssets": [ # The assets to create and attach to a scope. This may be combined with existing_assets in the same call.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "scope": "A String", # Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.
+        },
+      },
+      "sitelinkExtension": { # Parameters to use when applying sitelink recommendation. # Parameters to use when applying sitelink recommendation.
+        "sitelinkExtensions": [ # Sitelinks to be added. This is a required field.
+          { # Represents a sitelink.
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # Final URL suffix to be appended to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "line1": "A String", # First line of the description for the sitelink. If this value is set, line2 must also be set. The length of this string should be between 0 and 35, inclusive.
+            "line2": "A String", # Second line of the description for the sitelink. If this value is set, line1 must also be set. The length of this string should be between 0 and 35, inclusive.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+        ],
+      },
+      "targetCpaOptIn": { # Parameters to use when applying Target CPA recommendation. # Optional parameters to use when applying target CPA opt-in recommendation.
+        "newCampaignBudgetAmountMicros": "A String", # Optional, budget amount to set for the campaign.
+        "targetCpaMicros": "A String", # Average CPA to use for Target CPA bidding strategy. This is a required field.
+      },
+      "targetRoasOptIn": { # Parameters to use when applying a Target ROAS opt-in recommendation. # Optional parameters to use when applying target ROAS opt-in recommendation.
+        "newCampaignBudgetAmountMicros": "A String", # Optional, budget amount to set for the campaign.
+        "targetRoas": 3.14, # Average ROAS (revenue per unit of spend) to use for Target ROAS bidding strategy. The value is between 0.01 and 1000.0, inclusive. This is a required field, unless new_campaign_budget_amount_micros is set.
+      },
+      "textAd": { # Parameters to use when applying a text ad recommendation. # Optional parameters to use when applying a text ad recommendation.
+        "ad": { # An ad. # New ad to add to recommended ad group. All necessary fields need to be set in this message. This is a required field.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "useBroadMatchKeyword": { # Parameters to use when applying a use broad match keyword recommendation. # Parameters to use when applying a use broad match keyword recommendation.
+        "newBudgetAmountMicros": "A String", # New budget amount to set for target budget resource.
+      },
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried out as a transaction if and only if they are all valid. Default is false.
+}
+
+  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 RecommendationService.ApplyRecommendation.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
+    "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.
+  },
+  "results": [ # Results of operations to apply recommendations.
+    { # The result of applying a recommendation.
+      "resourceName": "A String", # Returned for successful applies.
+    },
+  ],
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ dismiss(customerId, body=None, x__xgafv=None) +
Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer with the recommendation. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RecommendationService.DismissRecommendation.
+  "operations": [ # Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.
+    { # Operation to dismiss a single recommendation identified by resource_name.
+      "resourceName": "A String", # The resource name of the recommendation to dismiss.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false.
+}
+
+  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 RecommendationService.DismissRecommendation.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error.
+    "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.
+  },
+  "results": [ # Results of operations to dismiss recommendations.
+    { # The result of dismissing a recommendation.
+      "resourceName": "A String", # Returned for successful dismissals.
+    },
+  ],
+}
+
+ +
+ generate(customerId, body=None, x__xgafv=None) +
Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer generating recommendations. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RecommendationService.GenerateRecommendations.
+  "adGroupInfo": [ # Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD
+    { # Current AdGroup Information of the campaign.
+      "adGroupType": "A String", # Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD
+      "keywords": [ # Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD
+        { # A keyword criterion.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+      ],
+    },
+  ],
+  "advertisingChannelType": "A String", # Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH
+  "assetGroupInfo": [ # Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET
+    { # Current AssetGroup information of the campaign.
+      "description": [ # Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
+        "A String",
+      ],
+      "finalUrl": "A String", # Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
+      "headline": [ # Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET
+        "A String",
+      ],
+    },
+  ],
+  "biddingInfo": { # Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations. # Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
+    "biddingStrategyType": "A String", # Current bidding strategy. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
+    "targetCpaMicros": "A String", # Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.
+    "targetImpressionShareInfo": { # Current Target Impression Share information of the campaign. # Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET
+      "location": "A String", # Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE.
+      "maxCpcBidCeiling": "A String", # Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.
+      "targetImpressionShareMicros": "A String", # Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.
+    },
+    "targetRoas": 3.14, # Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.
+  },
+  "budgetInfo": { # Current budget information of the campaign. # Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+    "currentBudget": "A String", # Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET
+  },
+  "campaignCallAssetCount": 42, # Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+  "campaignImageAssetCount": 42, # Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+  "campaignSitelinkCount": 42, # Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET
+  "conversionTrackingStatus": "A String", # Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
+  "countryCodes": [ # Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
+    "A String",
+  ],
+  "isNewCustomer": True or False, # Optional. Whether or not this customer should be treated as a "new" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+  "languageCodes": [ # Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
+    "A String",
+  ],
+  "merchantCenterAccountId": "A String", # Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+  "negativeLocationsIds": [ # Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
+    "A String",
+  ],
+  "positiveLocationsIds": [ # Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH
+    "A String",
+  ],
+  "recommendationTypes": [ # Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN
+    "A String",
+  ],
+  "seedInfo": { # A keyword seed and a specific url to generate keywords from. # Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD
+    "keywordSeeds": [ # Optional. Keywords or phrases to generate ideas from, for example: cars or "car dealership near me".
+      "A String",
+    ],
+    "urlSeed": "A String", # A specific url to generate ideas from, for example: www.example.com/cars.
+  },
+  "targetContentNetwork": True or False, # Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+  "targetPartnerSearchNetwork": True or False, # Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET
+}
+
+  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 RecommendationService.GenerateRecommendations.
+  "recommendations": [ # List of generated recommendations from the passed in set of requested recommendation_types. If there isn't sufficient data to generate a recommendation for the requested recommendation_types, the result set won't contain a recommendation for that type.
+    { # A recommendation.
+      "adGroup": "A String", # Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+      "callAssetRecommendation": { # The call asset recommendation. # Output only. The call asset recommendation.
+      },
+      "calloutAssetRecommendation": { # The callout asset recommendation. # Output only. The callout asset recommendation.
+        "recommendedCampaignCalloutAssets": [ # Output only. New callout extension assets recommended at the campaign level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+        "recommendedCustomerCalloutAssets": [ # Output only. New callout extension assets recommended at the customer level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+      },
+      "campaign": "A String", # Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,
+      "campaignBudget": "A String", # Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+      "campaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "campaigns": [ # Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET
+        "A String",
+      ],
+      "customAudienceOptInRecommendation": { # The Custom Audience Opt In recommendation. # Output only. The custom audience opt in recommendation.
+        "keywords": [ # Output only. The list of keywords to use for custom audience creation.
+          { # A keyword criterion.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        ],
+      },
+      "dismissed": True or False, # Output only. Whether the recommendation is dismissed or not.
+      "displayExpansionOptInRecommendation": { # The Display Expansion opt-in recommendation. # Output only. The Display Expansion opt-in recommendation.
+      },
+      "dynamicImageExtensionOptInRecommendation": { # Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads. # Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.
+      },
+      "enhancedCpcOptInRecommendation": { # The Enhanced Cost-Per-Click Opt-In recommendation. # Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
+      },
+      "forecastingCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The forecasting campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "forecastingSetTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The forecasting set target CPA recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+      },
+      "forecastingSetTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The forecasting set target ROAS recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+      },
+      "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact on account performance as a result of applying the recommendation.
+        "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+          "clicks": 3.14, # Output only. Number of ad clicks.
+          "conversions": 3.14, # Output only. Number of conversions.
+          "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+          "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+          "impressions": 3.14, # Output only. Number of ad impressions.
+          "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+        },
+        "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+          "clicks": 3.14, # Output only. Number of ad clicks.
+          "conversions": 3.14, # Output only. Number of conversions.
+          "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+          "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+          "impressions": 3.14, # Output only. Number of ad impressions.
+          "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+        },
+      },
+      "improveDemandGenAdStrengthRecommendation": { # The improve Demand Gen ad strength recommendation. # Output only. The improve Demand Gen ad strength recommendation.
+        "ad": "A String", # Output only. The resource name of the ad that can be improved.
+        "adStrength": "A String", # Output only. The current ad strength.
+        "demandGenAssetActionItems": [ # Output only. A list of recommendations to improve the ad strength.
+          "A String",
+        ],
+      },
+      "improveGoogleTagCoverageRecommendation": { # Recommendation to deploy Google Tag on more pages. # Output only. Recommendation to deploy Google Tag on more pages.
+      },
+      "improvePerformanceMaxAdStrengthRecommendation": { # Recommendation to improve the asset group strength of a Performance Max campaign to an "Excellent" rating. # Output only. The improve Performance Max ad strength recommendation.
+        "adStrength": "A String", # Output only. The current ad strength score of the asset group.
+        "assetGroup": "A String", # Output only. The asset group resource name.
+      },
+      "keywordMatchTypeRecommendation": { # The keyword match type recommendation. # Output only. The keyword match type recommendation.
+        "keyword": { # A keyword criterion. # Output only. The existing keyword where the match type should be more broad.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "recommendedMatchType": "A String", # Output only. The recommended new match type.
+      },
+      "keywordRecommendation": { # The keyword recommendation. # Output only. The keyword recommendation.
+        "keyword": { # A keyword criterion. # Output only. The recommended keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "recommendedCpcBidMicros": "A String", # Output only. The recommended CPC (cost-per-click) bid.
+        "searchTerms": [ # Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.
+          { # Information about a search term as related to a keyword recommendation.
+            "estimatedWeeklySearchCount": "A String", # Output only. Estimated number of historical weekly searches for this search term.
+            "text": "A String", # Output only. The text of the search term.
+          },
+        ],
+      },
+      "leadFormAssetRecommendation": { # The lead form asset recommendation. # Output only. The lead form asset recommendation.
+      },
+      "lowerTargetRoasRecommendation": { # Recommendation to lower Target ROAS. # Output only. Recommendation to lower Target ROAS.
+        "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+          "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+          "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+          "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+        },
+      },
+      "marginalRoiCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The marginal ROI campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "maximizeClicksOptInRecommendation": { # The Maximize Clicks opt-in recommendation. # Output only. The MaximizeClicks Opt-In recommendation.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount. Only set if the current budget is too high.
+      },
+      "maximizeConversionValueOptInRecommendation": { # Recommendation to opt into Maximize Conversion Value bidding strategy. # Output only. The Maximize Conversion Value opt-in recommendation.
+      },
+      "maximizeConversionsOptInRecommendation": { # The Maximize Conversions Opt-In recommendation. # Output only. The MaximizeConversions Opt-In recommendation.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount.
+      },
+      "migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { # The Dynamic Search Ads to Performance Max migration recommendation. # Output only. The Dynamic Search Ads to Performance Max migration recommendation.
+        "applyLink": "A String", # Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.
+      },
+      "moveUnusedBudgetRecommendation": { # The move unused budget recommendation. # Output only. The move unused budget recommendation.
+        "budgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The recommendation for the constrained budget to increase.
+          "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+            { # The impact estimates for a given budget amount.
+              "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+            },
+          ],
+          "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+        },
+        "excessCampaignBudget": "A String", # Output only. The excess budget's resource_name.
+      },
+      "optimizeAdRotationRecommendation": { # The Optimize Ad Rotation recommendation. # Output only. The Optimize Ad Rotation recommendation.
+      },
+      "performanceMaxFinalUrlOptInRecommendation": { # Recommendation to turn on Final URL expansion for your Performance Max campaigns. # Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.
+      },
+      "performanceMaxOptInRecommendation": { # The Performance Max Opt In recommendation. # Output only. The Performance Max Opt In recommendation.
+      },
+      "raiseTargetCpaBidTooLowRecommendation": { # The raise target CPA bid too low recommendation. # Output only. The raise target CPA bid too low recommendation.
+        "averageTargetCpaMicros": "A String", # Output only. The current average target CPA of the campaign, in micros of customer local currency.
+        "recommendedTargetMultiplier": 3.14, # Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.
+      },
+      "raiseTargetCpaRecommendation": { # Recommendation to raise Target CPA. # Output only. Recommendation to raise Target CPA.
+        "appBiddingGoal": "A String", # Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.
+        "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+          "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+          "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+          "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+        },
+      },
+      "refreshCustomerMatchListRecommendation": { # The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list. # Output only. The refresh customer list recommendation.
+        "daysSinceLastRefresh": "A String", # Output only. Days since last refresh.
+        "ownerAccount": { # Wrapper for information about a Google Ads account. # Output only. The owner account. This is the account that should update the customer list.
+          "customerId": "A String", # Output only. The customer ID of the account.
+          "descriptiveName": "A String", # Output only. The descriptive name of the account.
+        },
+        "targetingAccountsCount": "A String", # Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.
+        "topSpendingAccount": [ # Output only. The top spending account.
+          { # Wrapper for information about a Google Ads account.
+            "customerId": "A String", # Output only. The customer ID of the account.
+            "descriptiveName": "A String", # Output only. The descriptive name of the account.
+          },
+        ],
+        "userListId": "A String", # Output only. The user list ID.
+        "userListName": "A String", # Output only. The name of the list.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`
+      "responsiveSearchAdAssetRecommendation": { # The add responsive search ad asset recommendation. # Output only. The responsive search ad asset recommendation.
+        "currentAd": { # An ad. # Output only. The current ad to be updated.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "recommendedAssets": { # An ad. # Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdImproveAdStrengthRecommendation": { # The responsive search ad improve ad strength recommendation. # Output only. The responsive search ad improve ad strength recommendation.
+        "currentAd": { # An ad. # Output only. The current ad to be updated.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "recommendedAd": { # An ad. # Output only. The updated ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdRecommendation": { # The add responsive search ad recommendation. # Output only. The add responsive search ad recommendation.
+        "ad": { # An ad. # Output only. Recommended ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "searchPartnersOptInRecommendation": { # The Search Partners Opt-In recommendation. # Output only. The Search Partners Opt-In recommendation.
+      },
+      "setTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The set target CPA recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+      },
+      "setTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The set target ROAS recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+      },
+      "shoppingAddAgeGroupRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add age group recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddColorRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add color recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddGenderRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add gender recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddGtinRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add GTIN recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddMoreIdentifiersRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add more identifiers recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddProductsToCampaignRecommendation": { # The shopping recommendation to add products to a Shopping Campaign Inventory. # Output only. The shopping add products to campaign recommendation.
+        "feedLabel": "A String", # Output only. The feed label for the campaign.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "reason": "A String", # Output only. The reason why no products are attached to the campaign.
+      },
+      "shoppingAddSizeRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add size recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingFixDisapprovedProductsRecommendation": { # The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory. # Output only. The shopping fix disapproved products recommendation.
+        "disapprovedProductsCount": "A String", # Output only. The numbers of products of the campaign that are disapproved.
+        "feedLabel": "A String", # Output only. The feed label for the campaign.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "productsCount": "A String", # Output only. The number of products of the campaign.
+      },
+      "shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix Merchant Center account suspension warning recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingFixSuspendedMerchantCenterAccountRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix suspended Merchant Center account recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { # The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns. # Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingTargetAllOffersRecommendation": { # The shopping recommendation to create a catch-all campaign that targets all offers. # Output only. The shopping target all offers recommendation.
+        "feedLabel": "A String", # Output only. The offer feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "untargetedOffersCount": "A String", # Output only. The number of untargeted offers.
+      },
+      "sitelinkAssetRecommendation": { # The sitelink asset recommendation. # Output only. The sitelink asset recommendation.
+        "recommendedCampaignSitelinkAssets": [ # Output only. New sitelink assets recommended at the campaign level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+        "recommendedCustomerSitelinkAssets": [ # Output only. New sitelink assets recommended at the customer level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+      },
+      "targetCpaOptInRecommendation": { # The Target CPA opt-in recommendation. # Output only. The TargetCPA opt-in recommendation.
+        "options": [ # Output only. The available goals and corresponding options for Target CPA strategy.
+          { # The Target CPA opt-in option with impact estimate.
+            "goal": "A String", # Output only. The goal achieved by this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if this option is selected.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+            "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.
+            "targetCpaMicros": "A String", # Output only. Average CPA target.
+          },
+        ],
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.
+      },
+      "targetRoasOptInRecommendation": { # The Target ROAS opt-in recommendation. # Output only. The Target ROAS opt-in recommendation.
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+        "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.
+      },
+      "textAdRecommendation": { # The text ad recommendation. # Output only. Add expanded text ad recommendation.
+        "ad": { # An ad. # Output only. Recommended ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "autoApplyDate": "A String", # Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.
+        "creationDate": "A String", # Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.
+      },
+      "type": "A String", # Output only. The type of recommendation.
+      "upgradeLocalCampaignToPerformanceMaxRecommendation": { # The Upgrade Local campaign to Performance Max campaign recommendation. # Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.
+      },
+      "upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { # The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation. # Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.
+        "merchantId": "A String", # Output only. ID of Merchant Center account.
+        "salesCountryCode": "A String", # Output only. Country whose products from merchant's inventory should be included.
+      },
+      "useBroadMatchKeywordRecommendation": { # The use broad match keyword recommendation. # Output only. The use broad match keyword recommendation.
+        "campaignKeywordsCount": "A String", # Output only. Total number of keywords in the campaign.
+        "campaignUsesSharedBudget": True or False, # Output only. Whether the associated campaign uses a shared budget.
+        "keyword": [ # Output only. Sample of keywords to be expanded to Broad Match.
+          { # A keyword criterion.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        ],
+        "requiredCampaignBudgetAmountMicros": "A String", # Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.
+        "suggestedKeywordsCount": "A String", # Output only. Total number of keywords to be expanded to Broad Match in the campaign.
+      },
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.remarketingActions.html b/docs/dyn/searchads360_v23.customers.remarketingActions.html new file mode 100644 index 0000000000..ea8150b13f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.remarketingActions.html @@ -0,0 +1,160 @@ + + + +

Search Ads 360 Reporting API . customers . remarketingActions

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose remarketing actions are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for RemarketingActionService.MutateRemarketingActions.
+  "operations": [ # Required. The list of operations to perform on individual remarketing actions.
+    { # A single operation (create, update) on a remarketing action.
+      "create": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Create operation: No resource name is expected for the new remarketing action.
+        "id": "A String", # Output only. Id of the remarketing action.
+        "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+        "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+        "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+      },
+      "update": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Update operation: The remarketing action is expected to have a valid resource name.
+        "id": "A String", # Output only. Id of the remarketing action.
+        "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+        "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+        "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 remarketing action mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the remarketing action mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.searchAds360.html b/docs/dyn/searchads360_v23.customers.searchAds360.html new file mode 100644 index 0000000000..8b74a387e4 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.searchAds360.html @@ -0,0 +1,111279 @@ + + + +

Search Ads 360 Reporting API . customers . searchAds360

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()

+

+ search(customerId, body=None, x__xgafv=None)

+

Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()

+

+ search_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose resources are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for Service.Mutate.
+  "mutateOperations": [ # Required. The list of operations to perform on individual resources.
+    { # A single operation (create, update, remove) on a resource.
+      "adGroupAdLabelOperation": { # A single operation (create, remove) on an ad group ad label. # An ad group ad label mutate operation.
+        "create": { # A relationship between an ad group ad and a label. # Create operation: No resource name is expected for the new ad group ad label.
+          "adGroupAd": "A String", # Immutable. The ad group ad to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group ad.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+      },
+      "adGroupAdOperation": { # A single operation (create, update, remove) on an ad group ad. # An ad group ad mutate operation.
+        "create": { # An ad group ad. # Create operation: No resource name is expected for the new ad.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+          "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+              "policyName": "A String", # Unique ID of the violated policy.
+              "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+            },
+          ],
+          "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            "A String",
+          ],
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "update": { # An ad group ad. # Update operation: The ad is expected to have a valid resource name.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupAssetOperation": { # A single operation (create, update, remove) on an ad group asset. # An ad group asset mutate operation.
+        "create": { # A link between an ad group and an asset. # Create operation: No resource name is expected for the new ad group asset.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "update": { # A link between an ad group and an asset. # Update operation: The ad group asset is expected to have a valid resource name.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupBidModifierOperation": { # A single operation (create, remove, update) on an ad group bid modifier. # An ad group bid modifier mutate operation.
+        "create": { # Represents an ad group bid modifier. # Create operation: No resource name is expected for the new ad group bid modifier.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        "update": { # Represents an ad group bid modifier. # Update operation: The ad group bid modifier is expected to have a valid resource name.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupCriterionCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # An ad group criterion customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # Create operation: No resource name is expected for the new ad group criterion customizer.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group criterion customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+      },
+      "adGroupCriterionLabelOperation": { # A single operation (create, remove) on an ad group criterion label. # An ad group criterion label mutate operation.
+        "create": { # A relationship between an ad group criterion and a label. # Create operation: No resource name is expected for the new ad group label.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group criterion.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+      },
+      "adGroupCriterionOperation": { # A single operation (create, remove, update) on an ad group criterion. # An ad group criterion mutate operation.
+        "create": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Create operation: No resource name is expected for the new criterion.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "update": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Update operation: The criterion is expected to have a valid resource name.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adGroupCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # An ad group customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # Create operation: No resource name is expected for the new ad group customizer
+          "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+          "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+      },
+      "adGroupLabelOperation": { # A single operation (create, remove) on an ad group label. # An ad group label mutate operation.
+        "create": { # A relationship between an ad group and a label. # Create operation: No resource name is expected for the new ad group label.
+          "adGroup": "A String", # Immutable. The ad group to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the ad group.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+      },
+      "adGroupOperation": { # A single operation (create, update, remove) on an ad group. # An ad group mutate operation.
+        "create": { # An ad group. # Create operation: No resource name is expected for the new ad group.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "update": { # An ad group. # Update operation: The ad group is expected to have a valid resource name.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adOperation": { # A single update operation on an ad. # An ad mutate operation.
+        "policyValidationParameter": { # Parameter for controlling how policy exemption is done. # Configuration for how policies are validated.
+          "exemptPolicyViolationKeys": [ # The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+              "policyName": "A String", # Unique ID of the violated policy.
+              "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+            },
+          ],
+          "ignorablePolicyTopics": [ # The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+            "A String",
+          ],
+        },
+        "update": { # An ad. # Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id}/ads/{ad_id}`
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "adParameterOperation": { # A single operation (create, update, remove) on ad parameter. # An ad parameter mutate operation.
+        "create": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Create operation: No resource name is expected for the new ad parameter.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+          "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+          "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+          "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        "update": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # Update operation: The ad parameter is expected to have a valid resource name.
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+          "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+          "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+          "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupAssetOperation": { # A single operation (create, remove) on an asset group asset. # An asset group asset mutate operation.
+        "create": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Create operation: No resource name is expected for the new asset group asset.
+          "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+          "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+          "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+            "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process the resource is.
+          },
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the asset group asset.
+          "status": "A String", # The status of the link between an asset and asset group.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+        "update": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # Update operation: The asset group asset is expected to have a valid resource name.
+          "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+          "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+          "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+            "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process the resource is.
+          },
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the asset group asset.
+          "status": "A String", # The status of the link between an asset and asset group.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupListingGroupFilterOperation": { # A single operation (create, remove) on an asset group listing group filter. # An asset group listing group filter mutate operation.
+        "create": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Create operation: No resource name is expected for the new asset group listing group filter.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+          "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+          "id": "A String", # Output only. The ID of the ListingGroupFilter.
+          "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+          "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+          "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+            "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+              { # Listing dimensions for the asset group listing group filter.
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Indicates the level of the category in the taxonomy.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                  "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                    { # Matching condition for URL filtering.
+                      "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                      "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                    },
+                  ],
+                },
+              },
+            ],
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+          "type": "A String", # Immutable. Type of a listing group filter node.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.
+        "update": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # Update operation: The asset group listing group filter is expected to have a valid resource name.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+          "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+          "id": "A String", # Output only. The ID of the ListingGroupFilter.
+          "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+          "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+          "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+            "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+              { # Listing dimensions for the asset group listing group filter.
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Indicates the level of the category in the taxonomy.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                  "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                    { # Matching condition for URL filtering.
+                      "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                      "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                    },
+                  ],
+                },
+              },
+            ],
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+          "type": "A String", # Immutable. Type of a listing group filter node.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupOperation": { # A single operation (create, remove) on an asset group. # An asset group mutate operation.
+        "create": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Create operation: No resource name is expected for the new asset group
+          "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+          "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+            "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+              { # An action item to improve the ad strength of an asset group.
+                "actionItemType": "A String", # Output only. The action item type.
+                "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                  "assetCount": 42, # Output only. The number of assets to add.
+                  "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                  "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+                },
+              },
+            ],
+          },
+          "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+          "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the asset group.
+          "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+          "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+          "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+          "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+          "status": "A String", # The status of the asset group.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`
+        "update": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # Update operation: The asset group is expected to have a valid resource name.
+          "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+          "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+            "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+              { # An action item to improve the ad strength of an asset group.
+                "actionItemType": "A String", # Output only. The action item type.
+                "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                  "assetCount": 42, # Output only. The number of assets to add.
+                  "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                  "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+                },
+              },
+            ],
+          },
+          "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+          "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the asset group.
+          "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+          "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+          "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+          "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+          "status": "A String", # The status of the asset group.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetGroupSignalOperation": { # A single operation (create, remove) on an asset group signal. # An asset group signal mutate operation.
+        "create": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # Create operation: No resource name is expected for the new asset group signal.
+          "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+          "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+            "audience": "A String", # The Audience resource name.
+          },
+          "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+          "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+            "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+          },
+        },
+        "exemptPolicyViolationKeys": [ # Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.
+          { # Key of the violation. The key is used for referring to a violation when filing an exemption request.
+            "policyName": "A String", # Unique ID of the violated policy.
+            "violatingText": "A String", # The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.
+          },
+        ],
+        "remove": "A String", # Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`
+      },
+      "assetOperation": { # A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets. # An asset mutate operation.
+        "create": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Create operation: No resource name is expected for the new asset.
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "update": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id}/assets/{asset_id}`
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "assetSetAssetOperation": { # A single operation (create, remove) on an asset set asset. # An asset set asset mutate operation.
+        "create": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Create operation: No resource name is expected for the new asset set asset
+          "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+          "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+          "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+          "status": "A String", # Output only. The status of the asset set asset. Read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+      },
+      "assetSetOperation": { # A single operation (create, remove) on an asset set. # An asset set mutate operation.
+        "create": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Create operation: No resource name is expected for the new asset set
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "update": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Update operation: The asset set is expected to have a valid resource name.
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "audienceOperation": { # A single operation (create, update) on an audience. # An audience mutate operation.
+        "create": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Create operation: No resource name is expected for the new audience
+          "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+          "description": "A String", # Description of this audience.
+          "dimensions": [ # Positive dimensions specifying the audience composition.
+            { # Positive dimension specifying user's audience.
+              "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                "ageRanges": [ # Contiguous age range to be included in the dimension.
+                  { # Contiguous age range.
+                    "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                    "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                  },
+                ],
+                "includeUndetermined": True or False, # Include users whose age is not determined.
+              },
+              "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                  { # Positive audience segment.
+                    "customAudience": { # Custom audience segment. # Custom audience segment.
+                      "customAudience": "A String", # The custom audience resource.
+                    },
+                    "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                      "detailedDemographic": "A String", # The detailed demographic resource.
+                    },
+                    "lifeEvent": { # Live event segment. # Live-event audience segment.
+                      "lifeEvent": "A String", # The life event resource.
+                    },
+                    "userInterest": { # User interest segment. # Affinity or In-market segment.
+                      "userInterestCategory": "A String", # The user interest resource.
+                    },
+                    "userList": { # User list segment. # User list segment.
+                      "userList": "A String", # The user list resource.
+                    },
+                  },
+                ],
+              },
+              "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                "genders": [ # Included gender demographic segments.
+                  "A String",
+                ],
+                "includeUndetermined": True or False, # Include users whose gender is not determined.
+              },
+              "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                "includeUndetermined": True or False, # Include users whose household income is not determined.
+                "incomeRanges": [ # Included household income demographic segments.
+                  "A String",
+                ],
+              },
+              "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                "parentalStatuses": [ # Included parental status demographic segments.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+            "exclusions": [ # Audience segment to be excluded.
+              { # An audience segment to be excluded from an audience.
+                "userList": { # User list segment. # User list segment to be excluded.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "id": "A String", # Output only. ID of the audience.
+          "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+          "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+          "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+          "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+        },
+        "update": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # Update operation: The audience is expected to have a valid resource name.
+          "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+          "description": "A String", # Description of this audience.
+          "dimensions": [ # Positive dimensions specifying the audience composition.
+            { # Positive dimension specifying user's audience.
+              "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                "ageRanges": [ # Contiguous age range to be included in the dimension.
+                  { # Contiguous age range.
+                    "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                    "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                  },
+                ],
+                "includeUndetermined": True or False, # Include users whose age is not determined.
+              },
+              "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                  { # Positive audience segment.
+                    "customAudience": { # Custom audience segment. # Custom audience segment.
+                      "customAudience": "A String", # The custom audience resource.
+                    },
+                    "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                      "detailedDemographic": "A String", # The detailed demographic resource.
+                    },
+                    "lifeEvent": { # Live event segment. # Live-event audience segment.
+                      "lifeEvent": "A String", # The life event resource.
+                    },
+                    "userInterest": { # User interest segment. # Affinity or In-market segment.
+                      "userInterestCategory": "A String", # The user interest resource.
+                    },
+                    "userList": { # User list segment. # User list segment.
+                      "userList": "A String", # The user list resource.
+                    },
+                  },
+                ],
+              },
+              "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                "genders": [ # Included gender demographic segments.
+                  "A String",
+                ],
+                "includeUndetermined": True or False, # Include users whose gender is not determined.
+              },
+              "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                "includeUndetermined": True or False, # Include users whose household income is not determined.
+                "incomeRanges": [ # Included household income demographic segments.
+                  "A String",
+                ],
+              },
+              "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                "parentalStatuses": [ # Included parental status demographic segments.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+            "exclusions": [ # Audience segment to be excluded.
+              { # An audience segment to be excluded from an audience.
+                "userList": { # User list segment. # User list segment to be excluded.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "id": "A String", # Output only. ID of the audience.
+          "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+          "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+          "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+          "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingDataExclusionOperation": { # A single operation (create, remove, update) on a data exclusion. # A bidding data exclusion mutate operation.
+        "create": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Create operation: No resource name is expected for the new data exclusion.
+          "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+          "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+          "scope": "A String", # The scope of the data exclusion.
+          "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+          "status": "A String", # Output only. The status of the data exclusion.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "update": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # Update operation: The data exclusion is expected to have a valid resource name.
+          "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+          "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+          "scope": "A String", # The scope of the data exclusion.
+          "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+          "status": "A String", # Output only. The status of the data exclusion.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingSeasonalityAdjustmentOperation": { # A single operation (create, remove, update) on a seasonality adjustment. # A bidding seasonality adjustment mutate operation.
+        "create": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Create operation: No resource name is expected for the new seasonality adjustment.
+          "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+          "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+          "scope": "A String", # The scope of the seasonality adjustment.
+          "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+          "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+          "status": "A String", # Output only. The status of the seasonality adjustment.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "update": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # Update operation: The seasonality adjustment is expected to have a valid resource name.
+          "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+          "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+          "scope": "A String", # The scope of the seasonality adjustment.
+          "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+          "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+          "status": "A String", # Output only. The status of the seasonality adjustment.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "biddingStrategyOperation": { # A single operation (create, update, remove) on a bidding strategy. # A bidding strategy mutate operation.
+        "create": { # A bidding strategy. # Create operation: No resource name is expected for the new bidding strategy.
+          "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+          "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+          "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+          "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+          "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+          },
+          "id": "A String", # Output only. The ID of the bidding strategy.
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+          "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "update": { # A bidding strategy. # Update operation: The bidding strategy is expected to have a valid resource name.
+          "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+          "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+          "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+          "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+          "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+          },
+          "id": "A String", # Output only. The ID of the bidding strategy.
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+          "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignAssetOperation": { # A single operation (create, remove) on a campaign asset. # A campaign asset mutate operation.
+        "create": { # A link between a Campaign and an Asset. # Create operation: No resource name is expected for the new campaign asset.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "update": { # A link between a Campaign and an Asset. # Update operation: The campaign asset is expected to have a valid resource name.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignAssetSetOperation": { # A single operation (create, remove) on a campaign asset set. # A campaign asset mutate operation.
+        "create": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Create operation: No resource name is expected for the new campaign asset set.
+          "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+          "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+      },
+      "campaignBidModifierOperation": { # A single operation (create, remove, update) on a campaign bid modifier. # A campaign bid modifier mutate operation.
+        "create": { # Represents a bid-modifiable only criterion at the campaign level. # Create operation: No resource name is expected for the new campaign bid modifier.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+          "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+            "type": "A String", # The interaction type.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`
+        "update": { # Represents a bid-modifiable only criterion at the campaign level. # Update operation: The campaign bid modifier is expected to have a valid resource name.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+          "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+            "type": "A String", # The interaction type.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignBudgetOperation": { # A single operation (create, update, remove) on a campaign budget. # A campaign budget mutate operation.
+        "create": { # A campaign budget. # Create operation: No resource name is expected for the new budget.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id}/campaignBudgets/{budget_id}`
+        "update": { # A campaign budget. # Update operation: The campaign budget is expected to have a valid resource name.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignConversionGoalOperation": { # A single operation (update) on a campaign conversion goal. # A campaign conversion goal mutate operation.
+        "update": { # The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+          "biddable": True or False, # The biddability of the campaign conversion goal.
+          "campaign": "A String", # Immutable. The campaign with which this campaign conversion goal is associated.
+          "category": "A String", # The conversion category of this campaign conversion goal.
+          "origin": "A String", # The conversion origin of this campaign conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`
+          "searchAds360Biddable": True or False, # Search Ads 360 biddability of the campaign conversion goal.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignCriterionOperation": { # A single operation (create, update, remove) on a campaign criterion. # A campaign criterion mutate operation.
+        "create": { # A campaign criterion. # Create operation: No resource name is expected for the new criterion.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "update": { # A campaign criterion. # Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # A campaign customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # Create operation: No resource name is expected for the new campaign customizer
+          "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+          "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the campaign customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+      },
+      "campaignDraftOperation": { # A single operation (create, update, remove) on a campaign draft. # A campaign draft mutate operation.
+        "create": { # A campaign draft. # Create operation: No resource name is expected for the new campaign draft.
+          "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+          "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+          "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+          "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+          "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+          "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+        },
+        "remove": "A String", # Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "update": { # A campaign draft. # Update operation: The campaign draft is expected to have a valid resource name.
+          "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+          "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+          "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+          "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+          "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+          "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignGroupOperation": { # A single operation (create, update, remove) on a campaign group. # A campaign group mutate operation.
+        "create": { # A campaign group. # Create operation: No resource name is expected for the new campaign group.
+          "id": "A String", # Output only. The ID of the campaign group.
+          "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+          "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "update": { # A campaign group. # Update operation: The campaign group is expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of the campaign group.
+          "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+          "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignLabelOperation": { # A single operation (create, remove) on a campaign-label relationship. # A campaign label mutate operation.
+        "create": { # Represents a relationship between a campaign and a label. # Create operation: No resource name is expected for the new campaign-label relationship.
+          "campaign": "A String", # Immutable. The campaign to which the label is attached.
+          "label": "A String", # Immutable. The label assigned to the campaign.
+          "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+          "resourceName": "A String", # Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+      },
+      "campaignOperation": { # A single operation (create, update, remove) on a campaign. # A campaign mutate operation.
+        "create": { # A campaign. # Create operation: No resource name is expected for the new campaign.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id}/campaigns/{campaign_id}`
+        "update": { # A campaign. # Update operation: The campaign is expected to have a valid resource name.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "campaignSharedSetOperation": { # A single operation (create, remove) on a campaign shared set. # A campaign shared set mutate operation.
+        "create": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # Create operation: No resource name is expected for the new campaign shared set.
+          "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+          "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+          "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+          "status": "A String", # Output only. The status of this campaign shared set. Read only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+      },
+      "conversionActionOperation": { # A single operation (create, update, remove) on a conversion action. # A conversion action mutate operation.
+        "create": { # A conversion action. # Create operation: No resource name is expected for the new conversion action.
+          "appId": "A String", # App ID for an app conversion action.
+          "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+            "attributionModel": "A String", # The attribution model type of this conversion action.
+            "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+          },
+          "category": "A String", # The category of conversions reported for this conversion action.
+          "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+          "countingType": "A String", # How to count conversion events for the conversion action.
+          "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+          "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+            "eventName": "A String", # Output only. The event name of a Firebase conversion.
+            "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+            "propertyId": "A String", # Output only. The GA property ID of the conversion.
+            "propertyName": "A String", # Output only. The GA property name of the conversion.
+          },
+          "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+            "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+            "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+            "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+          },
+          "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+            "eventName": "A String", # Output only. The name of the GA 4 event.
+            "propertyId": "A String", # Output only. The ID of the GA 4 property.
+            "propertyName": "A String", # Output only. The name of the GA 4 property.
+          },
+          "id": "A String", # Output only. The ID of the conversion action.
+          "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+          "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+          "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+          "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+          "origin": "A String", # Output only. The conversion origin of this conversion action.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+          "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+          "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+          "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+          "status": "A String", # The status of this conversion action for conversion event accrual.
+          "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+          "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+            "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+            "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+          },
+          "type": "A String", # Immutable. The type of this conversion action.
+          "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+            "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+            "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+            "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+          },
+          "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "update": { # A conversion action. # Update operation: The conversion action is expected to have a valid resource name.
+          "appId": "A String", # App ID for an app conversion action.
+          "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+            "attributionModel": "A String", # The attribution model type of this conversion action.
+            "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+          },
+          "category": "A String", # The category of conversions reported for this conversion action.
+          "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+          "countingType": "A String", # How to count conversion events for the conversion action.
+          "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+          "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+            "eventName": "A String", # Output only. The event name of a Firebase conversion.
+            "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+            "propertyId": "A String", # Output only. The GA property ID of the conversion.
+            "propertyName": "A String", # Output only. The GA property name of the conversion.
+          },
+          "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+            "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+            "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+            "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+          },
+          "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+            "eventName": "A String", # Output only. The name of the GA 4 event.
+            "propertyId": "A String", # Output only. The ID of the GA 4 property.
+            "propertyName": "A String", # Output only. The name of the GA 4 property.
+          },
+          "id": "A String", # Output only. The ID of the conversion action.
+          "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+          "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+          "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+          "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+          "origin": "A String", # Output only. The conversion origin of this conversion action.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+          "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+          "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+          "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+          "status": "A String", # The status of this conversion action for conversion event accrual.
+          "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+          "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+            "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+            "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+          },
+          "type": "A String", # Immutable. The type of this conversion action.
+          "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+            "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+            "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+            "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+          },
+          "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionCustomVariableOperation": { # A single operation (create, update) on a conversion custom variable. # A conversion custom variable mutate operation.
+        "create": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Create operation: No resource name is expected for the new conversion custom variable.
+          "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+          "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+            "A String",
+          ],
+          "family": "A String", # Output only. Family of the conversion custom variable.
+          "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+            "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+            "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+          },
+          "id": "A String", # Output only. The ID of the conversion custom variable.
+          "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+          "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+          "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+          "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+          "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+        },
+        "update": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # Update operation: The conversion custom variable is expected to have a valid resource name.
+          "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+          "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+            "A String",
+          ],
+          "family": "A String", # Output only. Family of the conversion custom variable.
+          "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+            "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+            "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+          },
+          "id": "A String", # Output only. The ID of the conversion custom variable.
+          "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+          "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+          "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+          "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+          "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionGoalCampaignConfigOperation": { # A single operation (update) on a conversion goal campaign config. # A conversion goal campaign config mutate operation.
+        "update": { # Conversion goal settings for a Campaign. # Update operation: The conversion goal campaign config is expected to have a valid resource name.
+          "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+          "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+          "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+          "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+          "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+          "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionValueRuleOperation": { # A single operation (create, update, remove) on a conversion value rule. # A conversion value rule mutate operation.
+        "create": { # A conversion value rule # Create operation: No resource name is expected for the new conversion value rule.
+          "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+            "operation": "A String", # Specifies applied operation.
+            "value": 3.14, # Specifies applied value.
+          },
+          "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+            "userInterests": [ # User Interests.
+              "A String",
+            ],
+            "userLists": [ # User Lists.
+              "A String",
+            ],
+          },
+          "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+            "deviceTypes": [ # Value for device type condition.
+              "A String",
+            ],
+          },
+          "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+            "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+            "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+              "A String",
+            ],
+            "geoMatchType": "A String", # Included Geo location match type.
+            "geoTargetConstants": [ # Geo locations that advertisers want to include.
+              "A String",
+            ],
+          },
+          "id": "A String", # Output only. The ID of the conversion value rule.
+          "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+            "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+              "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+              "minDays": 42, # Minimum number of days between the date of the booking the start date.
+            },
+            "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+              "maxNights": 42, # Maximum number of days between the start date and the end date.
+              "minNights": 42, # Minimum number of nights between the start date and the end date.
+            },
+            "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+              "friday": True or False, # The travel can start on Friday.
+              "monday": True or False, # The travel can start on Monday.
+              "saturday": True or False, # The travel can start on Saturday.
+              "sunday": True or False, # The travel can start on Sunday.
+              "thursday": True or False, # The travel can start on Thursday.
+              "tuesday": True or False, # The travel can start on Tuesday.
+              "wednesday": True or False, # The travel can start on Wednesday.
+            },
+          },
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+          "status": "A String", # The status of the conversion value rule.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "update": { # A conversion value rule # Update operation: The conversion value rule is expected to have a valid resource name.
+          "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+            "operation": "A String", # Specifies applied operation.
+            "value": 3.14, # Specifies applied value.
+          },
+          "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+            "userInterests": [ # User Interests.
+              "A String",
+            ],
+            "userLists": [ # User Lists.
+              "A String",
+            ],
+          },
+          "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+            "deviceTypes": [ # Value for device type condition.
+              "A String",
+            ],
+          },
+          "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+            "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+            "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+              "A String",
+            ],
+            "geoMatchType": "A String", # Included Geo location match type.
+            "geoTargetConstants": [ # Geo locations that advertisers want to include.
+              "A String",
+            ],
+          },
+          "id": "A String", # Output only. The ID of the conversion value rule.
+          "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+            "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+              "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+              "minDays": 42, # Minimum number of days between the date of the booking the start date.
+            },
+            "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+              "maxNights": 42, # Maximum number of days between the start date and the end date.
+              "minNights": 42, # Minimum number of nights between the start date and the end date.
+            },
+            "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+              "friday": True or False, # The travel can start on Friday.
+              "monday": True or False, # The travel can start on Monday.
+              "saturday": True or False, # The travel can start on Saturday.
+              "sunday": True or False, # The travel can start on Sunday.
+              "thursday": True or False, # The travel can start on Thursday.
+              "tuesday": True or False, # The travel can start on Tuesday.
+              "wednesday": True or False, # The travel can start on Wednesday.
+            },
+          },
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+          "status": "A String", # The status of the conversion value rule.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "conversionValueRuleSetOperation": { # A single operation (create, update, remove) on a conversion value rule set. # A conversion value rule set mutate operation.
+        "create": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Create operation: No resource name is expected for the new conversion value rule set.
+          "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+          "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+          "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+            "A String",
+          ],
+          "conversionValueRules": [ # Resource names of rules within the rule set.
+            "A String",
+          ],
+          "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the conversion value rule set.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+          "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "update": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # Update operation: The conversion value rule set is expected to have a valid resource name.
+          "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+          "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+          "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+            "A String",
+          ],
+          "conversionValueRules": [ # Resource names of rules within the rule set.
+            "A String",
+          ],
+          "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the conversion value rule set.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+          "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customConversionGoalOperation": { # A single operation (create, remove) on a custom conversion goal. # A custom conversion goal mutate operation.
+        "create": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Create operation: No resource name is expected for the new custom conversion goal
+          "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+            "A String",
+          ],
+          "id": "A String", # Immutable. The ID for this custom conversion goal.
+          "name": "A String", # The name for this custom conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+          "status": "A String", # The status of the custom conversion goal.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'
+        "update": { # Custom conversion goal that can make arbitrary conversion actions biddable. # Update operation: The custom conversion goal is expected to have a valid resource name.
+          "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+            "A String",
+          ],
+          "id": "A String", # Immutable. The ID for this custom conversion goal.
+          "name": "A String", # The name for this custom conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+          "status": "A String", # The status of the custom conversion goal.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerAssetOperation": { # A single operation (create, update, remove) on a customer asset. # A customer asset mutate operation.
+        "create": { # A link between a customer and an asset. # Create operation: No resource name is expected for the new customer asset.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "update": { # A link between a customer and an asset. # Update operation: The customer asset is expected to have a valid resource name.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerConversionGoalOperation": { # A single operation (update) on a customer conversion goal. # A customer conversion goal mutate operation.
+        "update": { # Biddability control for conversion actions with a matching category and origin. # Update operation: The customer conversion goal is expected to have a valid resource name.
+          "biddable": True or False, # The biddability of the customer conversion goal.
+          "category": "A String", # The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
+          "origin": "A String", # The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
+          "resourceName": "A String", # Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customerCustomizerOperation": { # A single operation (create, remove) on a customizer attribute. # A customer customizer mutate operation.
+        "create": { # A customizer value for the associated CustomizerAttribute at the Customer level. # Create operation: No resource name is expected for the new customer customizer
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+          "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customer customizer attribute.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+      },
+      "customerLabelOperation": { # A single operation (create, remove) on a customer-label relationship. # A customer label mutate operation.
+        "create": { # Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. # Create operation: No resource name is expected for the new customer-label relationship.
+          "customer": "A String", # Output only. The resource name of the customer to which the label is attached. Read only.
+          "label": "A String", # Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.
+          "resourceName": "A String", # Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`
+      },
+      "customerNegativeCriterionOperation": { # A single operation (create or remove) on a customer level negative criterion. # A customer negative criterion mutate operation.
+        "create": { # A negative criterion for exclusions at the customer level. # Create operation: No resource name is expected for the new criterion.
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "id": "A String", # Output only. The ID of the criterion.
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+            "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+            "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+          "type": "A String", # Output only. The type of the criterion.
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+      },
+      "customerOperation": { # A single update on a customer. # A customer mutate operation.
+        "update": { # A customer. # Mutate operation. Only updates are supported for customer.
+          "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+          "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+          "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+          "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+          "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+          "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+          "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+            "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+            "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+            "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+          },
+          "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+          "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+            "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+            "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+            "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+            "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+            "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+            "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+            "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+          "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+            "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+          },
+          "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+          "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+            "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+            "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+            "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+          },
+          "engineId": "A String", # Output only. ID of the account in the external engine account.
+          "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+          "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+          "id": "A String", # Output only. The ID of the customer.
+          "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+          "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+          "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+            "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+              { # Insurance status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+              },
+            ],
+            "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+              { # License status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+              },
+            ],
+          },
+          "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+          "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+          "manager": True or False, # Output only. Whether the customer is a manager.
+          "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+          "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+          "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+          "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+            "A String",
+          ],
+          "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+            "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+          "status": "A String", # Output only. The status of the customer.
+          "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+          "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+          "testAccount": True or False, # Output only. Whether the customer is a test account.
+          "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+            "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+              "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+                { # Container for third party Brand Lift integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+                { # Container for third party brand safety integration data for Customer.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                },
+              ],
+              "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+                { # Container for third party reach integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+                { # Container for third party viewability integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                },
+              ],
+            },
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "customizerAttributeOperation": { # A single operation (create, remove) on a customizer attribute. # A customizer attribute mutate operation.
+        "create": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # Create operation: No resource name is expected for the new customizer attribute
+          "id": "A String", # Output only. The ID of the customizer attribute.
+          "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+          "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customizer attribute.
+          "type": "A String", # Immutable. The type of the customizer attribute.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "experimentArmOperation": { # A single operation on an experiment arm. # An experiment arm mutate operation.
+        "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+          "assetGroups": [ # List of asset groups in the experiment arm.
+            { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+              "assetGroup": "A String", # Asset group resource name.
+              "assetGroupAssets": [ # List of asset group assets under the asset group.
+                { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                  "asset": "A String", # Asset resource name of the asset group asset.
+                  "fieldType": "A String", # Field type of the asset group asset.
+                },
+              ],
+            },
+          ],
+          "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+            "A String",
+          ],
+          "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+          "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+          "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+            "A String",
+          ],
+          "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+          "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+          "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+        },
+        "remove": "A String", # Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+        "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment arm is expected to have a valid resource name.
+          "assetGroups": [ # List of asset groups in the experiment arm.
+            { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+              "assetGroup": "A String", # Asset group resource name.
+              "assetGroupAssets": [ # List of asset group assets under the asset group.
+                { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                  "asset": "A String", # Asset resource name of the asset group asset.
+                  "fieldType": "A String", # Field type of the asset group asset.
+                },
+              ],
+            },
+          ],
+          "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+            "A String",
+          ],
+          "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+          "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+          "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+            "A String",
+          ],
+          "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+          "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+          "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "experimentOperation": { # A single operation on an experiment. # An experiment mutate operation.
+        "create": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Create operation
+          "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+          "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+          "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+          "goals": [ # The goals of this experiment.
+            { # A metric goal for an experiment.
+              "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+              "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+            },
+          ],
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+          "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+          "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+          "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+          "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The Advertiser-chosen status of this experiment.
+          "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+          "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+          "type": "A String", # Required. The product/feature that uses this experiment.
+        },
+        "remove": "A String", # Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`
+        "update": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # Update operation: The experiment is expected to have a valid resource name.
+          "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+          "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+          "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+          "goals": [ # The goals of this experiment.
+            { # A metric goal for an experiment.
+              "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+              "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+            },
+          ],
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+          "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+          "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+          "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+          "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The Advertiser-chosen status of this experiment.
+          "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+          "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+          "type": "A String", # Required. The product/feature that uses this experiment.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanAdGroupKeywordOperation": { # A single operation (create, update, remove) on a Keyword Plan ad group keyword. # A keyword plan ad group keyword operation.
+        "create": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Create operation: No resource name is expected for the new Keyword Plan ad group keyword.
+          "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+          "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+          "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+        "update": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+          "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+          "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanAdGroupOperation": { # A single operation (create, update, remove) on a Keyword Plan ad group. # A keyword plan ad group operation.
+        "create": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Create operation: No resource name is expected for the new Keyword Plan ad group.
+          "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+          "id": "A String", # Output only. The ID of the keyword plan ad group.
+          "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+          "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        "update": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # Update operation: The Keyword Plan ad group is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+          "id": "A String", # Output only. The ID of the keyword plan ad group.
+          "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+          "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanCampaignKeywordOperation": { # A single operation (create, update, remove) on a Keyword Plan campaign keyword. # A keyword plan campaign keyword operation.
+        "create": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Create operation: No resource name is expected for the new Keyword Plan campaign keyword.
+          "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+          "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+        "update": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # Update operation: The Keyword Plan campaign keyword expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+          "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+          "matchType": "A String", # The keyword match type.
+          "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+          "text": "A String", # The keyword text.
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanCampaignOperation": { # A single operation (create, update, remove) on a Keyword Plan campaign. # A keyword plan campaign operation.
+        "create": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Create operation: No resource name is expected for the new Keyword Plan campaign.
+          "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "geoTargets": [ # The geo targets. Max number allowed: 20.
+            { # A geo target.
+              "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+            },
+          ],
+          "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+          "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+          "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+            "A String",
+          ],
+          "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+        "update": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # Update operation: The Keyword Plan campaign is expected to have a valid resource name.
+          "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "geoTargets": [ # The geo targets. Max number allowed: 20.
+            { # A geo target.
+              "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+            },
+          ],
+          "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+          "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+          "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+            "A String",
+          ],
+          "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "keywordPlanOperation": { # A single operation (create, update, remove) on a keyword plan. # A keyword plan operation.
+        "create": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Create operation: No resource name is expected for the new keyword plan.
+          "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+            "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+            "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+              "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+              "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+            },
+          },
+          "id": "A String", # Output only. The ID of the keyword plan.
+          "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+        "update": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # Update operation: The keyword plan is expected to have a valid resource name.
+          "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+            "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+            "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+              "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+              "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+            },
+          },
+          "id": "A String", # Output only. The ID of the keyword plan.
+          "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+          "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+        },
+        "updateMask": "A String", # The FieldMask that determines which resource fields are modified in an update.
+      },
+      "labelOperation": { # A single operation (create, remove, update) on a label. # A label mutate operation.
+        "create": { # A label. # Create operation: No resource name is expected for the new label.
+          "id": "A String", # Output only. ID of the label. Read only.
+          "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+          "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+          "status": "A String", # Output only. Status of the label. Read only.
+          "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+            "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+            "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id}/labels/{label_id}`
+        "update": { # A label. # Update operation: The label is expected to have a valid resource name.
+          "id": "A String", # Output only. ID of the label. Read only.
+          "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+          "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+          "status": "A String", # Output only. Status of the label. Read only.
+          "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+            "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+            "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+          },
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "recommendationSubscriptionOperation": { # A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription # A recommendation subscription mutate operation.
+        "create": { # Recommendation Subscription resource # Create operation: No resource name is expected for the new subscription.
+          "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+          "status": "A String", # Required. Status of the subscription, either enabled or paused.
+          "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+        },
+        "update": { # Recommendation Subscription resource # Update operation: The subscription is expected to have a valid resource name.
+          "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+          "status": "A String", # Required. Status of the subscription, either enabled or paused.
+          "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+        },
+        "updateMask": "A String", # Optional. FieldMask that determines which resource fields are modified in an update.
+      },
+      "remarketingActionOperation": { # A single operation (create, update) on a remarketing action. # A remarketing action mutate operation.
+        "create": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Create operation: No resource name is expected for the new remarketing action.
+          "id": "A String", # Output only. Id of the remarketing action.
+          "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+          "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+          "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+        },
+        "update": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # Update operation: The remarketing action is expected to have a valid resource name.
+          "id": "A String", # Output only. Id of the remarketing action.
+          "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+          "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+          "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "searchAds360CampaignOperation": { # A single operation (update) on a Search Ads 360 campaign. # A Search Ads 360 campaign mutate operation.
+        "update": { # A Search Ads 360 campaign. # Update operation: The Search Ads 360 campaign is expected to have a valid resource name.
+          "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+          "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "sharedCriterionOperation": { # A single operation (create, remove) on an shared criterion. # A shared criterion mutate operation.
+        "create": { # A criterion belonging to a shared set. # Create operation: No resource name is expected for the new shared criterion.
+          "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+            "displayName": "A String", # Output only. A text representation of a brand.
+            "entityId": "A String", # The Commercial KG MID for the brand.
+            "primaryUrl": "A String", # Output only. The primary url of a brand.
+            "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+            "status": "A String", # Output only. The status of a brand.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+          "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+          "type": "A String", # Output only. The type of the criterion.
+          "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+            "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+            "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+            "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+            "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+            "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+      },
+      "sharedSetOperation": { # A single operation (create, update, remove) on an shared set. # A shared set mutate operation.
+        "create": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Create operation: No resource name is expected for the new shared set.
+          "id": "A String", # Output only. The ID of this shared set. Read only.
+          "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+          "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+          "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+          "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+          "status": "A String", # Output only. The status of this shared set. Read only.
+          "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+          "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "update": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Update operation: The shared set is expected to have a valid resource name.
+          "id": "A String", # Output only. The ID of this shared set. Read only.
+          "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+          "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+          "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+          "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+          "status": "A String", # Output only. The status of this shared set. Read only.
+          "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+          "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "smartCampaignSettingOperation": { # A single operation to update Smart campaign settings for a campaign. # A Smart campaign setting mutate operation.
+        "update": { # Settings for configuring Smart campaigns. # Update operation: The Smart campaign setting must specify a valid resource name.
+          "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+            "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+          },
+          "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+          "businessName": "A String", # The name of the business.
+          "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+          "campaign": "A String", # Output only. The campaign to which these settings apply.
+          "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+          "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+            "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+            "phoneNumber": "A String", # Phone number of the smart campaign.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+      "userListOperation": { # A single operation (create, update) on a user list. # A user list mutate operation.
+        "create": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Create operation: No resource name is expected for the new user list.
+          "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+          "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+          "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+            "actions": [ # Actions associated with this user list.
+              { # Represents an action type used for building remarketing user lists.
+                "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+                "remarketingAction": "A String", # A remarketing action.
+              },
+            ],
+          },
+          "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+          "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+            "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+            "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+            "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+          },
+          "description": "A String", # Description of this user list.
+          "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+          "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+          "id": "A String", # Output only. Id of the user list.
+          "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+          "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+            "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+              { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+                "operator": "A String", # The logical operator of the rule.
+                "ruleOperands": [ # The list of operands of the rule.
+                  { # Operand of logical user list that consists of a user list.
+                    "userList": "A String", # Resource name of a user list as an operand.
+                  },
+                ],
+              },
+            ],
+          },
+          "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+            "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+              "A String",
+            ],
+            "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+            "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+              "A String",
+            ],
+          },
+          "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+          "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+          "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+          "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+          "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+          "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+          "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+            "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+              "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+            },
+            "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+          },
+          "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+            "seedUserList": "A String", # Seed UserList from which this list is derived.
+          },
+          "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+          "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+          "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+          "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+          "type": "A String", # Output only. Type of this list. This field is read-only.
+        },
+        "remove": "A String", # Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id}/userLists/{user_list_id}`
+        "update": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Update operation: The user list is expected to have a valid resource name.
+          "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+          "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+          "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+            "actions": [ # Actions associated with this user list.
+              { # Represents an action type used for building remarketing user lists.
+                "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+                "remarketingAction": "A String", # A remarketing action.
+              },
+            ],
+          },
+          "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+          "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+            "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+            "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+            "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+          },
+          "description": "A String", # Description of this user list.
+          "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+          "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+          "id": "A String", # Output only. Id of the user list.
+          "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+          "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+            "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+              { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+                "operator": "A String", # The logical operator of the rule.
+                "ruleOperands": [ # The list of operands of the rule.
+                  { # Operand of logical user list that consists of a user list.
+                    "userList": "A String", # Resource name of a user list as an operand.
+                  },
+                ],
+              },
+            ],
+          },
+          "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+            "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+              "A String",
+            ],
+            "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+            "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+              "A String",
+            ],
+          },
+          "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+          "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+          "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+          "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+          "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+          "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+          "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+            "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+              "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+                { # Flexible rule that wraps the common rule and a lookback window.
+                  "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                  "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                    "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                      { # A group of rule items.
+                        "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                          { # An atomic rule item.
+                            "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                              "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                              "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                              "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                            },
+                            "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                            "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                              "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                              "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                            },
+                            "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                              "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                              "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                            },
+                          },
+                        ],
+                      },
+                    ],
+                    "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                  },
+                },
+              ],
+              "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+            },
+            "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+          },
+          "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+            "seedUserList": "A String", # Seed UserList from which this list is derived.
+          },
+          "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+          "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+          "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+          "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+          "type": "A String", # Output only. Type of this list. This field is read-only.
+        },
+        "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+      },
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, .
+  "validateOnly": True or False,
+}
+
+  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 Service.Mutate.
+  "mutateOperationResponses": [ # All responses for the mutate.
+    { # Response message for the resource mutate.
+      "adGroupAdLabelResult": { # The result for an ad group ad label mutate. # The result for the ad group ad label mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupAdResult": { # The result for the ad mutate. # The result for the ad group ad mutate.
+        "adGroupAd": { # An ad group ad. # The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "resourceName": "A String", # The resource name returned for successful operations.
+      },
+      "adGroupAssetResult": { # The result for the ad group asset mutate. # The result for the ad group asset mutate.
+        "adGroupAsset": { # A link between an ad group and an asset. # The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupBidModifierResult": { # The result for the criterion mutate. # The result for the ad group bid modifier mutate.
+        "adGroupBidModifier": { # Represents an ad group bid modifier. # The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupCriterionCustomizerResult": { # The result for the ad group criterion customizer mutate. # The result for the ad group criterion customizer mutate.
+        "adGroupCriterionCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group criterion customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupCriterionLabelResult": { # The result for an ad group criterion label mutate. # The result for the ad group criterion label mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupCriterionResult": { # The result for the criterion mutate. # The result for the ad group criterion mutate.
+        "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupCustomizerResult": { # The result for the ad group customizer mutate. # The result for the ad group customizer mutate.
+        "adGroupCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+          "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the ad group customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupLabelResult": { # The result for an ad group label mutate. # The result for the ad group label mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adGroupResult": { # The result for the ad group mutate. # The result for the ad group mutate.
+        "adGroup": { # An ad group. # The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "adParameterResult": { # The result for the ad parameter mutate. # The result for the ad parameter mutate.
+        "adParameter": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+          "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+          "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+          "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+        },
+        "resourceName": "A String", # The resource name returned for successful operations.
+      },
+      "adResult": { # The result for the ad mutate. # The result for the ad mutate.
+        "ad": { # An ad. # The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "resourceName": "A String", # The resource name returned for successful operations.
+      },
+      "assetGroupAssetResult": { # The result for the asset group asset mutate. # The result for the asset group asset mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "assetGroupListingGroupFilterResult": { # The result for the asset group listing group filter mutate. # The result for the asset group listing group filter mutate.
+        "assetGroupListingGroupFilter": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+          "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+          "id": "A String", # Output only. The ID of the ListingGroupFilter.
+          "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+          "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+          "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+            "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+              { # Listing dimensions for the asset group listing group filter.
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Indicates the level of the category in the taxonomy.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                  "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                    { # Matching condition for URL filtering.
+                      "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                      "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                    },
+                  ],
+                },
+              },
+            ],
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+          "type": "A String", # Immutable. Type of a listing group filter node.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "assetGroupResult": { # The result for the asset group mutate. # The result for the asset group mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "assetGroupSignalResult": { # The result for the asset group signal mutate. # The result for the asset group signal mutate.
+        "assetGroupSignal": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+          "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+          "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+            "audience": "A String", # The Audience resource name.
+          },
+          "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+          "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+            "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "assetResult": { # The result for the asset mutate. # The result for the asset mutate.
+        "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "resourceName": "A String", # The resource name returned for successful operations.
+      },
+      "assetSetAssetResult": { # The result for the asset set asset mutate. # The result for the asset set asset mutate.
+        "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+          "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+          "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+          "status": "A String", # Output only. The status of the asset set asset. Read-only.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "assetSetResult": { # The result for the asset set mutate. # The result for the asset set mutate.
+        "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "audienceResult": { # The result for the audience mutate. # The result for the audience mutate.
+        "audience": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+          "description": "A String", # Description of this audience.
+          "dimensions": [ # Positive dimensions specifying the audience composition.
+            { # Positive dimension specifying user's audience.
+              "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+                "ageRanges": [ # Contiguous age range to be included in the dimension.
+                  { # Contiguous age range.
+                    "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                    "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                  },
+                ],
+                "includeUndetermined": True or False, # Include users whose age is not determined.
+              },
+              "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+                "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                  { # Positive audience segment.
+                    "customAudience": { # Custom audience segment. # Custom audience segment.
+                      "customAudience": "A String", # The custom audience resource.
+                    },
+                    "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                      "detailedDemographic": "A String", # The detailed demographic resource.
+                    },
+                    "lifeEvent": { # Live event segment. # Live-event audience segment.
+                      "lifeEvent": "A String", # The life event resource.
+                    },
+                    "userInterest": { # User interest segment. # Affinity or In-market segment.
+                      "userInterestCategory": "A String", # The user interest resource.
+                    },
+                    "userList": { # User list segment. # User list segment.
+                      "userList": "A String", # The user list resource.
+                    },
+                  },
+                ],
+              },
+              "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+                "genders": [ # Included gender demographic segments.
+                  "A String",
+                ],
+                "includeUndetermined": True or False, # Include users whose gender is not determined.
+              },
+              "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+                "includeUndetermined": True or False, # Include users whose household income is not determined.
+                "incomeRanges": [ # Included household income demographic segments.
+                  "A String",
+                ],
+              },
+              "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+                "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+                "parentalStatuses": [ # Included parental status demographic segments.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+            "exclusions": [ # Audience segment to be excluded.
+              { # An audience segment to be excluded from an audience.
+                "userList": { # User list segment. # User list segment to be excluded.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "id": "A String", # Output only. ID of the audience.
+          "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+          "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+          "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+          "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "biddingDataExclusionResult": { # The result for the data exclusion mutate. # The result for the bidding data exclusion mutate.
+        "biddingDataExclusion": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+          "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+          "scope": "A String", # The scope of the data exclusion.
+          "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+          "status": "A String", # Output only. The status of the data exclusion.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "biddingSeasonalityAdjustmentResult": { # The result for the seasonality adjustment mutate. # The result for the bidding seasonality adjustment mutate.
+        "biddingSeasonalityAdjustment": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+            "A String",
+          ],
+          "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+          "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+          "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+            "A String",
+          ],
+          "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+          "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+          "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+          "scope": "A String", # The scope of the seasonality adjustment.
+          "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+          "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+          "status": "A String", # Output only. The status of the seasonality adjustment.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "biddingStrategyResult": { # The result for the bidding strategy mutate. # The result for the bidding strategy mutate.
+        "biddingStrategy": { # A bidding strategy. # The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+          "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+          "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+          "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+          "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+          },
+          "id": "A String", # Output only. The ID of the bidding strategy.
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+          "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignAssetResult": { # The result for the campaign asset mutate. # The result for the campaign asset mutate.
+        "campaignAsset": { # A link between a Campaign and an Asset. # The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignAssetSetResult": { # The result for the campaign asset set mutate. # The result for the campaign asset set mutate.
+        "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+          "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignBidModifierResult": { # The result for the criterion mutate. # The result for the campaign bid modifier mutate.
+        "campaignBidModifier": { # Represents a bid-modifiable only criterion at the campaign level. # The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+          "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+            "type": "A String", # The interaction type.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignBudgetResult": { # The result for the campaign budget mutate. # The result for the campaign budget mutate.
+        "campaignBudget": { # A campaign budget. # The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignConversionGoalResult": { # The result for the campaign conversion goal mutate. # The result for the campaign conversion goal mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignCriterionResult": { # The result for the criterion mutate. # The result for the campaign criterion mutate.
+        "campaignCriterion": { # A campaign criterion. # The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignCustomizerResult": { # The result for the campaign customizer mutate. # The result for the campaign customizer mutate.
+        "campaignCustomizer": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+          "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the campaign customizer.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignDraftResult": { # The result for the campaign draft mutate. # The result for the campaign draft mutate.
+        "campaignDraft": { # A campaign draft. # The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+          "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+          "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+          "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+          "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+          "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+          "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignGroupResult": { # The result for the campaign group mutate. # The result for the campaign group mutate.
+        "campaignGroup": { # A campaign group. # The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "id": "A String", # Output only. The ID of the campaign group.
+          "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+          "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+        },
+        "resourceName": "A String", # Required. Returned for successful operations.
+      },
+      "campaignLabelResult": { # The result for a campaign label mutate. # The result for the campaign label mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignResult": { # The result for the campaign mutate. # The result for the campaign mutate.
+        "campaign": { # A campaign. # The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "campaignSharedSetResult": { # The result for the campaign shared set mutate. # The result for the campaign shared set mutate.
+        "campaignSharedSet": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+          "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+          "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+          "status": "A String", # Output only. The status of this campaign shared set. Read only.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "conversionActionResult": { # The result for the conversion action mutate. # The result for the conversion action mutate.
+        "conversionAction": { # A conversion action. # The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "appId": "A String", # App ID for an app conversion action.
+          "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+            "attributionModel": "A String", # The attribution model type of this conversion action.
+            "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+          },
+          "category": "A String", # The category of conversions reported for this conversion action.
+          "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+          "countingType": "A String", # How to count conversion events for the conversion action.
+          "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+          "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+            "eventName": "A String", # Output only. The event name of a Firebase conversion.
+            "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+            "propertyId": "A String", # Output only. The GA property ID of the conversion.
+            "propertyName": "A String", # Output only. The GA property name of the conversion.
+          },
+          "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+            "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+            "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+            "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+          },
+          "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+            "eventName": "A String", # Output only. The name of the GA 4 event.
+            "propertyId": "A String", # Output only. The ID of the GA 4 property.
+            "propertyName": "A String", # Output only. The name of the GA 4 property.
+          },
+          "id": "A String", # Output only. The ID of the conversion action.
+          "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+          "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+          "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+          "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+          "origin": "A String", # Output only. The conversion origin of this conversion action.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+          "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+          "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+          "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+          "status": "A String", # The status of this conversion action for conversion event accrual.
+          "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+            { # The site tag and event snippet pair for a TrackingCodeType.
+              "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+              "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+              "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+              "type": "A String", # The type of the generated tag snippets for tracking conversions.
+            },
+          ],
+          "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+            "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+            "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+          },
+          "type": "A String", # Immutable. The type of this conversion action.
+          "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+            "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+            "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+            "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+          },
+          "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "conversionCustomVariableResult": { # The result for the conversion custom variable mutate. # The result for the conversion custom variable mutate.
+        "conversionCustomVariable": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+          "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+            "A String",
+          ],
+          "family": "A String", # Output only. Family of the conversion custom variable.
+          "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+            "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+            "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+          },
+          "id": "A String", # Output only. The ID of the conversion custom variable.
+          "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+          "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+          "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+          "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+          "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "conversionGoalCampaignConfigResult": { # The result for the conversion goal campaign config mutate. # The result for the conversion goal campaign config mutate.
+        "conversionGoalCampaignConfig": { # Conversion goal settings for a Campaign. # The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+          "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+          "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+          "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+          "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+          "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "conversionValueRuleResult": { # The result for the conversion value rule mutate. # The result for the conversion value rule mutate.
+        "conversionValueRule": { # A conversion value rule # The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+            "operation": "A String", # Specifies applied operation.
+            "value": 3.14, # Specifies applied value.
+          },
+          "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+            "userInterests": [ # User Interests.
+              "A String",
+            ],
+            "userLists": [ # User Lists.
+              "A String",
+            ],
+          },
+          "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+            "deviceTypes": [ # Value for device type condition.
+              "A String",
+            ],
+          },
+          "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+            "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+            "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+              "A String",
+            ],
+            "geoMatchType": "A String", # Included Geo location match type.
+            "geoTargetConstants": [ # Geo locations that advertisers want to include.
+              "A String",
+            ],
+          },
+          "id": "A String", # Output only. The ID of the conversion value rule.
+          "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+            "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+              "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+              "minDays": 42, # Minimum number of days between the date of the booking the start date.
+            },
+            "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+              "maxNights": 42, # Maximum number of days between the start date and the end date.
+              "minNights": 42, # Minimum number of nights between the start date and the end date.
+            },
+            "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+              "friday": True or False, # The travel can start on Friday.
+              "monday": True or False, # The travel can start on Monday.
+              "saturday": True or False, # The travel can start on Saturday.
+              "sunday": True or False, # The travel can start on Sunday.
+              "thursday": True or False, # The travel can start on Thursday.
+              "tuesday": True or False, # The travel can start on Tuesday.
+              "wednesday": True or False, # The travel can start on Wednesday.
+            },
+          },
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+          "status": "A String", # The status of the conversion value rule.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "conversionValueRuleSetResult": { # The result for the conversion value rule set mutate. # The result for the conversion value rule set mutate.
+        "conversionValueRuleSet": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+          "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+          "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+            "A String",
+          ],
+          "conversionValueRules": [ # Resource names of rules within the rule set.
+            "A String",
+          ],
+          "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+            "A String",
+          ],
+          "id": "A String", # Output only. The ID of the conversion value rule set.
+          "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+          "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+          "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customConversionGoalResult": { # The result for the custom conversion goal mutate. # The result for the custom conversion goal mutate.
+        "customConversionGoal": { # Custom conversion goal that can make arbitrary conversion actions biddable. # The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+            "A String",
+          ],
+          "id": "A String", # Immutable. The ID for this custom conversion goal.
+          "name": "A String", # The name for this custom conversion goal.
+          "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+          "status": "A String", # The status of the custom conversion goal.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerAssetResult": { # The result for the customer asset mutate. # The result for the customer asset mutate.
+        "customerAsset": { # A link between a customer and an asset. # The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerConversionGoalResult": { # The result for the customer conversion goal mutate. # The result for the customer conversion goal mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerCustomizerResult": { # The result for the customizer attribute mutate. # The result for the customer customizer mutate.
+        "customerCustomizer": { # A customizer value for the associated CustomizerAttribute at the Customer level. # The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+          "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customer customizer attribute.
+          "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+            "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+            "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerLabelResult": { # The result for a customer label mutate. # The result for the customer label mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerNegativeCriterionResult": { # The result for the criterion mutate. # The result for the customer negative criterion mutate.
+        "customerNegativeCriterion": { # A negative criterion for exclusions at the customer level. # The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "id": "A String", # Output only. The ID of the criterion.
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+            "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+            "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+          "type": "A String", # Output only. The type of the criterion.
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customerResult": { # The result for the customer mutate. # The result for the customer mutate.
+        "customer": { # A customer. # The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+          "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+          "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+          "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+          "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+          "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+          "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+            "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+            "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+            "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+          },
+          "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+          "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+            "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+            "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+            "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+            "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+            "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+            "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+            "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+          "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+            "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+          },
+          "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+          "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+            "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+            "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+            "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+          },
+          "engineId": "A String", # Output only. ID of the account in the external engine account.
+          "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+          "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+          "id": "A String", # Output only. The ID of the customer.
+          "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+          "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+          "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+            "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+              { # Insurance status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+              },
+            ],
+            "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+              { # License status at geo + vertical level.
+                "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+                "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+                "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+              },
+            ],
+          },
+          "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+          "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+          "manager": True or False, # Output only. Whether the customer is a manager.
+          "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+          "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+          "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+          "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+            "A String",
+          ],
+          "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+            "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+          "status": "A String", # Output only. The status of the customer.
+          "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+          "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+          "testAccount": True or False, # Output only. Whether the customer is a test account.
+          "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+            "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+              "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+                { # Container for third party Brand Lift integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+                { # Container for third party brand safety integration data for Customer.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                },
+              ],
+              "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+                { # Container for third party reach integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+                { # Container for third party viewability integration data for Customer.
+                  "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                },
+              ],
+            },
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "customizerAttributeResult": { # The result for the customizer attribute mutate. # The result for the customizer attribute mutate.
+        "customizerAttribute": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "id": "A String", # Output only. The ID of the customizer attribute.
+          "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+          "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+          "status": "A String", # Output only. The status of the customizer attribute.
+          "type": "A String", # Immutable. The type of the customizer attribute.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "experimentArmResult": { # The result for the experiment arm mutate. # The result for the experiment arm mutate.
+        "experimentArm": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "assetGroups": [ # List of asset groups in the experiment arm.
+            { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+              "assetGroup": "A String", # Asset group resource name.
+              "assetGroupAssets": [ # List of asset group assets under the asset group.
+                { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                  "asset": "A String", # Asset resource name of the asset group asset.
+                  "fieldType": "A String", # Field type of the asset group asset.
+                },
+              ],
+            },
+          ],
+          "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+            "A String",
+          ],
+          "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+          "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+          "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+            "A String",
+          ],
+          "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+          "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+          "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "experimentResult": { # The result for the campaign experiment mutate. # The result for the experiment mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "keywordPlanAdGroupKeywordResult": { # The result for the Keyword Plan ad group keyword mutate. # The result for the keyword plan ad group keyword mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "keywordPlanAdGroupResult": { # The result for the Keyword Plan ad group mutate. # The result for the keyword plan ad group mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "keywordPlanCampaignKeywordResult": { # The result for the Keyword Plan campaign keyword mutate. # The result for the keyword plan campaign keyword mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "keywordPlanCampaignResult": { # The result for the Keyword Plan campaign mutate. # The result for the keyword plan campaign mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "keywordPlanResult": { # The result for the keyword plan mutate. # The result for the keyword plan mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "labelResult": { # The result for a label mutate. # The result for the label mutate.
+        "label": { # A label. # The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "id": "A String", # Output only. ID of the label. Read only.
+          "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+          "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+          "status": "A String", # Output only. Status of the label. Read only.
+          "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+            "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+            "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+          },
+        },
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "recommendationSubscriptionResult": { # Result message for RecommendationSubscriptionService.MutateRecommendationSubscription # The result for the recommendation subscription mutate.
+        "recommendationSubscription": { # Recommendation Subscription resource # The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+          "status": "A String", # Required. Status of the subscription, either enabled or paused.
+          "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+        },
+        "resourceName": "A String", # Resource name of the subscription that was modified.
+      },
+      "remarketingActionResult": { # The result for the remarketing action mutate. # The result for the remarketing action mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+      "searchAds360CampaignResult": { # The result for the Search Ads 360 campaign mutate. # The result for the Search Ads 360 campaign mutate.
+        "resourceName": "A String", # Returned for successful operations.
+        "searchAds360Campaign": { # A Search Ads 360 campaign. # The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+          "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+        },
+      },
+      "sharedCriterionResult": { # The result for the shared criterion mutate. # The result for the shared criterion mutate.
+        "resourceName": "A String", # Returned for successful operations.
+        "sharedCriterion": { # A criterion belonging to a shared set. # The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+            "displayName": "A String", # Output only. A text representation of a brand.
+            "entityId": "A String", # The Commercial KG MID for the brand.
+            "primaryUrl": "A String", # Output only. The primary url of a brand.
+            "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+            "status": "A String", # Output only. The status of a brand.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+          "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+          "type": "A String", # Output only. The type of the criterion.
+          "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+            "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+            "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+            "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+            "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+            "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+      },
+      "sharedSetResult": { # The result for the shared set mutate. # The result for the shared set mutate.
+        "resourceName": "A String", # Returned for successful operations.
+        "sharedSet": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "id": "A String", # Output only. The ID of this shared set. Read only.
+          "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+          "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+          "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+          "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+          "status": "A String", # Output only. The status of this shared set. Read only.
+          "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+          "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+        },
+      },
+      "smartCampaignSettingResult": { # The result for the Smart campaign setting mutate. # The result for the Smart campaign setting mutate.
+        "resourceName": "A String", # Returned for successful operations.
+        "smartCampaignSetting": { # Settings for configuring Smart campaigns. # The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+          "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+            "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+          },
+          "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+          "businessName": "A String", # The name of the business.
+          "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+          "campaign": "A String", # Output only. The campaign to which these settings apply.
+          "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+          "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+            "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+            "phoneNumber": "A String", # Phone number of the smart campaign.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+        },
+      },
+      "userListResult": { # The result for the user list mutate. # The result for the user list mutate.
+        "resourceName": "A String", # Returned for successful operations.
+      },
+    },
+  ],
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+}
+
+ +
+ search(customerId, body=None, x__xgafv=None) +
Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer being queried. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SearchAds360Service.Search.
+  "pageSize": 42, # Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.
+  "pageToken": "A String", # Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
+  "query": "A String", # Required. The query string.
+  "searchSettings": { # Indicates search settings in request parameter. # Settings that allow users to specify request count, summary row, and results behavior.
+    "omitResults": True or False, # If true, results will be excluded from the response. Otherwise, results will be returned. Default is false.
+    "returnSummaryRow": True or False, # If true, summary row will be included in the response and sent in a response by itself after all other query results are returned. Default is false.
+    "returnTotalResultsCount": True or False, # If true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false.
+  },
+  "validateOnly": True or False, # If true, the request is validated but not executed.
+}
+
+  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 SearchAds360Service.Search.
+  "conversionCustomDimensionHeaders": [ # The headers of the conversion custom dimensions in the results.
+    { # Message for conversion custom dimension header.
+      "id": "A String", # The conversion custom dimension ID.
+      "name": "A String", # The user defined name of the conversion custom dimension.
+    },
+  ],
+  "conversionCustomMetricHeaders": [ # The headers of the conversion custom metrics in the results.
+    { # Message for conversion custom metric header.
+      "id": "A String", # The conversion custom metric ID.
+      "name": "A String", # The user defined name of the conversion custom metric.
+    },
+  ],
+  "customColumnHeaders": [ # The headers of the custom columns in the results.
+    { # Message for custom column header.
+      "id": "A String", # The custom column ID.
+      "name": "A String", # The user defined name of the custom column.
+      "referencesMetrics": True or False, # True when the custom column references metrics.
+    },
+  ],
+  "fieldMask": "A String", # FieldMask that represents what fields were requested by the user.
+  "metricAttributes": [ # The metric attributes of the metrics in the results.
+    { # Indicates the attributes of metrics.
+      "attributes": [ # The attributes of the metric.
+        { # The attribute of the metric in key value pair format.
+          "key": "A String", # The key of the attribute.
+          "value": "A String", # The value of the attribute.
+        },
+      ],
+      "name": "A String", # The name of the metric.
+    },
+  ],
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+  "queryResourceConsumption": "A String", # The amount of resources consumed to serve the query.
+  "rawEventConversionDimensionHeaders": [ # The headers of the raw event conversion dimensions in the results.
+    { # Message for raw event conversion dimension header.
+      "id": "A String", # The conversion custom variable ID.
+      "name": "A String", # The user defined name of the raw event dimension.
+    },
+  ],
+  "rawEventConversionMetricHeaders": [ # The headers of the raw event conversion metrics in the results.
+    { # Message for raw event conversion metric header.
+      "id": "A String", # The conversion custom variable ID.
+      "name": "A String", # The user defined name of the raw event metric.
+    },
+  ],
+  "results": [ # The list of rows that matched the query.
+    { # A returned row from the query.
+      "accessibleBiddingStrategy": { # Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes. # The accessible bidding strategy referenced in the query.
+        "id": "A String", # Output only. The ID of the bidding strategy.
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+          "targetRoas": 3.14, # Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+          "targetCpaMicros": "A String", # Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.
+        },
+        "name": "A String", # Output only. The name of the bidding strategy.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the bidding strategy.
+        "ownerDescriptiveName": "A String", # Output only. descriptive_name of the Customer which owns the bidding strategy.
+        "resourceName": "A String", # Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "targetCpaMicros": "A String", # Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # Output only. The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+          "targetRoas": 3.14, # Output only. The chosen revenue (based on conversion data) per unit of spend.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "type": "A String", # Output only. The type of the bidding strategy.
+      },
+      "accountBudget": { # An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical. # The account budget in the query.
+        "adjustedSpendingLimitMicros": "A String", # Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.
+        "adjustedSpendingLimitType": "A String", # Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.
+        "amountServedMicros": "A String", # Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).
+        "approvedEndDateTime": "A String", # Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.
+        "approvedEndTimeType": "A String", # Output only. The approved end time as a well-defined type, for example, FOREVER.
+        "approvedSpendingLimitMicros": "A String", # Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.
+        "approvedSpendingLimitType": "A String", # Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE.
+        "approvedStartDateTime": "A String", # Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.
+        "billingSetup": "A String", # Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`
+        "id": "A String", # Output only. The ID of the account-level budget.
+        "name": "A String", # Output only. The name of the account-level budget.
+        "notes": "A String", # Output only. Notes associated with the budget.
+        "pendingProposal": { # A pending proposal associated with the enclosing account-level budget, if applicable. # Output only. The pending proposal to modify this budget, if applicable.
+          "accountBudgetProposal": "A String", # Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+          "creationDateTime": "A String", # Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.
+          "endDateTime": "A String", # Output only. The end time in yyyy-MM-dd HH:mm:ss format.
+          "endTimeType": "A String", # Output only. The end time as a well-defined type, for example, FOREVER.
+          "name": "A String", # Output only. The name to assign to the account-level budget.
+          "notes": "A String", # Output only. Notes associated with this budget.
+          "proposalType": "A String", # Output only. The type of this proposal, for example, END to end the budget associated with this proposal.
+          "purchaseOrderNumber": "A String", # Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
+          "spendingLimitMicros": "A String", # Output only. The spending limit in micros. One million is equivalent to one unit.
+          "spendingLimitType": "A String", # Output only. The spending limit as a well-defined type, for example, INFINITE.
+          "startDateTime": "A String", # Output only. The start time in yyyy-MM-dd HH:mm:ss format.
+        },
+        "proposedEndDateTime": "A String", # Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.
+        "proposedEndTimeType": "A String", # Output only. The proposed end time as a well-defined type, for example, FOREVER.
+        "proposedSpendingLimitMicros": "A String", # Output only. The proposed spending limit in micros. One million is equivalent to one unit.
+        "proposedSpendingLimitType": "A String", # Output only. The proposed spending limit as a well-defined type, for example, INFINITE.
+        "proposedStartDateTime": "A String", # Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.
+        "purchaseOrderNumber": "A String", # Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
+        "resourceName": "A String", # Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`
+        "status": "A String", # Output only. The status of this account-level budget.
+        "totalAdjustmentsMicros": "A String", # Output only. The total adjustments amount. An example of an adjustment is courtesy credits.
+      },
+      "accountBudgetProposal": { # An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty. # The account budget proposal referenced in the query.
+        "accountBudget": "A String", # Immutable. The resource name of the account-level budget associated with this proposal.
+        "approvalDateTime": "A String", # Output only. The date time when this account-level budget was approved, if applicable.
+        "approvedEndDateTime": "A String", # Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.
+        "approvedEndTimeType": "A String", # Output only. The approved end date time as a well-defined type, for example, FOREVER.
+        "approvedSpendingLimitMicros": "A String", # Output only. The approved spending limit in micros. One million is equivalent to one unit.
+        "approvedSpendingLimitType": "A String", # Output only. The approved spending limit as a well-defined type, for example, INFINITE.
+        "approvedStartDateTime": "A String", # Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.
+        "billingSetup": "A String", # Immutable. The resource name of the billing setup associated with this proposal.
+        "creationDateTime": "A String", # Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.
+        "id": "A String", # Output only. The ID of the proposal.
+        "proposalType": "A String", # Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.
+        "proposedEndDateTime": "A String", # Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+        "proposedEndTimeType": "A String", # Immutable. The proposed end date time as a well-defined type, for example, FOREVER.
+        "proposedName": "A String", # Immutable. The name to assign to the account-level budget.
+        "proposedNotes": "A String", # Immutable. Notes associated with this budget.
+        "proposedPurchaseOrderNumber": "A String", # Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.
+        "proposedSpendingLimitMicros": "A String", # Immutable. The proposed spending limit in micros. One million is equivalent to one unit.
+        "proposedSpendingLimitType": "A String", # Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.
+        "proposedStartDateTime": "A String", # Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+        "proposedStartTimeType": "A String", # Immutable. The proposed start date time as a well-defined type, for example, NOW.
+        "resourceName": "A String", # Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+        "status": "A String", # Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.
+      },
+      "accountLink": { # Represents the data sharing connection between a Google Ads account and another account # The AccountLink referenced in the query.
+        "accountLinkId": "A String", # Output only. The ID of the link. This field is read only.
+        "resourceName": "A String", # Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`
+        "status": "A String", # The status of the link.
+        "thirdPartyAppAnalytics": { # The identifiers of a Third Party App Analytics Link. # Immutable. A third party app analytics link.
+          "appAnalyticsProviderId": "A String", # Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+          "appId": "A String", # Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+          "appVendor": "A String", # Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+        },
+        "type": "A String", # Output only. The type of the linked account.
+      },
+      "ad": { # An ad. # The Ad referenced in the query.
+        "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+        "appAd": { # An app ad. # Details pertaining to an app ad.
+          "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+            "asset": "A String", # The Asset resource name of this app deep link asset.
+          },
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+            { # A media bundle asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "videos": [ # List of video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image asset IDs whose images may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+          "businessName": "A String", # Required. The Advertiser/brand name.
+          "callToActionText": "A String", # Call to action text.
+          "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+            { # A Demand Gen carousel card asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this discovery carousel card.
+            },
+          ],
+          "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+          "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+          "callToActionText": "A String", # Call to action text.
+          "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+        },
+        "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+            "asset": "A String", # The Asset resource name of this call to action asset.
+          },
+          "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+            { # A call to action asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+          ],
+          "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "descriptions": [ # List of text assets used for the description.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets used for the short headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadlines": [ # List of text assets used for the long headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "videos": [ # List of YouTube video assets used for the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+        "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+          "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+          "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+            "asset": "A String", # The Asset resource name of this media bundle.
+          },
+        },
+        "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+        "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+        },
+        "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+          "headlinePart1": "A String", # The first part of the ad's headline.
+          "headlinePart2": "A String", # The second part of the ad's headline.
+          "headlinePart3": "A String", # The third part of the ad's headline.
+          "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+          "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+        },
+        "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+          { # A URL for deep linking into an app for the given operating system.
+            "osType": "A String", # The operating system targeted by this URL. Required.
+            "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+          },
+        ],
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+        },
+        "id": "A String", # Output only. The ID of the ad.
+        "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+          "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+          "data": "A String", # Raw image data as bytes.
+          "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+          "imageUrl": "A String", # URL of the full size image.
+          "mimeType": "A String", # The mime type of the image.
+          "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+          "pixelHeight": "A String", # Height in pixels of the full size image.
+          "pixelWidth": "A String", # Width in pixels of the full size image.
+          "previewImageUrl": "A String", # URL of the preview size image.
+          "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+          "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+        },
+        "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+          "appId": "A String", # The ID of the mobile app.
+          "appStore": "A String", # The app store the mobile app is available in.
+          "description1": "A String", # The first description line of the ad.
+          "description2": "A String", # The second description line of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The business name in the ad.
+          "callToActionText": "A String", # The call-to-action text for the ad.
+          "description": "A String", # The description of the ad.
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+          "longHeadline": "A String", # The long version of the ad's headline.
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "shortHeadline": "A String", # The short version of the ad's headline.
+          "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+          "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+        },
+        "localAd": { # A local ad. # Details pertaining to a local ad.
+          "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+        "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+        "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+          "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+          "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+            "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+            "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+          },
+          "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # First part of text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+        },
+        "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+        },
+        "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+          "headline2": "A String", # The second headline of the ad.
+          "headline3": "A String", # The third headline of the ad.
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+          "displayUrl": "A String", # The displayed URL of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+          "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+        },
+        "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+        },
+        "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+        },
+        "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+          "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+        },
+        "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+        "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+        },
+        "type": "A String", # Output only. The type of ad.
+        "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+          { # Collection of urls that is tagged with a unique identifier.
+            "finalMobileUrls": [ # A list of possible final mobile URLs.
+              "A String",
+            ],
+            "finalUrls": [ # A list of possible final URLs.
+              "A String",
+            ],
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+          },
+        ],
+        "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+      },
+      "adGroup": { # An ad group. # The ad group referenced in the query.
+        "adRotationMode": "A String", # The ad rotation mode of the ad group.
+        "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+          "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+        },
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+        },
+        "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+        "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+        "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+        "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+          "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+            "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+            "channelStrategy": "A String", # High level channel strategy.
+            "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+              "discover": True or False, # Whether to enable ads on the Discover channel.
+              "display": True or False, # Whether to enable ads on the Display channel.
+              "gmail": True or False, # Whether to enable ads on the Gmail channel.
+              "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+              "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+              "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+            },
+          },
+        },
+        "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+        "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+          "A String",
+        ],
+        "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+        "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+        "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+        "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+        "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+        "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+        "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group.
+        "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+        "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+        "id": "A String", # Output only. The ID of the ad group.
+        "labels": [ # Output only. The resource names of labels attached to this ad group.
+          "A String",
+        ],
+        "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+        "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+        "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The status of the ad group.
+        "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+        "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+        "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+        "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+        "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Immutable. The type of the ad group.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+          "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+          "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+          "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+        },
+      },
+      "adGroupAd": { # An ad group ad. # The ad referenced in the query.
+        "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+          "A String",
+        ],
+        "ad": { # An ad. # Immutable. The ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+        "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+          { # Asset automation setting for an AdGroupAd.
+            "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+            "assetAutomationType": "A String", # The asset automation type that this setting configures.
+          },
+        ],
+        "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+        "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+          "A String",
+        ],
+        "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+        "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+        "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+          "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+        },
+        "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+        "status": "A String", # The status of the ad.
+      },
+      "adGroupAdAssetCombinationView": { # A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future. # The ad group ad asset combination view in the query.
+        "enabled": True or False, # Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
+        "resourceName": "A String", # Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}`
+        "servedAssets": [ # Output only. Served assets.
+          { # Contains the usage information of the asset.
+            "asset": "A String", # Resource name of the asset.
+            "servedAssetFieldType": "A String", # The served field type of the asset.
+          },
+        ],
+      },
+      "adGroupAdAssetView": { # Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads. # The ad group ad asset view in the query.
+        "adGroupAd": "A String", # Output only. The ad group ad to which the asset is linked.
+        "asset": "A String", # Output only. The asset which is linked to the ad group ad.
+        "enabled": True or False, # Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
+        "fieldType": "A String", # Output only. Role that the asset takes in the ad.
+        "performanceLabel": "A String", # Output only. Performance of an asset linkage.
+        "pinnedField": "A String", # Output only. Pinned field.
+        "policySummary": { # Contains policy information for an ad group ad asset. # Output only. Policy information for the ad group ad asset.
+          "approvalStatus": "A String", # Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for the ad group ad asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this ad group ad asset is.
+        },
+        "resourceName": "A String", # Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}`
+        "source": "A String", # Output only. Source of the ad group ad asset.
+      },
+      "adGroupAdEffectiveLabel": { # A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad. # The ad group ad effective label referenced in the query.
+        "adGroupAd": "A String", # Immutable. The ad group ad to which the effective label is attached.
+        "label": "A String", # Immutable. The effective label assigned to the ad group ad.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}`
+      },
+      "adGroupAdLabel": { # A relationship between an ad group ad and a label. # The ad group ad label referenced in the query.
+        "adGroupAd": "A String", # Immutable. The ad group ad to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group ad.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+      },
+      "adGroupAsset": { # A link between an ad group and an asset. # The ad group asset referenced in the query.
+        "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the adgroup asset link.
+        "status": "A String", # Status of the ad group asset.
+      },
+      "adGroupAssetSet": { # AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group. # The ad group asset set referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which this asset set is linked.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the ad group asset set. Read-only.
+      },
+      "adGroupAudienceView": { # An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level. # The ad group audience view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+      },
+      "adGroupBidModifier": { # Represents an ad group bid modifier. # The bid modifier referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+        "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+        "bidModifierSource": "A String", # Output only. Bid modifier source.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "device": { # A device criterion. # Immutable. A device criterion.
+          "type": "A String", # Type of the device.
+        },
+        "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+          "maxDays": "A String", # High end of the number of days prior to the stay.
+          "minDays": "A String", # Low end of the number of days prior to the stay.
+        },
+        "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+          "endDate": "A String", # End date in the YYYY-MM-DD format.
+          "startDate": "A String", # Start date in the YYYY-MM-DD format.
+        },
+        "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+          "dayOfWeek": "A String", # The day of the week.
+        },
+        "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+          "type": "A String", # Type of the hotel date selection
+        },
+        "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+          "maxNights": "A String", # High end of the number of nights in the stay.
+          "minNights": "A String", # Low end of the number of nights in the stay.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+      },
+      "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # The criterion referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+          "type": "A String", # Type of the app payment model.
+        },
+        "approvalStatus": "A String", # Output only. Approval status of the criterion.
+        "audience": { # An audience criterion. # Immutable. Audience.
+          "audience": "A String", # The Audience resource name.
+        },
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+        "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+        "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+        "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "criterionId": "A String", # Output only. The ID of the criterion.
+        "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+          "customAffinity": "A String", # The CustomInterest resource name.
+        },
+        "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+          "customAudience": "A String", # The CustomAudience resource name.
+        },
+        "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+          "customIntent": "A String", # The CustomInterest resource name.
+        },
+        "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+          "A String",
+        ],
+        "displayName": "A String", # Output only. The display name of the criterion.
+        "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+        "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+        "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+        "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+        "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+        "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+          "A String",
+        ],
+        "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+        "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+        "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+        "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+          "A String",
+        ],
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+          "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+            "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+              "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+            },
+            "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+              "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+            },
+            "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+              "value": "A String", # String value of the activity ID.
+            },
+            "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+              "value": "A String", # Long value of the activity rating.
+            },
+            "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+              "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+            },
+            "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+              "cityCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+              "value": "A String", # Long value of the hotel class.
+            },
+            "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+              "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+              "value": "A String", # String value of the hotel ID.
+            },
+            "hotelState": { # State the hotel is located in. # State the hotel is located in.
+              "stateCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # Category of a product offer. # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Level of the product category.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+              "channelExclusivity": "A String", # Value of the availability.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product grouping.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product labels.
+            },
+            "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product legacy condition.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product full type.
+            },
+            "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+            },
+          },
+          "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+          "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+            "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "type": "A String", # Type of the listing group.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+          "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+          "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+          "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+          "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+          "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+        },
+        "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+        "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+          "A String",
+        ],
+        "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+          "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+          "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+          "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+          "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+        "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "type": "A String", # Output only. The type of the criterion.
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+          "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "adGroupCriterionCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # The ad group criterion customizer referenced in the query.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group criterion customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "adGroupCriterionEffectiveLabel": { # A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion. # The ad group criterion effective label referenced in the query.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the effective label is attached.
+        "label": "A String", # Immutable. The effective label assigned to the ad group criterion.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}`
+      },
+      "adGroupCriterionLabel": { # A relationship between an ad group criterion and a label. # The ad group criterion label referenced in the query.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group criterion.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+      },
+      "adGroupCriterionSimulation": { # An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM # The ad group criterion simulation referenced in the query.
+        "adGroupId": "A String", # Output only. AdGroup ID of the simulation.
+        "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+          "points": [ # Projected metrics for a series of CPC bid amounts.
+            { # Projected metrics for a specific CPC bid amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+              "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "criterionId": "A String", # Output only. Criterion ID of the simulation.
+        "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format.
+        "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+        "percentCpcBidPointList": { # A container for simulation points for simulations of type PERCENT_CPC_BID. # Output only. Simulation points if the simulation type is PERCENT_CPC_BID.
+          "points": [ # Projected metrics for a series of percent CPC bid amounts.
+            { # Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions in local currency.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "percentCpcBidMicros": "A String", # The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].
+              "topSlotImpressions": "A String", # Projected number of top slot impressions.
+            },
+          ],
+        },
+        "resourceName": "A String", # Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+        "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+        "type": "A String", # Output only. The field that the simulation modifies.
+      },
+      "adGroupCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # The ad group customizer referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+        "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the ad group customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "adGroupEffectiveLabel": { # A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group. # The ad group effective label referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which the effective label is attached.
+        "label": "A String", # Immutable. The effective label assigned to the ad group.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}`
+      },
+      "adGroupLabel": { # A relationship between an ad group and a label. # The ad group label referenced in the query.
+        "adGroup": "A String", # Immutable. The ad group to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the ad group.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+      },
+      "adGroupSimulation": { # An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM # The ad group simulation referenced in the query.
+        "adGroupId": "A String", # Output only. Ad group id of the simulation.
+        "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+          "points": [ # Projected metrics for a series of CPC bid amounts.
+            { # Projected metrics for a specific CPC bid amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+              "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "cpvBidPointList": { # A container for simulation points for simulations of type CPV_BID. # Output only. Simulation points if the simulation type is CPV_BID.
+          "points": [ # Projected metrics for a series of CPV bid amounts.
+            { # Projected metrics for a specific CPV bid amount.
+              "costMicros": "A String", # Projected cost in micros.
+              "cpvBidMicros": "A String", # The simulated CPV bid upon which projected metrics are based.
+              "impressions": "A String", # Projected number of impressions.
+              "views": "A String", # Projected number of views.
+            },
+          ],
+        },
+        "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+        "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+        "resourceName": "A String", # Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+        "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+        "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+          "points": [ # Projected metrics for a series of target CPA amounts.
+            { # Projected metrics for a specific target CPA amount.
+              "appInstalls": 3.14, # Projected number of app installs.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "inAppActions": 3.14, # Projected number of in-app actions.
+              "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+              "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+          "points": [ # Projected metrics for a series of target ROAS amounts.
+            { # Projected metrics for a specific target ROAS amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+            },
+          ],
+        },
+        "type": "A String", # Output only. The field that the simulation modifies.
+      },
+      "adParameter": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # The ad parameter referenced in the query.
+        "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+        "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+        "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+        "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+      },
+      "adScheduleView": { # An ad schedule view summarizes the performance of campaigns by AdSchedule criteria. # The ad schedule view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+      },
+      "ageRangeView": { # An age range view. # The age range view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+      },
+      "aiMaxSearchTermAdCombinationView": { # AiMaxSearchTermAdCombinationView Resource. # The AI Max search term ad combination view referenced in the query.
+        "adGroup": "A String", # Output only. Ad group where the search term served.
+        "headline": "A String", # Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by " | ". This field is read-only.
+        "landingPage": "A String", # Output only. The destination URL, which was dynamically generated. This field is read-only.
+        "resourceName": "A String", # Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}`
+        "searchTerm": "A String", # Output only. The search term that triggered the ad. This field is read-only.
+      },
+      "androidPrivacySharedKeyGoogleAdGroup": { # An Android privacy shared key view for Google ad group key. # The android privacy shared key google ad group referenced in the query.
+        "adGroupId": "A String", # Output only. The ad group ID used in the share key encoding.
+        "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+        "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+        "androidPrivacyNetworkType": "A String", # Output only. The network type enum used in the share key encoding.
+        "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+        "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+        "sharedAdGroupKey": "A String", # Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+      },
+      "androidPrivacySharedKeyGoogleCampaign": { # An Android privacy shared key view for Google campaign key. # The android privacy shared key google campaign referenced in the query.
+        "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+        "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+        "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+        "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+        "sharedCampaignKey": "A String", # Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+      },
+      "androidPrivacySharedKeyGoogleNetworkType": { # An Android privacy shared key view for Google network type key. # The android privacy shared key google network type referenced in the query.
+        "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+        "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+        "androidPrivacyNetworkType": "A String", # Output only. The network type enum used in the share key encoding.
+        "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+        "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+        "sharedNetworkTypeKey": "A String", # Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+      },
+      "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # The asset referenced in the query.
+        "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+          "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+        },
+        "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+        },
+        "businessMessageAsset": { # A business message asset. # A business message asset.
+          "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+            "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+            "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+          },
+          "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+            "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+          },
+          "messageProvider": "A String", # Required. Message provider of the business message asset.
+          "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+          "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+          },
+          "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+            "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+            "oaId": "A String", # Zalo Official Account ID of the advertiser.
+          },
+        },
+        "callAsset": { # A Call asset. # A call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+        },
+        "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+          "callToAction": "A String", # Call to action.
+        },
+        "calloutAsset": { # A Callout asset. # A callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+          "callToActionText": "A String", # Call to action text.
+          "headline": "A String", # Required. Headline of the carousel card.
+          "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+          "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+          "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+        },
+        "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+            "A String",
+          ],
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+          "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+          "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "itemCategory": "A String", # Item category, for example, Sedans.
+          "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+          "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+          "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+          "similarIds": [ # Similar IDs.
+            "A String",
+          ],
+        },
+        "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+          "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+            "A String",
+          ],
+          "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+          "programDescription": "A String", # Program description, for example, Nursing Certification.
+          "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "programName": "A String", # Required. Program name, for example, Nursing. Required.
+          "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+          "similarProgramIds": [ # Similar program IDs.
+            "A String",
+          ],
+          "subject": "A String", # Subject of study, for example, Health.
+          "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+        },
+        "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+          "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+            "A String",
+          ],
+        },
+        "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Hotel suite.
+          "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Close to SJC Airport.
+          "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+          "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarPropertyIds": [ # Similar property IDs.
+            "A String",
+          ],
+          "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+        },
+        "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, Apply your technical skills.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "jobCategory": "A String", # Job category, for example, Technical.
+          "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+          "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+          "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+          "salary": "A String", # Salary, for example, $100,000.
+          "similarJobIds": [ # Similar job IDs, for example, 1275.
+            "A String",
+          ],
+        },
+        "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Food.
+          "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+            "A String",
+          ],
+          "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+          "description": "A String", # Description, for example, Save on your weekly bill.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDealIds": [ # Similar deal IDs, for example, 1275.
+            "A String",
+          ],
+          "subtitle": "A String", # Subtitle, for example, Groceries.
+        },
+        "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+          "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "cityName": "A String", # City name, for example, Mountain View, California.
+          "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+            "A String",
+          ],
+          "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+          "listingType": "A String", # Listing type, for example, For sale.
+          "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+          "propertyType": "A String", # Property type, for example, House.
+          "similarListingIds": [ # Similar listing IDs.
+            "A String",
+          ],
+        },
+        "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+          "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+          "category": "A String", # Category, for example, Express.
+          "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+            "A String",
+          ],
+          "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+          "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+          "destinationName": "A String", # Destination name, for example, Paris.
+          "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+          "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+          "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+          "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+          "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+          "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+          "originName": "A String", # Origin name, for example, London.
+          "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+          "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+          "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+            "A String",
+          ],
+          "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+        },
+        "engineStatus": "A String", # Output only. The Engine Status for an asset.
+        "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+          { # Contains policy information for an asset under AssetFieldType context.
+            "assetFieldType": "A String", # Output only. FieldType of this asset.
+            "assetSource": "A String", # Output only. Source of this asset.
+            "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+          },
+        ],
+        "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+        "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+          "A String",
+        ],
+        "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+          "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+          "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+        },
+        "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+          "hotelAddress": "A String", # Address of the hotel. Read-only.
+          "hotelName": "A String", # Name of the hotel. Read-only.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+        },
+        "id": "A String", # Output only. The ID of the asset.
+        "imageAsset": { # An Image asset. # Output only. An image asset.
+          "data": "A String", # The raw bytes data of an image. This field is mutate only.
+          "fileSize": "A String", # File size of the image asset in bytes.
+          "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+            "heightPixels": "A String", # Height of the image.
+            "url": "A String", # A URL that returns the image with this height and width.
+            "widthPixels": "A String", # Width of the image.
+          },
+          "mimeType": "A String", # MIME type of the image asset.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+          "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+          "businessName": "A String", # Required. The name of the business being advertised.
+          "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+          "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+          "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+          "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+            { # One custom question input field instance within a form.
+              "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+            { # A configuration of how leads are delivered to the advertiser.
+              "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+              },
+            },
+          ],
+          "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+          "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+          "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+            { # One input field instance within a form.
+              "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+              "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+              "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                  "A String",
+                ],
+              },
+            },
+          ],
+          "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+          "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+          "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+          "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+          "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+        },
+        "locationAsset": { # A location asset. # Output only. A location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+          "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+        },
+        "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+          "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+          "appStore": "A String", # Required. The application store that distributes this specific app.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "name": "A String", # Optional name of the asset.
+        "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+        "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+        },
+        "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+          "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+        },
+        "priceAsset": { # An asset representing a list of price offers. # A price asset.
+          "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+          "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+            { # A single price offering within a PriceAsset.
+              "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+              "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+              "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+              "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "unit": "A String", # The price unit of the price offering.
+            },
+          ],
+          "priceQualifier": "A String", # The price qualifier of the price asset.
+          "type": "A String", # Required. The type of the price asset.
+        },
+        "promotionAsset": { # A Promotion asset. # A promotion asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "discountModifier": "A String", # A modifier for qualification of the discount.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+          "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+          "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+            "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+            "currencyCode": "A String", # Three-character ISO 4217 currency code.
+          },
+          "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+          "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+            "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+            "type": "A String", # Barcode type used to generate barcode with the correct format.
+          },
+          "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+          "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+            "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+          },
+          "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+          "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+          "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+        "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+          "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+          "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+          "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+          "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+          "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+            { # Business Profile location data synced from the linked Business Profile account.
+              "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                "A String",
+              ],
+              "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+              "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+            },
+          ],
+          "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+          "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+        },
+        "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+          "labels": [ # Labels used to group the page urls.
+            "A String",
+          ],
+          "pageUrl": "A String", # The webpage that advertisers want to target.
+        },
+        "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+          "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+        },
+        "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+          "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+            { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+          ],
+          "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+          "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+          "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+          "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+          "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        },
+        "source": "A String", # Output only. Source of the asset.
+        "status": "A String", # Output only. The status of the asset.
+        "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+          "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+          "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+            "A String",
+          ],
+        },
+        "textAsset": { # A Text asset. # Immutable. A text asset.
+          "text": "A String", # Text content of the text asset.
+        },
+        "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+        "type": "A String", # Output only. Type of the asset.
+        "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+          "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+          "youtubeVideoTitle": "A String", # YouTube video title.
+        },
+      },
+      "assetFieldTypeView": { # An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension. # The asset field type view referenced in the query.
+        "fieldType": "A String", # Output only. The asset field type of the asset field type view.
+        "resourceName": "A String", # Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id}/assetFieldTypeViews/{field_type}`
+      },
+      "assetGroup": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # The asset group referenced in the query.
+        "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+        "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+          "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+            { # An action item to improve the ad strength of an asset group.
+              "actionItemType": "A String", # Output only. The action item type.
+              "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+                "assetCount": 42, # Output only. The number of assets to add.
+                "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+                "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+              },
+            },
+          ],
+        },
+        "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+        "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the asset group.
+        "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+        "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+        "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+        "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+        "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+        "status": "A String", # The status of the asset group.
+      },
+      "assetGroupAsset": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # The asset group asset referenced in the query.
+        "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+        "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+        "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+          "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+          "policyTopicEntries": [ # The list of policy findings.
+            { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+              "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                { # Describes the effect on serving that a policy topic entry will have.
+                  "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                    "countries": [ # Countries in which serving is restricted.
+                      { # Indicates that a resource's ability to serve in a particular country is constrained.
+                        "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                      },
+                    ],
+                    "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                  },
+                  "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                  },
+                },
+              ],
+              "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                { # Additional information that explains a policy finding.
+                  "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                    "urlTypes": [ # The set of URLs that did not match each other.
+                      "A String",
+                    ],
+                  },
+                  "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                    "device": "A String", # The type of device that failed to load the URL.
+                    "dnsErrorType": "A String", # The type of DNS error.
+                    "expandedUrl": "A String", # The full URL that didn't work.
+                    "httpErrorCode": "A String", # The HTTP error code.
+                    "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                  },
+                  "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                    "destinationTexts": [ # List of text found in the resource's destination page.
+                      "A String",
+                    ],
+                  },
+                  "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                  "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                    "texts": [ # The fragments of text from the resource that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                  "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                    "websites": [ # Websites that caused the policy finding.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+              "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+            },
+          ],
+          "reviewStatus": "A String", # Where in the review process the resource is.
+        },
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the asset group asset.
+        "status": "A String", # The status of the link between an asset and asset group.
+      },
+      "assetGroupListingGroupFilter": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # The asset group listing group filter referenced in the query.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+        "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+          "productBrand": { # Brand of the product. # Brand of a product offer.
+            "value": "A String", # String value of the product brand.
+          },
+          "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+            "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+            "level": "A String", # Indicates the level of the category in the taxonomy.
+          },
+          "productChannel": { # Locality of a product offer. # Locality of a product offer.
+            "channel": "A String", # Value of the locality.
+          },
+          "productCondition": { # Condition of a product offer. # Condition of a product offer.
+            "condition": "A String", # Value of the condition.
+          },
+          "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+            "index": "A String", # Indicates the index of the custom attribute.
+            "value": "A String", # String value of the product custom attribute.
+          },
+          "productItemId": { # Item id of a product offer. # Item id of a product offer.
+            "value": "A String", # Value of the id.
+          },
+          "productType": { # Type of a product offer. # Type of a product offer.
+            "level": "A String", # Level of the type.
+            "value": "A String", # Value of the type.
+          },
+          "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+            "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+              { # Matching condition for URL filtering.
+                "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+              },
+            ],
+          },
+        },
+        "id": "A String", # Output only. The ID of the ListingGroupFilter.
+        "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+        "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+        "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+          "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+            { # Listing dimensions for the asset group listing group filter.
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Indicates the level of the category in the taxonomy.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+                "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                  { # Matching condition for URL filtering.
+                    "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                    "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                  },
+                ],
+              },
+            },
+          ],
+        },
+        "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+        "type": "A String", # Immutable. Type of a listing group filter node.
+      },
+      "assetGroupProductGroupView": { # An asset group product group view. # The asset group product group view referenced in the query.
+        "assetGroup": "A String", # Output only. The asset group associated with the listing group filter.
+        "assetGroupListingGroupFilter": "A String", # Output only. The resource name of the asset group listing group filter.
+        "resourceName": "A String", # Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}`
+      },
+      "assetGroupSignal": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # The asset group signal referenced in the query.
+        "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+        "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+        "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+          "audience": "A String", # The Audience resource name.
+        },
+        "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+        "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+          "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+        },
+      },
+      "assetGroupTopCombinationView": { # A view on the usage of asset group asset top combinations. # The asset group top combination view referenced in the query.
+        "assetGroupTopCombinations": [ # Output only. The top combinations of assets that served together.
+          { # Asset group asset combination data
+            "assetCombinationServedAssets": [ # Output only. Served assets.
+              { # Contains the usage information of the asset.
+                "asset": "A String", # Resource name of the asset.
+                "servedAssetFieldType": "A String", # The served field type of the asset.
+              },
+            ],
+          },
+        ],
+        "resourceName": "A String", # Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}"
+      },
+      "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # The asset set referenced in the query.
+        "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+          "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+            "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+              "businessName": "A String", # Business name string to use for filtering.
+              "filterType": "A String", # The type of string matching to use when filtering with business_name.
+            },
+            "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+              "A String",
+            ],
+          },
+        },
+        "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+          "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+            { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+              "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+              "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                "A String",
+              ],
+            },
+          ],
+        },
+        "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+          "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+          "partnerName": "A String", # Output only. Name of the hotel partner.
+        },
+        "id": "A String", # Output only. The ID of the asset set.
+        "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+        "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+          "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+            "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+            "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+            "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+            "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+            "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+              "A String",
+            ],
+            "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+              "A String",
+            ],
+          },
+          "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+            "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+            "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+          },
+          "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+          "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+            "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+              { # Wrapper for place ids
+                "placeId": "A String", # Place ID of the Maps location.
+              },
+            ],
+          },
+        },
+        "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+          "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+          "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+        },
+        "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+        "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the asset set. Read-only.
+        "type": "A String", # Required. Immutable. The type of the asset set. Required.
+      },
+      "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # The asset set asset referenced in the query.
+        "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+        "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+        "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+        "status": "A String", # Output only. The status of the asset set asset. Read-only.
+      },
+      "assetSetTypeView": { # An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type. # The asset set type view referenced in the query.
+        "assetSetType": "A String", # Output only. The asset set type of the asset set type view.
+        "resourceName": "A String", # Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id}/assetSetTypeViews/{asset_set_type}`
+      },
+      "audience": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # The Audience referenced in the query.
+        "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+        "description": "A String", # Description of this audience.
+        "dimensions": [ # Positive dimensions specifying the audience composition.
+          { # Positive dimension specifying user's audience.
+            "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+              "ageRanges": [ # Contiguous age range to be included in the dimension.
+                { # Contiguous age range.
+                  "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                  "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+                },
+              ],
+              "includeUndetermined": True or False, # Include users whose age is not determined.
+            },
+            "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+              "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+                { # Positive audience segment.
+                  "customAudience": { # Custom audience segment. # Custom audience segment.
+                    "customAudience": "A String", # The custom audience resource.
+                  },
+                  "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                    "detailedDemographic": "A String", # The detailed demographic resource.
+                  },
+                  "lifeEvent": { # Live event segment. # Live-event audience segment.
+                    "lifeEvent": "A String", # The life event resource.
+                  },
+                  "userInterest": { # User interest segment. # Affinity or In-market segment.
+                    "userInterestCategory": "A String", # The user interest resource.
+                  },
+                  "userList": { # User list segment. # User list segment.
+                    "userList": "A String", # The user list resource.
+                  },
+                },
+              ],
+            },
+            "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+              "genders": [ # Included gender demographic segments.
+                "A String",
+              ],
+              "includeUndetermined": True or False, # Include users whose gender is not determined.
+            },
+            "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+              "includeUndetermined": True or False, # Include users whose household income is not determined.
+              "incomeRanges": [ # Included household income demographic segments.
+                "A String",
+              ],
+            },
+            "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+              "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+              "parentalStatuses": [ # Included parental status demographic segments.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+          "exclusions": [ # Audience segment to be excluded.
+            { # An audience segment to be excluded from an audience.
+              "userList": { # User list segment. # User list segment to be excluded.
+                "userList": "A String", # The user list resource.
+              },
+            },
+          ],
+        },
+        "id": "A String", # Output only. ID of the audience.
+        "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+        "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+        "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+        "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+      },
+      "batchJob": { # A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults. # The batch job referenced in the query.
+        "id": "A String", # Output only. ID of this batch job.
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.
+        "metadata": { # Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations. # Output only. Contains additional information about this batch job.
+          "completionDateTime": "A String", # Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+          "creationDateTime": "A String", # Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+          "estimatedCompletionRatio": 3.14, # Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.
+          "executedOperationCount": "A String", # Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.
+          "executionLimitSeconds": 42, # Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.
+          "operationCount": "A String", # Output only. The number of mutate operations in the batch job.
+          "startDateTime": "A String", # Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30"
+        },
+        "nextAddSequenceToken": "A String", # Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.
+        "resourceName": "A String", # Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`
+        "status": "A String", # Output only. Status of this batch job.
+      },
+      "biddingDataExclusion": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # The bidding data exclusion referenced in the query.
+        "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+        "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+        "scope": "A String", # The scope of the data exclusion.
+        "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+        "status": "A String", # Output only. The status of the data exclusion.
+      },
+      "biddingSeasonalityAdjustment": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # The bidding seasonality adjustment referenced in the query.
+        "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+          "A String",
+        ],
+        "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+        "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+        "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+          "A String",
+        ],
+        "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+        "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+        "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+        "scope": "A String", # The scope of the seasonality adjustment.
+        "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+        "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+        "status": "A String", # Output only. The status of the seasonality adjustment.
+      },
+      "biddingStrategy": { # A bidding strategy. # The bidding strategy referenced in the query.
+        "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+        "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+        "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+        "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+        "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+        },
+        "id": "A String", # Output only. The ID of the bidding strategy.
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+        "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+      },
+      "biddingStrategySimulation": { # A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM # The bidding strategy simulation referenced in the query.
+        "biddingStrategyId": "A String", # Output only. Bidding strategy shared set id of the simulation.
+        "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+        "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+        "resourceName": "A String", # Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}`
+        "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+        "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+          "points": [ # Projected metrics for a series of target CPA amounts.
+            { # Projected metrics for a specific target CPA amount.
+              "appInstalls": 3.14, # Projected number of app installs.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "inAppActions": 3.14, # Projected number of in-app actions.
+              "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+              "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+          "points": [ # Projected metrics for a series of target ROAS amounts.
+            { # Projected metrics for a specific target ROAS amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+            },
+          ],
+        },
+        "type": "A String", # Output only. The field that the simulation modifies.
+      },
+      "billingSetup": { # A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser. # The billing setup referenced in the query.
+        "endDateTime": "A String", # Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+        "endTimeType": "A String", # Output only. The end time as a type. The only possible value is FOREVER.
+        "id": "A String", # Output only. The ID of the billing setup.
+        "paymentsAccount": "A String", # Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.
+        "paymentsAccountInfo": { # Container of payments account information for this billing. # Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated.
+          "paymentsAccountId": "A String", # Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, "1234-5678-9012-3456".
+          "paymentsAccountName": "A String", # Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.
+          "paymentsProfileId": "A String", # Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, "1234-5678-9012".
+          "paymentsProfileName": "A String", # Output only. The name of the payments profile associated with the billing setup.
+          "secondaryPaymentsProfileId": "A String", # Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`
+        "startDateTime": "A String", # Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.
+        "startTimeType": "A String", # Immutable. The start time as a type. Only NOW is allowed.
+        "status": "A String", # Output only. The status of the billing setup.
+      },
+      "callView": { # A call view that includes data for call tracking of call-only ads or call extensions. # The call view referenced in the query.
+        "callDurationSeconds": "A String", # Output only. The advertiser-provided call duration in seconds.
+        "callStatus": "A String", # Output only. The status of the call.
+        "callTrackingDisplayLocation": "A String", # Output only. The call tracking display location.
+        "callerAreaCode": "A String", # Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.
+        "callerCountryCode": "A String", # Output only. code of the caller.
+        "endCallDateTime": "A String", # Output only. The advertiser-provided call end date time.
+        "resourceName": "A String", # Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id}/callViews/{call_detail_id}`
+        "startCallDateTime": "A String", # Output only. The advertiser-provided call start date time.
+        "type": "A String", # Output only. The type of the call.
+      },
+      "campaign": { # A campaign. # The campaign referenced in the query.
+        "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+        "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+        "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+        "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+        "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+          "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+          "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+        },
+        "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+          "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+          "appStore": "A String", # Immutable. The application store that distributes this specific app.
+          "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+        },
+        "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+          { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+            "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+            "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+          },
+        ],
+        "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+          "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+        },
+        "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+        "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+        "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+        "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+        "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+          "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+          "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+          "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+        },
+        "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+        "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+        "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+        "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+          "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+        },
+        "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+        "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+          "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+        },
+        "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+          "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+          "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+          "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+        },
+        "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+          "A String",
+        ],
+        "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+        "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+        "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+          "A String",
+        ],
+        "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+          "A String",
+        ],
+        "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+        "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+        "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+          { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+            "cap": 42, # Maximum number of events allowed during the time range by this cap.
+            "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+              "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+              "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+              "timeLength": 42, # Number of time units the cap lasts.
+              "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+            },
+          },
+        ],
+        "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+          "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+          "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+        },
+        "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+        "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+          "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+        },
+        "id": "A String", # Output only. The ID of the campaign.
+        "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+        "labels": [ # Output only. The resource names of labels attached to this campaign.
+          "A String",
+        ],
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+        "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+          "locationSourceType": "A String", # The location source type for this local campaign.
+        },
+        "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+          "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+            { # Category bids in LocalServicesReportingCampaignSettings.
+              "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+              "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+              "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+            },
+          ],
+        },
+        "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+        },
+        "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+          "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+        },
+        "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+        },
+        "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+        },
+        "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+        },
+        "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+          "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+        },
+        "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+        "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+          "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+          "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+          "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+          "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+          "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+          "targetYoutube": True or False, # Whether ads will be served on YouTube.
+        },
+        "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+          "optimizationGoalTypes": [ # The list of optimization goal types.
+            "A String",
+          ],
+        },
+        "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+        "paymentMode": "A String", # Payment mode for the campaign.
+        "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+          "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+        },
+        "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+          "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+          "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+          "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+        },
+        "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+          "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+            "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+          },
+        },
+        "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+        "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+          "A String",
+        ],
+        "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+          "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+        "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+          "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+            "A String",
+          ],
+        },
+        "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+        "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+        "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+          "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+            "A String",
+          ],
+          "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+          "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+          "enableLocal": True or False, # Whether to include local products.
+          "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+          "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+          "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+        },
+        "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+        "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+        "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+          "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+        },
+        "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+        },
+        "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+          "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+          "location": "A String", # The targeted location on the search results page.
+          "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+        },
+        "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+          "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+          "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+        },
+        "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+          "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+          "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+        },
+        "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+          "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+            { # Operation to be performed on a target restriction list in a mutate.
+              "operator": "A String", # Type of list operation to perform.
+              "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            },
+          ],
+          "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+            { # The list of per-targeting-dimension targeting settings.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          ],
+        },
+        "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+          "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+            { # Container for third party Brand Lift integration data for Campaign.
+              "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+              "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+            { # Container for third party brand safety integration data for Campaign.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+              "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+          "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+            { # Container for third party reach integration data for Campaign.
+              "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+              "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+            { # Container for third party viewability integration data for Campaign.
+              "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+              "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+              },
+            },
+          ],
+        },
+        "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+          "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+          "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+        },
+        "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+        "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+          "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+          "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+        },
+        "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      },
+      "campaignAsset": { # A link between a Campaign and an Asset. # The campaign asset referenced in the query.
+        "asset": "A String", # Immutable. The asset which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+        "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the campaign asset link.
+        "status": "A String", # Status of the campaign asset.
+      },
+      "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # The campaign asset set referenced in the query.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+        "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+        "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+      },
+      "campaignAudienceView": { # A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level. # The campaign audience view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+      },
+      "campaignBidModifier": { # Represents a bid-modifiable only criterion at the campaign level. # The campaign bid modifier referenced in the query.
+        "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+        "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+        "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+        "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+          "type": "A String", # The interaction type.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+      },
+      "campaignBudget": { # A campaign budget. # The campaign budget referenced in the query.
+        "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+        "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+        "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+        "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+        "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+        "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+        "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+        "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+        "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+        "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+        "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+        "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+        "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+        "type": "A String", # Immutable. The type of the campaign budget.
+      },
+      "campaignConversionGoal": { # The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. # The CampaignConversionGoal referenced in the query.
+        "biddable": True or False, # The biddability of the campaign conversion goal.
+        "campaign": "A String", # Immutable. The campaign with which this campaign conversion goal is associated.
+        "category": "A String", # The conversion category of this campaign conversion goal.
+        "origin": "A String", # The conversion origin of this campaign conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`
+        "searchAds360Biddable": True or False, # Search Ads 360 biddability of the campaign conversion goal.
+      },
+      "campaignCriterion": { # A campaign criterion. # The campaign criterion referenced in the query.
+        "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+          "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        },
+        "ageRange": { # An age range criterion. # Immutable. Age range.
+          "type": "A String", # Type of the age range.
+        },
+        "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+        "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+          "sharedSet": "A String", # Shared set resource name of the brand list.
+        },
+        "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+        "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+          "carrierConstant": "A String", # The Carrier constant resource name.
+        },
+        "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+          "combinedAudience": "A String", # The CombinedAudience resource name.
+        },
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+        "device": { # A device criterion. # Immutable. Device.
+          "type": "A String", # Type of the device.
+        },
+        "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+        "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+          "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+        },
+        "gender": { # A gender criterion. # Immutable. Gender.
+          "type": "A String", # Type of the gender.
+        },
+        "incomeRange": { # An income range criterion. # Immutable. Income range.
+          "type": "A String", # Type of the income range.
+        },
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+          "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+          "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+        },
+        "language": { # A language criterion. # Immutable. Language.
+          "languageConstant": "A String", # The language constant resource name.
+        },
+        "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+          "lifeEventId": "A String", # Taxonomy id of the life event.
+        },
+        "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+          "dimensions": [ # Scope of the campaign criterion.
+            { # Listing dimensions for listing group criterion.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+          ],
+        },
+        "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+          "serviceId": "A String", # The criterion resource name.
+        },
+        "location": { # A location criterion. # Immutable. Location.
+          "geoTargetConstant": "A String", # The geo target constant resource name.
+        },
+        "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+          "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+          "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+            "A String",
+          ],
+          "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+            "A String",
+          ],
+          "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "A String",
+          ],
+          "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+          "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+          "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+        },
+        "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+        "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+          "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+        },
+        "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+          "type": "A String", # Type of the parental status.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+          "address": { # Address for proximity criterion. # Full address.
+            "cityName": "A String", # Name of the city.
+            "countryCode": "A String", # Country code.
+            "postalCode": "A String", # Postal code.
+            "provinceCode": "A String", # Province or state code.
+            "provinceName": "A String", # Province or state name.
+            "streetAddress": "A String", # Street address line 1.
+            "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+          },
+          "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+            "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+            "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+          },
+          "radius": 3.14, # The radius of the proximity.
+          "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+        "status": "A String", # The status of the criterion.
+        "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+          "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+            "A String",
+          ],
+          "topicConstant": "A String", # The Topic Constant resource name.
+        },
+        "type": "A String", # Output only. The type of the criterion.
+        "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+          "userInterestCategory": "A String", # The UserInterest resource name.
+        },
+        "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+          "userList": "A String", # The User List resource name.
+        },
+        "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+          "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+          "sharedSet": "A String", # Shared set resource name of the webpage list.
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "campaignCustomizer": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # The campaign customizer referenced in the query.
+        "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+        "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the campaign customizer.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "campaignDraft": { # A campaign draft. # The campaign draft referenced in the query.
+        "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+        "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+        "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+        "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+        "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+        "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+      },
+      "campaignEffectiveLabel": { # Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign. # The campaign effective label referenced in the query.
+        "campaign": "A String", # Immutable. The campaign to which the effective label is attached.
+        "label": "A String", # Immutable. The effective label assigned to the campaign.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+        "resourceName": "A String", # Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}`
+      },
+      "campaignGoalConfig": { # A link between a campaign and a goal enabling campaign-specific optimization. # The campaign goal config referenced in the query.
+        "campaign": "A String", # Immutable. The resource name of the campaign for this link.
+        "campaignRetentionSettings": { # Retention campaign goal settings. # Retention goal campaign settings.
+          "targetOption": "A String", # Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.
+          "valueSettingsOverride": { # Lifecycle goal optimization value settings. # Retention goal campaign specific value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+        "goal": "A String", # Immutable. The resource name of the goal this link is attached to.
+        "goalType": "A String", # Output only. The goal type this link is attached to.
+        "resourceName": "A String", # Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`
+      },
+      "campaignGroup": { # A campaign group. # Campaign Group referenced in AWQL query.
+        "id": "A String", # Output only. The ID of the campaign group.
+        "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+        "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+        "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+      },
+      "campaignLabel": { # Represents a relationship between a campaign and a label. # The campaign label referenced in the query.
+        "campaign": "A String", # Immutable. The campaign to which the label is attached.
+        "label": "A String", # Immutable. The label assigned to the campaign.
+        "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+        "resourceName": "A String", # Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`
+      },
+      "campaignLifecycleGoal": { # Campaign level customer lifecycle goal settings. # The campaign lifecycle goal referenced in the query.
+        "campaign": "A String", # Output only. The campaign where the goal is attached.
+        "customerAcquisitionGoalSettings": { # The customer acquisition goal settings for the campaign. # Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169
+          "optimizationMode": "A String", # Output only. Customer acquisition optimization mode of this campaign.
+          "valueSettings": { # Lifecycle goal value settings. # Output only. Campaign specific values for the customer acquisition goal.
+            "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+            "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+          },
+        },
+        "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`
+      },
+      "campaignSearchTermInsight": { # This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. # The campaign search term insight referenced in the query.
+        "campaignId": "A String", # Output only. The ID of the campaign.
+        "categoryLabel": "A String", # Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
+        "id": "A String", # Output only. The ID of the insight.
+        "resourceName": "A String", # Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}`
+      },
+      "campaignSearchTermView": { # This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results. # The campaign-level search term view referenced in the query.
+        "campaign": "A String", # Output only. The campaign the search term served in.
+        "resourceName": "A String", # Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`
+        "searchTerm": "A String", # Output only. The search term.
+      },
+      "campaignSharedSet": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # Campaign Shared Set referenced in AWQL query.
+        "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+        "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+        "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+        "status": "A String", # Output only. The status of this campaign shared set. Read only.
+      },
+      "campaignSimulation": { # A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM # The campaign simulation referenced in the query.
+        "budgetPointList": { # A container for simulation points for simulations of type BUDGET. # Output only. Simulation points if the simulation type is BUDGET.
+          "points": [ # Projected metrics for a series of budget amounts.
+            { # Projected metrics for a specific budget amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "budgetAmountMicros": "A String", # The simulated budget upon which projected metrics are based.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+              "requiredCpcBidCeilingMicros": "A String", # Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "campaignId": "A String", # Output only. Campaign id of the simulation.
+        "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+          "points": [ # Projected metrics for a series of CPC bid amounts.
+            { # Projected metrics for a specific CPC bid amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+              "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+        "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+        "resourceName": "A String", # Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}`
+        "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+        "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+          "points": [ # Projected metrics for a series of target CPA amounts.
+            { # Projected metrics for a specific target CPA amount.
+              "appInstalls": 3.14, # Projected number of app installs.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "inAppActions": 3.14, # Projected number of in-app actions.
+              "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+              "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "targetImpressionSharePointList": { # A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE. # Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.
+          "points": [ # Projected metrics for a specific target impression share value.
+            { # Projected metrics for a specific target impression share value.
+              "absoluteTopImpressions": "A String", # Projected number of absolute top impressions. Only search advertising channel type supports this field.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "requiredCpcBidCeilingMicros": "A String", # Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency.
+              "targetImpressionShareMicros": "A String", # The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+            },
+          ],
+        },
+        "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+          "points": [ # Projected metrics for a series of target ROAS amounts.
+            { # Projected metrics for a specific target ROAS amount.
+              "biddableConversions": 3.14, # Projected number of biddable conversions.
+              "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+              "clicks": "A String", # Projected number of clicks.
+              "costMicros": "A String", # Projected cost in micros.
+              "impressions": "A String", # Projected number of impressions.
+              "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+              "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+              "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+            },
+          ],
+        },
+        "type": "A String", # Output only. The field that the simulation modifies.
+      },
+      "carrierConstant": { # A carrier criterion that can be used in campaign targeting. # The carrier constant referenced in the query.
+        "countryCode": "A String", # Output only. The country code of the country where the carrier is located, for example, "AR", "FR", etc.
+        "id": "A String", # Output only. The ID of the carrier criterion.
+        "name": "A String", # Output only. The full name of the carrier in English.
+        "resourceName": "A String", # Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id}`
+      },
+      "cartDataSalesView": { # Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together. # The cart data sales view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id}/cartDataSalesView`
+      },
+      "changeEvent": { # Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change. # The ChangeEvent referenced in the query.
+        "adGroup": "A String", # Output only. The AdGroup affected by this change.
+        "asset": "A String", # Output only. The Asset affected by this change.
+        "campaign": "A String", # Output only. The Campaign affected by this change.
+        "changeDateTime": "A String", # Output only. Time at which the change was committed on this resource.
+        "changeResourceName": "A String", # Output only. The Simply resource this change occurred on.
+        "changeResourceType": "A String", # Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.
+        "changedFields": "A String", # Output only. A list of fields that are changed in the returned resource.
+        "clientType": "A String", # Output only. Where the change was made through.
+        "newResource": { # A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set. # Output only. The new resource after the change. Only changed fields will be populated.
+          "ad": { # An ad. # Output only. Set if change_resource_type == AD.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": { # An ad group. # Output only. Set if change_resource_type == AD_GROUP.
+            "adRotationMode": "A String", # The ad rotation mode of the ad group.
+            "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+              "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+            },
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+            },
+            "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+            "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+            "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+            "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+              "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+                "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+                "channelStrategy": "A String", # High level channel strategy.
+                "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                  "discover": True or False, # Whether to enable ads on the Discover channel.
+                  "display": True or False, # Whether to enable ads on the Display channel.
+                  "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                  "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                  "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                  "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+                },
+              },
+            },
+            "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+            "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+              "A String",
+            ],
+            "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+            "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+            "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+            "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+            "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+            "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+            "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group.
+            "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+            "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+            "id": "A String", # Output only. The ID of the ad group.
+            "labels": [ # Output only. The resource names of labels attached to this ad group.
+              "A String",
+            ],
+            "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+            "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+            "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "status": "A String", # The status of the ad group.
+            "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+            "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+            "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+            "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+            "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Immutable. The type of the ad group.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+              "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+              "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+              "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+            },
+          },
+          "adGroupAd": { # An ad group ad. # Output only. Set if change_resource_type == AD_GROUP_AD.
+            "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+              "A String",
+            ],
+            "ad": { # An ad. # Immutable. The ad.
+              "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+              "appAd": { # An app ad. # Details pertaining to an app ad.
+                "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                  "asset": "A String", # The Asset resource name of this app deep link asset.
+                },
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                  { # A media bundle asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this media bundle.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "videos": [ # List of video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+                "businessName": "A String", # Required. The Advertiser/brand name.
+                "callToActionText": "A String", # Call to action text.
+                "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                  { # A Demand Gen carousel card asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this discovery carousel card.
+                  },
+                ],
+                "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+                "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+                "callToActionText": "A String", # Call to action text.
+                "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+              },
+              "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+                "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                  { # A call to action asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this call to action asset.
+                  },
+                ],
+                "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "descriptions": [ # List of text assets used for the description.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets used for the short headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadlines": [ # List of text assets used for the long headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "videos": [ # List of YouTube video assets used for the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+              "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+                "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+                "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              },
+              "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+              "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+              },
+              "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+                "headlinePart1": "A String", # The first part of the ad's headline.
+                "headlinePart2": "A String", # The second part of the ad's headline.
+                "headlinePart3": "A String", # The third part of the ad's headline.
+                "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+                "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+              },
+              "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+                { # A URL for deep linking into an app for the given operating system.
+                  "osType": "A String", # The operating system targeted by this URL. Required.
+                  "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+                },
+              ],
+              "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+              "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+              },
+              "id": "A String", # Output only. The ID of the ad.
+              "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+                "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+                "data": "A String", # Raw image data as bytes.
+                "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+                "imageUrl": "A String", # URL of the full size image.
+                "mimeType": "A String", # The mime type of the image.
+                "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+                "pixelHeight": "A String", # Height in pixels of the full size image.
+                "pixelWidth": "A String", # Width in pixels of the full size image.
+                "previewImageUrl": "A String", # URL of the preview size image.
+                "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+                "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+              },
+              "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+                "appId": "A String", # The ID of the mobile app.
+                "appStore": "A String", # The app store the mobile app is available in.
+                "description1": "A String", # The first description line of the ad.
+                "description2": "A String", # The second description line of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The business name in the ad.
+                "callToActionText": "A String", # The call-to-action text for the ad.
+                "description": "A String", # The description of the ad.
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+                "longHeadline": "A String", # The long version of the ad's headline.
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "shortHeadline": "A String", # The short version of the ad's headline.
+                "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+                "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+              },
+              "localAd": { # A local ad. # Details pertaining to a local ad.
+                "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+                "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+              "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+              "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+                "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+                "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                  "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                  "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+                },
+                "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # First part of text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              },
+              "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+              },
+              "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+                "headline2": "A String", # The second headline of the ad.
+                "headline3": "A String", # The third headline of the ad.
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+                "displayUrl": "A String", # The displayed URL of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+                "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+              },
+              "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+              },
+              "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+              },
+              "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+                "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+              },
+              "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+              "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+              },
+              "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+              "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+              },
+              "type": "A String", # Output only. The type of ad.
+              "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+                { # Collection of urls that is tagged with a unique identifier.
+                  "finalMobileUrls": [ # A list of possible final mobile URLs.
+                    "A String",
+                  ],
+                  "finalUrls": [ # A list of possible final URLs.
+                    "A String",
+                  ],
+                  "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                  "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+                },
+              ],
+              "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+            },
+            "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+            "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+              { # Asset automation setting for an AdGroupAd.
+                "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+                "assetAutomationType": "A String", # The asset automation type that this setting configures.
+              },
+            ],
+            "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+              "A String",
+            ],
+            "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+            "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+            "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+              "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+            },
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+            "status": "A String", # The status of the ad.
+          },
+          "adGroupAsset": { # A link between an ad group and an asset. # Output only. Set if change_resource_type == AD_GROUP_ASSET.
+            "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+            "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the adgroup asset link.
+            "status": "A String", # Status of the ad group asset.
+          },
+          "adGroupBidModifier": { # Represents an ad group bid modifier. # Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.
+            "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+            "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+            "bidModifierSource": "A String", # Output only. Bid modifier source.
+            "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+            "device": { # A device criterion. # Immutable. A device criterion.
+              "type": "A String", # Type of the device.
+            },
+            "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+              "maxDays": "A String", # High end of the number of days prior to the stay.
+              "minDays": "A String", # Low end of the number of days prior to the stay.
+            },
+            "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+              "endDate": "A String", # End date in the YYYY-MM-DD format.
+              "startDate": "A String", # Start date in the YYYY-MM-DD format.
+            },
+            "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+              "dayOfWeek": "A String", # The day of the week.
+            },
+            "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+              "type": "A String", # Type of the hotel date selection
+            },
+            "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+              "maxNights": "A String", # High end of the number of nights in the stay.
+              "minNights": "A String", # Low end of the number of nights in the stay.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+          },
+          "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Output only. Set if change_resource_type == AD_GROUP_CRITERION.
+            "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+              "type": "A String", # Type of the app payment model.
+            },
+            "approvalStatus": "A String", # Output only. Approval status of the criterion.
+            "audience": { # An audience criterion. # Immutable. Audience.
+              "audience": "A String", # The Audience resource name.
+            },
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+            "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "criterionId": "A String", # Output only. The ID of the criterion.
+            "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+              "customAffinity": "A String", # The CustomInterest resource name.
+            },
+            "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+              "customAudience": "A String", # The CustomAudience resource name.
+            },
+            "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+              "customIntent": "A String", # The CustomInterest resource name.
+            },
+            "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+              "A String",
+            ],
+            "displayName": "A String", # Output only. The display name of the criterion.
+            "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+            "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+            "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+            "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+            "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+            "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+              "A String",
+            ],
+            "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+            "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+            "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+              "A String",
+            ],
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+              "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+              "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+              "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+                "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                  { # Listing dimensions for listing group criterion.
+                    "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                      "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                    },
+                    "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                      "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                    },
+                    "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                      "value": "A String", # String value of the activity ID.
+                    },
+                    "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                      "value": "A String", # Long value of the activity rating.
+                    },
+                    "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                      "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                    },
+                    "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                      "cityCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                      "value": "A String", # Long value of the hotel class.
+                    },
+                    "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                      "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                      "value": "A String", # String value of the hotel ID.
+                    },
+                    "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                      "stateCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "productBrand": { # Brand of the product. # Brand of a product offer.
+                      "value": "A String", # String value of the product brand.
+                    },
+                    "productCategory": { # Category of a product offer. # Category of a product offer.
+                      "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                      "level": "A String", # Level of the product category.
+                    },
+                    "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                      "channel": "A String", # Value of the locality.
+                    },
+                    "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                      "channelExclusivity": "A String", # Value of the availability.
+                    },
+                    "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                      "condition": "A String", # Value of the condition.
+                    },
+                    "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                      "index": "A String", # Indicates the index of the custom attribute.
+                      "value": "A String", # String value of the product custom attribute.
+                    },
+                    "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product grouping.
+                    },
+                    "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                      "value": "A String", # Value of the id.
+                    },
+                    "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product labels.
+                    },
+                    "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product legacy condition.
+                    },
+                    "productType": { # Type of a product offer. # Type of a product offer.
+                      "level": "A String", # Level of the type.
+                      "value": "A String", # Value of the type.
+                    },
+                    "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product full type.
+                    },
+                    "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                    },
+                  },
+                ],
+              },
+              "type": "A String", # Type of the listing group.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+              "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+              "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+              "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+              "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+              "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+            },
+            "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+            "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+              "A String",
+            ],
+            "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+              "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+              "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+              "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+              "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+            "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Output only. The type of the criterion.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+              "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Output only. Set if change_resource_type == ASSET.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+          "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Output only. Set if change_resource_type == ASSET_SET.
+            "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+              "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+                "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                  "businessName": "A String", # Business name string to use for filtering.
+                  "filterType": "A String", # The type of string matching to use when filtering with business_name.
+                },
+                "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                  "A String",
+                ],
+              },
+            },
+            "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+              "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+            "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+              "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+              "partnerName": "A String", # Output only. Name of the hotel partner.
+            },
+            "id": "A String", # Output only. The ID of the asset set.
+            "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+            "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+              "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+                "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+                "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+                "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+                "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+                "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                  "A String",
+                ],
+              },
+              "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+                "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                  { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                    "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                    "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                      "A String",
+                    ],
+                  },
+                ],
+                "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+              },
+              "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+              "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+                "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                  { # Wrapper for place ids
+                    "placeId": "A String", # Place ID of the Maps location.
+                  },
+                ],
+              },
+            },
+            "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+              "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+              "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+            },
+            "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+            "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+            "status": "A String", # Output only. The status of the asset set. Read-only.
+            "type": "A String", # Required. Immutable. The type of the asset set. Required.
+          },
+          "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Output only. Set if change_resource_type == ASSET_SET_ASSET.
+            "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+            "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+            "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+            "status": "A String", # Output only. The status of the asset set asset. Read-only.
+          },
+          "campaign": { # A campaign. # Output only. Set if change_resource_type == CAMPAIGN.
+            "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+            "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+            "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+            "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+            "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+              "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+              "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+            },
+            "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+              "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+              "appStore": "A String", # Immutable. The application store that distributes this specific app.
+              "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+            },
+            "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+              { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+                "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+                "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+              },
+            ],
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+            },
+            "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+            "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+            "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+            "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+            "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+              "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+              "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+              "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+            },
+            "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+            "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+            "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+            "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+              "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+            },
+            "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+            "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+              "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+            },
+            "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+              "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+              "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+              "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+            },
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+              "A String",
+            ],
+            "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+            "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+            "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+            "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+              { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+                "cap": 42, # Maximum number of events allowed during the time range by this cap.
+                "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                  "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                  "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                  "timeLength": 42, # Number of time units the cap lasts.
+                  "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+                },
+              },
+            ],
+            "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+              "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+              "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+            },
+            "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+            "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+              "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+            },
+            "id": "A String", # Output only. The ID of the campaign.
+            "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+            "labels": [ # Output only. The resource names of labels attached to this campaign.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+            "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+              "locationSourceType": "A String", # The location source type for this local campaign.
+            },
+            "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+              "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+                { # Category bids in LocalServicesReportingCampaignSettings.
+                  "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                  "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                  "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+                },
+              ],
+            },
+            "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+            },
+            "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+              "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+            },
+            "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+            },
+            "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+            },
+            "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+            },
+            "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+            },
+            "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+            "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+              "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+              "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+              "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+              "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+              "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+              "targetYoutube": True or False, # Whether ads will be served on YouTube.
+            },
+            "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+              "optimizationGoalTypes": [ # The list of optimization goal types.
+                "A String",
+              ],
+            },
+            "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+            "paymentMode": "A String", # Payment mode for the campaign.
+            "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+              "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+            },
+            "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+              "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+              "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+              "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+            },
+            "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+              "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+                "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+              },
+            },
+            "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+            "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+              "A String",
+            ],
+            "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+              "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+            "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+              "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+                "A String",
+              ],
+            },
+            "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+            "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+            "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+              "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+                "A String",
+              ],
+              "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+              "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+              "enableLocal": True or False, # Whether to include local products.
+              "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+              "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+              "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+            },
+            "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+            "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+            "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+              "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+            },
+            "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+              "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+              "location": "A String", # The targeted location on the search results page.
+              "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+            },
+            "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+            },
+            "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+              "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+            },
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+              "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+                { # Container for third party Brand Lift integration data for Campaign.
+                  "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                  "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+                { # Container for third party brand safety integration data for Campaign.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                  "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+              "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+                { # Container for third party reach integration data for Campaign.
+                  "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                  "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+                { # Container for third party viewability integration data for Campaign.
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                  "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+            },
+            "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+              "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+              "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+            },
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+              "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+              "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+            },
+            "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          },
+          "campaignAsset": { # A link between a Campaign and an Asset. # Output only. Set if change_resource_type == CAMPAIGN_ASSET.
+            "asset": "A String", # Immutable. The asset which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+            "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the campaign asset link.
+            "status": "A String", # Status of the campaign asset.
+          },
+          "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.
+            "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+            "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+          },
+          "campaignBudget": { # A campaign budget. # Output only. Set if change_resource_type == CAMPAIGN_BUDGET.
+            "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+            "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+            "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+            "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+            "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+            "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+            "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+            "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+            "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+            "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+            "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+            "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+            "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+            "type": "A String", # Immutable. The type of the campaign budget.
+          },
+          "campaignCriterion": { # A campaign criterion. # Output only. Set if change_resource_type == CAMPAIGN_CRITERION.
+            "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+            "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+              "carrierConstant": "A String", # The Carrier constant resource name.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+              "type": "A String", # Content label type, required for CREATE operations.
+            },
+            "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+            "device": { # A device criterion. # Immutable. Device.
+              "type": "A String", # Type of the device.
+            },
+            "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+              "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+              "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+              "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+            },
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+              "dimensions": [ # Scope of the campaign criterion.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+              "serviceId": "A String", # The criterion resource name.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+              "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+                "A String",
+              ],
+              "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+                "A String",
+              ],
+              "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+                "A String",
+              ],
+              "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+              "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+              "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+            "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+              "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+              "address": { # Address for proximity criterion. # Full address.
+                "cityName": "A String", # Name of the city.
+                "countryCode": "A String", # Country code.
+                "postalCode": "A String", # Postal code.
+                "provinceCode": "A String", # Province or state code.
+                "provinceName": "A String", # Province or state name.
+                "streetAddress": "A String", # Street address line 1.
+                "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+              },
+              "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+                "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+                "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+              },
+              "radius": 3.14, # The radius of the proximity.
+              "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "type": "A String", # Output only. The type of the criterion.
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+              "sharedSet": "A String", # Shared set resource name of the webpage list.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "customerAsset": { # A link between a customer and an asset. # Output only. Set if change_resource_type == CUSTOMER_ASSET.
+            "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the customer asset link.
+            "status": "A String", # Status of the customer asset.
+          },
+        },
+        "oldResource": { # A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set. # Output only. The old resource before the change. Only changed fields will be populated.
+          "ad": { # An ad. # Output only. Set if change_resource_type == AD.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": { # An ad group. # Output only. Set if change_resource_type == AD_GROUP.
+            "adRotationMode": "A String", # The ad rotation mode of the ad group.
+            "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+              "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+            },
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+            },
+            "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+            "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+            "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+            "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+              "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+                "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+                "channelStrategy": "A String", # High level channel strategy.
+                "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                  "discover": True or False, # Whether to enable ads on the Discover channel.
+                  "display": True or False, # Whether to enable ads on the Display channel.
+                  "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                  "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                  "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                  "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+                },
+              },
+            },
+            "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+            "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+              "A String",
+            ],
+            "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+            "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+            "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+            "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+            "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+            "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+            "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group.
+            "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+            "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+            "id": "A String", # Output only. The ID of the ad group.
+            "labels": [ # Output only. The resource names of labels attached to this ad group.
+              "A String",
+            ],
+            "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+            "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+            "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+            "status": "A String", # The status of the ad group.
+            "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+            "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+            "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+            "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+            "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Immutable. The type of the ad group.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+              "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+              "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+              "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+            },
+          },
+          "adGroupAd": { # An ad group ad. # Output only. Set if change_resource_type == AD_GROUP_AD.
+            "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+              "A String",
+            ],
+            "ad": { # An ad. # Immutable. The ad.
+              "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+              "appAd": { # An app ad. # Details pertaining to an app ad.
+                "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                  "asset": "A String", # The Asset resource name of this app deep link asset.
+                },
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                  { # A media bundle asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this media bundle.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image assets that may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "videos": [ # List of video assets that may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+                "businessName": "A String", # Required. The Advertiser/brand name.
+                "callToActionText": "A String", # Call to action text.
+                "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                  { # A Demand Gen carousel card asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this discovery carousel card.
+                  },
+                ],
+                "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+                "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+                "callToActionText": "A String", # Call to action text.
+                "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+              },
+              "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+                "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              },
+              "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+                "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+                "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+                "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                  { # A call to action asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this call to action asset.
+                  },
+                ],
+                "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "descriptions": [ # List of text assets used for the description.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets used for the short headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadlines": [ # List of text assets used for the long headline.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "videos": [ # List of YouTube video assets used for the ad.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+              "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+                "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+                "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              },
+              "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+              "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+              },
+              "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+                "description": "A String", # The description of the ad.
+                "description2": "A String", # The second description of the ad.
+                "headlinePart1": "A String", # The first part of the ad's headline.
+                "headlinePart2": "A String", # The second part of the ad's headline.
+                "headlinePart3": "A String", # The third part of the ad's headline.
+                "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+                "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+              },
+              "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+                { # A URL for deep linking into an app for the given operating system.
+                  "osType": "A String", # The operating system targeted by this URL. Required.
+                  "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+                },
+              ],
+              "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+              "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+                "A String",
+              ],
+              "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+              },
+              "id": "A String", # Output only. The ID of the ad.
+              "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+                "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+                "data": "A String", # Raw image data as bytes.
+                "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+                "imageUrl": "A String", # URL of the full size image.
+                "mimeType": "A String", # The mime type of the image.
+                "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+                "pixelHeight": "A String", # Height in pixels of the full size image.
+                "pixelWidth": "A String", # Width in pixels of the full size image.
+                "previewImageUrl": "A String", # URL of the preview size image.
+                "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+                "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+              },
+              "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+                "appId": "A String", # The ID of the mobile app.
+                "appStore": "A String", # The app store the mobile app is available in.
+                "description1": "A String", # The first description line of the ad.
+                "description2": "A String", # The second description line of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The business name in the ad.
+                "callToActionText": "A String", # The call-to-action text for the ad.
+                "description": "A String", # The description of the ad.
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+                "longHeadline": "A String", # The long version of the ad's headline.
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "shortHeadline": "A String", # The short version of the ad's headline.
+                "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+                "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+              },
+              "localAd": { # A local ad. # Details pertaining to a local ad.
+                "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+                "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+              "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+              "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+                "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+                "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+                "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+                "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                  "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                  "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+                },
+                "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+                "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+                "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+                "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+                "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+                "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                  { # An image asset used inside an ad.
+                    "asset": "A String", # The Asset resource name of this image.
+                  },
+                ],
+                "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                  { # A video asset used inside an ad.
+                    "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                      "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                        "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                      },
+                    },
+                    "asset": "A String", # The Asset resource name of this video.
+                  },
+                ],
+              },
+              "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # First part of text that can be appended to the URL in the ad.
+                "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              },
+              "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+              },
+              "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+                "headline2": "A String", # The second headline of the ad.
+                "headline3": "A String", # The third headline of the ad.
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+                "path2": "A String", # Text appended to path1 with a delimiter.
+              },
+              "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+                "adTrackingId": "A String", # The tracking id of the ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+                "displayUrl": "A String", # The displayed URL of the ad.
+                "headline": "A String", # The headline of the ad.
+              },
+              "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+                "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+              },
+              "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+              },
+              "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+              },
+              "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+                "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+                "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                  { # A text asset used inside an ad.
+                    "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                    "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                    "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                      "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                      "policyTopicEntries": [ # The list of policy findings for this asset.
+                        { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                          "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                            { # Describes the effect on serving that a policy topic entry will have.
+                              "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                                "countries": [ # Countries in which serving is restricted.
+                                  { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                    "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                  },
+                                ],
+                                "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                              },
+                              "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                              },
+                            },
+                          ],
+                          "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                            { # Additional information that explains a policy finding.
+                              "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                                "urlTypes": [ # The set of URLs that did not match each other.
+                                  "A String",
+                                ],
+                              },
+                              "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                                "device": "A String", # The type of device that failed to load the URL.
+                                "dnsErrorType": "A String", # The type of DNS error.
+                                "expandedUrl": "A String", # The full URL that didn't work.
+                                "httpErrorCode": "A String", # The HTTP error code.
+                                "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                              },
+                              "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                                "destinationTexts": [ # List of text found in the resource's destination page.
+                                  "A String",
+                                ],
+                              },
+                              "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                              "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                                "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                              "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                                "websites": [ # Websites that caused the policy finding.
+                                  "A String",
+                                ],
+                              },
+                            },
+                          ],
+                          "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                          "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                        },
+                      ],
+                      "reviewStatus": "A String", # Where in the review process this asset.
+                    },
+                    "text": "A String", # Asset text.
+                  },
+                ],
+              },
+              "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+              "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+                "description1": "A String", # The first line of the ad's description.
+                "description2": "A String", # The second line of the ad's description.
+                "headline": "A String", # The headline of the ad.
+              },
+              "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+              "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+              },
+              "type": "A String", # Output only. The type of ad.
+              "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+                { # Collection of urls that is tagged with a unique identifier.
+                  "finalMobileUrls": [ # A list of possible final mobile URLs.
+                    "A String",
+                  ],
+                  "finalUrls": [ # A list of possible final URLs.
+                    "A String",
+                  ],
+                  "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                  "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+                },
+              ],
+              "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+            },
+            "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+            "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+              { # Asset automation setting for an AdGroupAd.
+                "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+                "assetAutomationType": "A String", # The asset automation type that this setting configures.
+              },
+            ],
+            "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+            "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+              "A String",
+            ],
+            "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+            "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+            "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+              "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+            },
+            "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+            "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+            "status": "A String", # The status of the ad.
+          },
+          "adGroupAsset": { # A link between an ad group and an asset. # Output only. Set if change_resource_type == AD_GROUP_ASSET.
+            "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+            "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the adgroup asset link.
+            "status": "A String", # Status of the ad group asset.
+          },
+          "adGroupBidModifier": { # Represents an ad group bid modifier. # Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.
+            "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+            "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+            "bidModifierSource": "A String", # Output only. Bid modifier source.
+            "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+            "device": { # A device criterion. # Immutable. A device criterion.
+              "type": "A String", # Type of the device.
+            },
+            "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+              "maxDays": "A String", # High end of the number of days prior to the stay.
+              "minDays": "A String", # Low end of the number of days prior to the stay.
+            },
+            "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+              "endDate": "A String", # End date in the YYYY-MM-DD format.
+              "startDate": "A String", # Start date in the YYYY-MM-DD format.
+            },
+            "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+              "dayOfWeek": "A String", # The day of the week.
+            },
+            "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+              "type": "A String", # Type of the hotel date selection
+            },
+            "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+              "maxNights": "A String", # High end of the number of nights in the stay.
+              "minNights": "A String", # Low end of the number of nights in the stay.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+          },
+          "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Output only. Set if change_resource_type == AD_GROUP_CRITERION.
+            "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+              "type": "A String", # Type of the app payment model.
+            },
+            "approvalStatus": "A String", # Output only. Approval status of the criterion.
+            "audience": { # An audience criterion. # Immutable. Audience.
+              "audience": "A String", # The Audience resource name.
+            },
+            "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+            "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+            "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+            "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "criterionId": "A String", # Output only. The ID of the criterion.
+            "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+              "customAffinity": "A String", # The CustomInterest resource name.
+            },
+            "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+              "customAudience": "A String", # The CustomAudience resource name.
+            },
+            "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+              "customIntent": "A String", # The CustomInterest resource name.
+            },
+            "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+              "A String",
+            ],
+            "displayName": "A String", # Output only. The display name of the criterion.
+            "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+            "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+            "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+            "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+            "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+            "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+              "A String",
+            ],
+            "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+            "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+            "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+            "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+              "A String",
+            ],
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+              "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+              "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+              "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+                "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                  { # Listing dimensions for listing group criterion.
+                    "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                      "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                    },
+                    "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                      "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                    },
+                    "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                      "value": "A String", # String value of the activity ID.
+                    },
+                    "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                      "value": "A String", # Long value of the activity rating.
+                    },
+                    "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                      "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                    },
+                    "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                      "cityCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                      "value": "A String", # Long value of the hotel class.
+                    },
+                    "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                      "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                      "value": "A String", # String value of the hotel ID.
+                    },
+                    "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                      "stateCriterion": "A String", # The Geo Target Constant resource name.
+                    },
+                    "productBrand": { # Brand of the product. # Brand of a product offer.
+                      "value": "A String", # String value of the product brand.
+                    },
+                    "productCategory": { # Category of a product offer. # Category of a product offer.
+                      "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                      "level": "A String", # Level of the product category.
+                    },
+                    "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                      "channel": "A String", # Value of the locality.
+                    },
+                    "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                      "channelExclusivity": "A String", # Value of the availability.
+                    },
+                    "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                      "condition": "A String", # Value of the condition.
+                    },
+                    "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                      "index": "A String", # Indicates the index of the custom attribute.
+                      "value": "A String", # String value of the product custom attribute.
+                    },
+                    "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product grouping.
+                    },
+                    "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                      "value": "A String", # Value of the id.
+                    },
+                    "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product labels.
+                    },
+                    "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product legacy condition.
+                    },
+                    "productType": { # Type of a product offer. # Type of a product offer.
+                      "level": "A String", # Level of the type.
+                      "value": "A String", # Value of the type.
+                    },
+                    "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                      "value": "A String", # String value of the product full type.
+                    },
+                    "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                    },
+                  },
+                ],
+              },
+              "type": "A String", # Type of the listing group.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+              "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+              "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+              "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+              "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+              "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+            },
+            "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+            "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+              "A String",
+            ],
+            "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+              "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+              "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+              "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+              "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+            "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "type": "A String", # Output only. The type of the criterion.
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+              "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Output only. Set if change_resource_type == ASSET.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+          "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Output only. Set if change_resource_type == ASSET_SET.
+            "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+              "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+                "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                  "businessName": "A String", # Business name string to use for filtering.
+                  "filterType": "A String", # The type of string matching to use when filtering with business_name.
+                },
+                "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                  "A String",
+                ],
+              },
+            },
+            "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+              "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+            "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+              "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+              "partnerName": "A String", # Output only. Name of the hotel partner.
+            },
+            "id": "A String", # Output only. The ID of the asset set.
+            "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+            "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+              "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+                "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+                "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+                "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+                "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+                "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                  "A String",
+                ],
+                "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                  "A String",
+                ],
+              },
+              "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+                "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                  { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                    "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                    "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                      "A String",
+                    ],
+                  },
+                ],
+                "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+              },
+              "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+              "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+                "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                  { # Wrapper for place ids
+                    "placeId": "A String", # Place ID of the Maps location.
+                  },
+                ],
+              },
+            },
+            "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+              "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+              "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+            },
+            "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+            "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+            "status": "A String", # Output only. The status of the asset set. Read-only.
+            "type": "A String", # Required. Immutable. The type of the asset set. Required.
+          },
+          "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Output only. Set if change_resource_type == ASSET_SET_ASSET.
+            "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+            "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+            "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+            "status": "A String", # Output only. The status of the asset set asset. Read-only.
+          },
+          "campaign": { # A campaign. # Output only. Set if change_resource_type == CAMPAIGN.
+            "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+            "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+            "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+            "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+            "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+              "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+              "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+            },
+            "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+              "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+              "appStore": "A String", # Immutable. The application store that distributes this specific app.
+              "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+            },
+            "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+              { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+                "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+                "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+              },
+            ],
+            "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+              "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+            },
+            "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+            "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+            "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+            "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+            "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+              "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+              "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+              "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+            },
+            "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+            "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+            "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+            "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+              "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+            },
+            "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+            "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+              "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+            },
+            "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+              "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+              "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+              "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+            },
+            "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+              "A String",
+            ],
+            "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+            "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+            "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+              "A String",
+            ],
+            "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+              "A String",
+            ],
+            "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+            "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+            "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+              { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+                "cap": 42, # Maximum number of events allowed during the time range by this cap.
+                "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                  "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                  "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                  "timeLength": 42, # Number of time units the cap lasts.
+                  "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+                },
+              },
+            ],
+            "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+              "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+              "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+            },
+            "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+            "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+              "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+            },
+            "id": "A String", # Output only. The ID of the campaign.
+            "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+            "labels": [ # Output only. The resource names of labels attached to this campaign.
+              "A String",
+            ],
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+            "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+              "locationSourceType": "A String", # The location source type for this local campaign.
+            },
+            "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+              "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+                { # Category bids in LocalServicesReportingCampaignSettings.
+                  "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                  "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                  "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+                },
+              ],
+            },
+            "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+            },
+            "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+              "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+            },
+            "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+            },
+            "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+            },
+            "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+            },
+            "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+              "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+            },
+            "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+            "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+            "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+              "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+              "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+              "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+              "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+              "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+              "targetYoutube": True or False, # Whether ads will be served on YouTube.
+            },
+            "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+              "optimizationGoalTypes": [ # The list of optimization goal types.
+                "A String",
+              ],
+            },
+            "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+            "paymentMode": "A String", # Payment mode for the campaign.
+            "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+              "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+            },
+            "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+              "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+              "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+              "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+            },
+            "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+              "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+                "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+              },
+            },
+            "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+            "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+              "A String",
+            ],
+            "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+              "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+            "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+              "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+                "A String",
+              ],
+            },
+            "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+            "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+            "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+              "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+                "A String",
+              ],
+              "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+              "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+              "enableLocal": True or False, # Whether to include local products.
+              "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+              "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+              "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+            },
+            "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+            "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+            "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+              "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+            },
+            "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+            },
+            "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+              "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+              "location": "A String", # The targeted location on the search results page.
+              "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+            },
+            "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+              "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+              "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+            },
+            "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+              "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+              "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+            },
+            "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+              "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+                { # Operation to be performed on a target restriction list in a mutate.
+                  "operator": "A String", # Type of list operation to perform.
+                  "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                    "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                    "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                  },
+                },
+              ],
+              "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+                { # The list of per-targeting-dimension targeting settings.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              ],
+            },
+            "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+              "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+                { # Container for third party Brand Lift integration data for Campaign.
+                  "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                  "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+                { # Container for third party brand safety integration data for Campaign.
+                  "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                  "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+              "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+                { # Container for third party reach integration data for Campaign.
+                  "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                  "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                },
+              ],
+              "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+                { # Container for third party viewability integration data for Campaign.
+                  "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                  "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                  "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                    "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                    "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                  },
+                },
+              ],
+            },
+            "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+              "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+              "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+            },
+            "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+              "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+              "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+            },
+            "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+          },
+          "campaignAsset": { # A link between a Campaign and an Asset. # Output only. Set if change_resource_type == CAMPAIGN_ASSET.
+            "asset": "A String", # Immutable. The asset which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+            "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the campaign asset link.
+            "status": "A String", # Status of the campaign asset.
+          },
+          "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.
+            "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+            "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+            "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+            "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+          },
+          "campaignBudget": { # A campaign budget. # Output only. Set if change_resource_type == CAMPAIGN_BUDGET.
+            "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+            "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+            "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+            "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+            "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+            "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+            "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+            "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+            "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+            "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+            "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+            "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+            "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+            "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+            "type": "A String", # Immutable. The type of the campaign budget.
+          },
+          "campaignCriterion": { # A campaign criterion. # Output only. Set if change_resource_type == CAMPAIGN_CRITERION.
+            "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+              "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            },
+            "ageRange": { # An age range criterion. # Immutable. Age range.
+              "type": "A String", # Type of the age range.
+            },
+            "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+            "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+              "sharedSet": "A String", # Shared set resource name of the brand list.
+            },
+            "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+            "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+              "carrierConstant": "A String", # The Carrier constant resource name.
+            },
+            "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+              "combinedAudience": "A String", # The CombinedAudience resource name.
+            },
+            "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+              "type": "A String", # Content label type, required for CREATE operations.
+            },
+            "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+            "device": { # A device criterion. # Immutable. Device.
+              "type": "A String", # Type of the device.
+            },
+            "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+            "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+              "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+            },
+            "gender": { # A gender criterion. # Immutable. Gender.
+              "type": "A String", # Type of the gender.
+            },
+            "incomeRange": { # An income range criterion. # Immutable. Income range.
+              "type": "A String", # Type of the income range.
+            },
+            "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+              "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+            },
+            "keyword": { # A keyword criterion. # Immutable. Keyword.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+            "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+              "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+              "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+            },
+            "language": { # A language criterion. # Immutable. Language.
+              "languageConstant": "A String", # The language constant resource name.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+              "lifeEventId": "A String", # Taxonomy id of the life event.
+            },
+            "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+              "dimensions": [ # Scope of the campaign criterion.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+              "serviceId": "A String", # The criterion resource name.
+            },
+            "location": { # A location criterion. # Immutable. Location.
+              "geoTargetConstant": "A String", # The geo target constant resource name.
+            },
+            "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+              "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+                "A String",
+              ],
+              "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+                "A String",
+              ],
+              "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+                "A String",
+              ],
+              "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+              "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+            },
+            "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+              "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+            },
+            "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+              "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+              "name": "A String", # Name of this mobile application.
+            },
+            "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+              "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+            },
+            "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+            "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+              "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+            },
+            "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+              "type": "A String", # Type of the parental status.
+            },
+            "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+              "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+            },
+            "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+              "address": { # Address for proximity criterion. # Full address.
+                "cityName": "A String", # Name of the city.
+                "countryCode": "A String", # Country code.
+                "postalCode": "A String", # Postal code.
+                "provinceCode": "A String", # Province or state code.
+                "provinceName": "A String", # Province or state name.
+                "streetAddress": "A String", # Street address line 1.
+                "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+              },
+              "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+                "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+                "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+              },
+              "radius": 3.14, # The radius of the proximity.
+              "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+            "status": "A String", # The status of the criterion.
+            "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+              "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+                "A String",
+              ],
+              "topicConstant": "A String", # The Topic Constant resource name.
+            },
+            "type": "A String", # Output only. The type of the criterion.
+            "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+              "userInterestCategory": "A String", # The UserInterest resource name.
+            },
+            "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+              "userList": "A String", # The User List resource name.
+            },
+            "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+              "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+            },
+            "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+              "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                { # Logical expression for targeting webpages of an advertiser's website.
+                  "argument": "A String", # Argument of webpage targeting condition.
+                  "operand": "A String", # Operand of webpage targeting condition.
+                  "operator": "A String", # Operator of webpage targeting condition.
+                },
+              ],
+              "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+              "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+                "sampleUrls": [ # Webpage sample urls
+                  "A String",
+                ],
+              },
+            },
+            "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+              "sharedSet": "A String", # Shared set resource name of the webpage list.
+            },
+            "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+              "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+            },
+            "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+              "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+            },
+          },
+          "customerAsset": { # A link between a customer and an asset. # Output only. Set if change_resource_type == CUSTOMER_ASSET.
+            "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+            "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+            "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+            "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+              { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+                "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                  "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                    "A String",
+                  ],
+                },
+                "reason": "A String", # Provides the reason of this PrimaryStatus.
+                "status": "A String", # Provides the PrimaryStatus of this status detail.
+              },
+            ],
+            "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+              "A String",
+            ],
+            "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+            "source": "A String", # Output only. Source of the customer asset link.
+            "status": "A String", # Status of the customer asset.
+          },
+        },
+        "resourceChangeOperation": "A String", # Output only. The operation on the changed resource.
+        "resourceName": "A String", # Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}`
+        "userEmail": "A String", # Output only. The email of the user who made this change.
+      },
+      "changeStatus": { # Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change. # The ChangeStatus referenced in the query.
+        "adGroup": "A String", # Output only. The AdGroup affected by this change.
+        "adGroupAd": "A String", # Output only. The AdGroupAd affected by this change.
+        "adGroupAsset": "A String", # Output only. The AdGroupAsset affected by this change.
+        "adGroupBidModifier": "A String", # Output only. The AdGroupBidModifier affected by this change.
+        "adGroupCriterion": "A String", # Output only. The AdGroupCriterion affected by this change.
+        "asset": "A String", # Output only. The Asset affected by this change.
+        "assetGroup": "A String", # Output only. The AssetGroup affected by this change.
+        "assetSet": "A String", # Output only. The AssetSet affected by this change.
+        "campaign": "A String", # Output only. The Campaign affected by this change.
+        "campaignAsset": "A String", # Output only. The CampaignAsset affected by this change.
+        "campaignAssetSet": "A String", # Output only. The CampaignAssetSet affected by this change.
+        "campaignBudget": "A String", # Output only. The CampaignBudget affected by this change.
+        "campaignCriterion": "A String", # Output only. The CampaignCriterion affected by this change.
+        "campaignSharedSet": "A String", # Output only. The CampaignSharedSet affected by this change.
+        "combinedAudience": "A String", # Output only. The CombinedAudience affected by this change.
+        "customerAsset": "A String", # Output only. The CustomerAsset affected by this change.
+        "lastChangeDateTime": "A String", # Output only. Time at which the most recent change has occurred on this resource.
+        "resourceName": "A String", # Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id}/changeStatus/{change_status_id}`
+        "resourceStatus": "A String", # Output only. Represents the status of the changed resource.
+        "resourceType": "A String", # Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.
+        "sharedSet": "A String", # Output only. The SharedSet affected by this change.
+      },
+      "clickView": { # A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre). # The ClickView referenced in the query.
+        "adGroupAd": "A String", # Output only. The associated ad.
+        "areaOfInterest": { # Location criteria associated with a click. # Output only. The location criteria matching the area of interest associated with the impression.
+          "city": "A String", # The city location criterion associated with the impression.
+          "country": "A String", # The country location criterion associated with the impression.
+          "metro": "A String", # The metro location criterion associated with the impression.
+          "mostSpecific": "A String", # The most specific location criterion associated with the impression.
+          "region": "A String", # The region location criterion associated with the impression.
+        },
+        "campaignLocationTarget": "A String", # Output only. The associated campaign location target, if one exists.
+        "gclid": "A String", # Output only. The Google Click ID.
+        "keyword": "A String", # Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.
+        "keywordInfo": { # A keyword criterion. # Output only. Basic information about the associated keyword, if it exists.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "locationOfPresence": { # Location criteria associated with a click. # Output only. The location criteria matching the location of presence associated with the impression.
+          "city": "A String", # The city location criterion associated with the impression.
+          "country": "A String", # The country location criterion associated with the impression.
+          "metro": "A String", # The metro location criterion associated with the impression.
+          "mostSpecific": "A String", # The most specific location criterion associated with the impression.
+          "region": "A String", # The region location criterion associated with the impression.
+        },
+        "pageNumber": "A String", # Output only. Page number in search results where the ad was shown.
+        "resourceName": "A String", # Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+        "userList": "A String", # Output only. The associated user list, if one exists.
+      },
+      "combinedAudience": { # Describe a resource for combined audiences which includes different audiences. # The CombinedAudience referenced in the query.
+        "description": "A String", # Output only. Description of this combined audience.
+        "id": "A String", # Output only. ID of the combined audience.
+        "name": "A String", # Output only. Name of the combined audience. It should be unique across all combined audiences.
+        "resourceName": "A String", # Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id}/combinedAudience/{combined_audience_id}`
+        "status": "A String", # Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.
+      },
+      "contentCriterionView": { # A content criterion view. # The content criterion view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}`
+      },
+      "conversion": { # A conversion. # The event level conversion referenced in the query.
+        "adId": "A String", # Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
+        "advertiserConversionId": "A String", # Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions.
+        "assetFieldType": "A String", # Output only. Asset field type of the conversion event.
+        "assetId": "A String", # Output only. ID of the asset which was interacted with during the conversion event.
+        "attributionType": "A String", # Output only. What the conversion is attributed to: Visit or Keyword+Ad.
+        "clickId": "A String", # Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter.
+        "conversionDateTime": "A String", # Output only. The timestamp of the conversion event.
+        "conversionLastModifiedDateTime": "A String", # Output only. The timestamp of the last time the conversion was modified.
+        "conversionQuantity": "A String", # Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1.
+        "conversionRevenueMicros": "A String", # Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account.
+        "conversionVisitDateTime": "A String", # Output only. The timestamp of the visit that the conversion is attributed to.
+        "criterionId": "A String", # Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed.
+        "floodlightOrderId": "A String", # Output only. The Floodlight order ID provided by the advertiser for the conversion.
+        "floodlightOriginalRevenue": "A String", # Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications.
+        "id": "A String", # Output only. The ID of the conversion
+        "merchantId": "A String", # Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
+        "productChannel": "A String", # Output only. The sales channel of the product that was clicked on: Online or Local.
+        "productCountryCode": "A String", # Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on.
+        "productId": "A String", # Output only. The ID of the product clicked on.
+        "productLanguageCode": "A String", # Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
+        "productStoreId": "A String", # Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
+        "resourceName": "A String", # Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}`
+        "status": "A String", # Output only. The status of the conversion, either ENABLED or REMOVED..
+        "visitId": "A String", # Output only. The Search Ads 360 visit ID that the conversion is attributed to.
+      },
+      "conversionAction": { # A conversion action. # The conversion action referenced in the query.
+        "appId": "A String", # App ID for an app conversion action.
+        "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+          "attributionModel": "A String", # The attribution model type of this conversion action.
+          "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+        },
+        "category": "A String", # The category of conversions reported for this conversion action.
+        "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+        "countingType": "A String", # How to count conversion events for the conversion action.
+        "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+        "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+          "eventName": "A String", # Output only. The event name of a Firebase conversion.
+          "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+          "propertyId": "A String", # Output only. The GA property ID of the conversion.
+          "propertyName": "A String", # Output only. The GA property name of the conversion.
+        },
+        "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+          "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+          "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+          "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+        },
+        "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+          "eventName": "A String", # Output only. The name of the GA 4 event.
+          "propertyId": "A String", # Output only. The ID of the GA 4 property.
+          "propertyName": "A String", # Output only. The name of the GA 4 property.
+        },
+        "id": "A String", # Output only. The ID of the conversion action.
+        "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+        "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+        "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+        "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+        "origin": "A String", # Output only. The conversion origin of this conversion action.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+        "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+        "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+        "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+        "status": "A String", # The status of this conversion action for conversion event accrual.
+        "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+        "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+          "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+          "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+        },
+        "type": "A String", # Immutable. The type of this conversion action.
+        "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+          "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+          "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+          "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+        },
+        "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+      },
+      "conversionCustomVariable": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # The conversion custom variable referenced in the query.
+        "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+        "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+          "A String",
+        ],
+        "family": "A String", # Output only. Family of the conversion custom variable.
+        "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+          "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+          "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+        },
+        "id": "A String", # Output only. The ID of the conversion custom variable.
+        "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+        "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+        "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+        "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+        "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+      },
+      "conversionGoalCampaignConfig": { # Conversion goal settings for a Campaign. # The ConversionGoalCampaignConfig referenced in the query.
+        "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+        "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+        "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+        "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+        "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+        "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+      },
+      "conversionValueRule": { # A conversion value rule # The conversion value rule referenced in the query.
+        "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+          "operation": "A String", # Specifies applied operation.
+          "value": 3.14, # Specifies applied value.
+        },
+        "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+          "userInterests": [ # User Interests.
+            "A String",
+          ],
+          "userLists": [ # User Lists.
+            "A String",
+          ],
+        },
+        "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+          "deviceTypes": [ # Value for device type condition.
+            "A String",
+          ],
+        },
+        "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+          "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+          "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+            "A String",
+          ],
+          "geoMatchType": "A String", # Included Geo location match type.
+          "geoTargetConstants": [ # Geo locations that advertisers want to include.
+            "A String",
+          ],
+        },
+        "id": "A String", # Output only. The ID of the conversion value rule.
+        "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+          "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+            "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+            "minDays": 42, # Minimum number of days between the date of the booking the start date.
+          },
+          "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+            "maxNights": 42, # Maximum number of days between the start date and the end date.
+            "minNights": 42, # Minimum number of nights between the start date and the end date.
+          },
+          "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+            "friday": True or False, # The travel can start on Friday.
+            "monday": True or False, # The travel can start on Monday.
+            "saturday": True or False, # The travel can start on Saturday.
+            "sunday": True or False, # The travel can start on Sunday.
+            "thursday": True or False, # The travel can start on Thursday.
+            "tuesday": True or False, # The travel can start on Tuesday.
+            "wednesday": True or False, # The travel can start on Wednesday.
+          },
+        },
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+        "status": "A String", # The status of the conversion value rule.
+      },
+      "conversionValueRuleSet": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # The conversion value rule set referenced in the query.
+        "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+        "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+        "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+          "A String",
+        ],
+        "conversionValueRules": [ # Resource names of rules within the rule set.
+          "A String",
+        ],
+        "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+          "A String",
+        ],
+        "id": "A String", # Output only. The ID of the conversion value rule set.
+        "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+        "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+        "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+      },
+      "currencyConstant": { # A currency constant. # The currency constant referenced in the query.
+        "billableUnitMicros": "A String", # Output only. The billable unit for this currency. Billed amounts should be multiples of this value.
+        "code": "A String", # Output only. ISO 4217 three-letter currency code, for example, "USD"
+        "name": "A String", # Output only. Full English name of the currency.
+        "resourceName": "A String", # Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code}`
+        "symbol": "A String", # Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.
+      },
+      "customAudience": { # A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED # The CustomAudience referenced in the query.
+        "description": "A String", # Description of this custom audience.
+        "id": "A String", # Output only. ID of the custom audience.
+        "members": [ # List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.
+            "app": "A String", # A package name of Android apps which users installed such as com.google.example.
+            "keyword": "A String", # A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
+            "memberType": "A String", # The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
+            "placeCategory": "A String", # A place type described by a place category users visit.
+            "url": "A String", # An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
+          },
+        ],
+        "name": "A String", # Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
+        "status": "A String", # Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
+        "type": "A String", # Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
+      },
+      "customColumns": [ # The custom columns.
+        { # A generic data container.
+          "booleanValue": True or False, # A boolean.
+          "doubleValue": 3.14, # A double.
+          "floatValue": 3.14, # A float.
+          "int64Value": "A String", # An int64.
+          "stringValue": "A String", # A string.
+        },
+      ],
+      "customConversionGoal": { # Custom conversion goal that can make arbitrary conversion actions biddable. # The CustomConversionGoal referenced in the query.
+        "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+          "A String",
+        ],
+        "id": "A String", # Immutable. The ID for this custom conversion goal.
+        "name": "A String", # The name for this custom conversion goal.
+        "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+        "status": "A String", # The status of the custom conversion goal.
+      },
+      "customInterest": { # A custom interest. This is a list of users by interest. # The CustomInterest referenced in the query.
+        "description": "A String", # Description of this custom interest audience.
+        "id": "A String", # Output only. Id of the custom interest.
+        "members": [ # List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
+          { # A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.
+            "memberType": "A String", # The type of custom interest member, KEYWORD or URL.
+            "parameter": "A String", # Keyword text when member_type is KEYWORD or URL string when member_type is URL.
+          },
+        ],
+        "name": "A String", # Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
+        "resourceName": "A String", # Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
+        "status": "A String", # Status of this custom interest. Indicates whether the custom interest is enabled or removed.
+        "type": "A String", # Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
+      },
+      "customer": { # A customer. # The customer referenced in the query.
+        "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+        "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+        "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+        "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+        "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+        "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+        "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+          "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+          "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+          "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+        },
+        "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+        "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+          "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+          "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+          "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+          "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+          "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+          "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+          "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+        },
+        "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+        "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+          "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+        },
+        "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+        "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+          "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+          "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+          "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+        },
+        "engineId": "A String", # Output only. ID of the account in the external engine account.
+        "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+        "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+        "id": "A String", # Output only. The ID of the customer.
+        "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+        "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+        "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+          "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+            { # Insurance status at geo + vertical level.
+              "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+              "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+              "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+            },
+          ],
+          "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+            { # License status at geo + vertical level.
+              "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+              "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+              "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+            },
+          ],
+        },
+        "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+        "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+        "manager": True or False, # Output only. Whether the customer is a manager.
+        "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+        "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+        "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+        "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+        "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+          "A String",
+        ],
+        "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+          "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+        "status": "A String", # Output only. The status of the customer.
+        "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+        "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+        "testAccount": True or False, # Output only. Whether the customer is a test account.
+        "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+        "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+          "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+            "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+              { # Container for third party Brand Lift integration data for Customer.
+                "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+              { # Container for third party brand safety integration data for Customer.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+              },
+            ],
+            "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+              { # Container for third party reach integration data for Customer.
+                "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+              { # Container for third party viewability integration data for Customer.
+                "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+              },
+            ],
+          },
+        },
+      },
+      "customerAsset": { # A link between a customer and an asset. # The customer asset referenced in the query.
+        "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+        "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+        "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+        "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+          { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+            "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+              "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                "A String",
+              ],
+            },
+            "reason": "A String", # Provides the reason of this PrimaryStatus.
+            "status": "A String", # Provides the PrimaryStatus of this status detail.
+          },
+        ],
+        "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+          "A String",
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+        "source": "A String", # Output only. Source of the customer asset link.
+        "status": "A String", # Status of the customer asset.
+      },
+      "customerAssetSet": { # CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer. # The customer asset set referenced in the query.
+        "assetSet": "A String", # Immutable. The asset set which is linked to the customer.
+        "customer": "A String", # Immutable. The customer to which this asset set is linked.
+        "resourceName": "A String", # Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`
+        "status": "A String", # Output only. The status of the customer asset set asset. Read-only.
+      },
+      "customerClient": { # A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself. # The CustomerClient referenced in the query.
+        "appliedLabels": [ # Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`
+          "A String",
+        ],
+        "clientCustomer": "A String", # Output only. The resource name of the client-customer which is linked to the given customer. Read only.
+        "currencyCode": "A String", # Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.
+        "descriptiveName": "A String", # Output only. Descriptive name for the client. Read only.
+        "hidden": True or False, # Output only. Specifies whether this is a hidden account. Read only.
+        "id": "A String", # Output only. The ID of the client customer. Read only.
+        "level": "A String", # Output only. Distance between given customer and client. For self link, the level value will be 0. Read only.
+        "manager": True or False, # Output only. Identifies if the client is a manager. Read only.
+        "resourceName": "A String", # Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id}/customerClients/{client_customer_id}`
+        "status": "A String", # Output only. The status of the client customer. Read only.
+        "testAccount": True or False, # Output only. Identifies if the client is a test account. Read only.
+        "timeZone": "A String", # Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.
+      },
+      "customerClientLink": { # Represents customer client link relationship. # The CustomerClientLink referenced in the query.
+        "clientCustomer": "A String", # Immutable. The client customer linked to this customer.
+        "hidden": True or False, # The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false
+        "managerLinkId": "A String", # Output only. This is uniquely identifies a customer client link. Read only.
+        "resourceName": "A String", # Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+        "status": "A String", # This is the status of the link between client and manager.
+      },
+      "customerConversionGoal": { # Biddability control for conversion actions with a matching category and origin. # The CustomerConversionGoal referenced in the query.
+        "biddable": True or False, # The biddability of the customer conversion goal.
+        "category": "A String", # The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
+        "origin": "A String", # The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
+        "resourceName": "A String", # Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`
+      },
+      "customerCustomizer": { # A customizer value for the associated CustomizerAttribute at the Customer level. # The customer customizer referenced in the query.
+        "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+        "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customer customizer attribute.
+        "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+          "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+          "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+        },
+      },
+      "customerLabel": { # Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. # The customer label referenced in the query.
+        "customer": "A String", # Output only. The resource name of the customer to which the label is attached. Read only.
+        "label": "A String", # Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.
+        "resourceName": "A String", # Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`
+      },
+      "customerLifecycleGoal": { # Account level customer lifecycle goal settings. # The customer lifecycle goal referenced in the query.
+        "customerAcquisitionGoalValueSettings": { # Lifecycle goal value settings. # Output only. Customer acquisition goal customer level value settings.
+          "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+          "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+        },
+        "ownerCustomer": "A String", # Output only. The resource name of the customer which owns the lifecycle goal.
+        "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`
+      },
+      "customerManagerLink": { # Represents customer-manager link relationship. # The CustomerManagerLink referenced in the query.
+        "managerCustomer": "A String", # Output only. The manager customer linked to the customer.
+        "managerLinkId": "A String", # Output only. ID of the customer-manager link. This field is read only.
+        "resourceName": "A String", # Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+        "startTime": "A String", # Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "status": "A String", # Status of the link between the customer and the manager.
+      },
+      "customerNegativeCriterion": { # A negative criterion for exclusions at the customer level. # The customer negative criterion referenced in the query.
+        "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+          "type": "A String", # Content label type, required for CREATE operations.
+        },
+        "id": "A String", # Output only. The ID of the criterion.
+        "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+          "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+          "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+        },
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+          "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+        "type": "A String", # Output only. The type of the criterion.
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "customerSearchTermInsight": { # This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. # The customer search term insight referenced in the query.
+        "categoryLabel": "A String", # Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
+        "id": "A String", # Output only. The ID of the insight.
+        "resourceName": "A String", # Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id}/customerSearchTermInsights/{category_id}`
+      },
+      "customerUserAccess": { # Represents the permission of a single user onto a single customer. # The CustomerUserAccess referenced in the query.
+        "accessCreationDateTime": "A String", # Output only. The customer user access creation time. Read only field The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "accessRole": "A String", # Access role of the user.
+        "emailAddress": "A String", # Output only. Email address of the user. Read only field
+        "inviterUserEmailAddress": "A String", # Output only. The email address of the inviter user. Read only field
+        "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`
+        "userId": "A String", # Output only. User id of the user with the customer access. Read only field
+      },
+      "customerUserAccessInvitation": { # Represent an invitation to a new user on this customer account. # The CustomerUserAccessInvitation referenced in the query.
+        "accessRole": "A String", # Immutable. Access role of the user.
+        "creationDateTime": "A String", # Output only. Time invitation was created. This field is read-only. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "emailAddress": "A String", # Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.
+        "invitationId": "A String", # Output only. The ID of the invitation. This field is read-only.
+        "invitationStatus": "A String", # Output only. Invitation status of the user.
+        "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`
+      },
+      "customizerAttribute": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # The customizer attribute referenced in the query.
+        "id": "A String", # Output only. The ID of the customizer attribute.
+        "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+        "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+        "status": "A String", # Output only. The status of the customizer attribute.
+        "type": "A String", # Immutable. The type of the customizer attribute.
+      },
+      "dataLink": { # Represents the data sharing connection between # The data link referenced in the query.
+        "dataLinkId": "A String", # Output only. The ID of the data link. This field is read only.
+        "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+        "resourceName": "A String", # Immutable. Resource name of the product data link. DataLink resource names have the form: `
+        "status": "A String", # Output only. The status of the data link.
+        "type": "A String", # Output only. The type of the data.
+        "youtubeVideo": { # The identifier for YouTube video # Immutable. A data link to YouTube video.
+          "channelId": "A String", # Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA".
+          "videoId": "A String", # Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s".
+        },
+      },
+      "detailContentSuitabilityPlacementView": { # A detail content suitability placement view. # The detail content suitability placement view referenced in the query.
+        "displayName": "A String", # Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+        "placement": "A String", # Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id.
+        "placementType": "A String", # Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
+        "resourceName": "A String", # Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}`
+        "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+      },
+      "detailPlacementView": { # A view with metrics aggregated by ad group and URL or YouTube video. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations. # The detail placement view referenced in the query.
+        "displayName": "A String", # Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+        "groupPlacementTargetUrl": "A String", # Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
+        "placement": "A String", # Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.
+        "placementType": "A String", # Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.
+        "resourceName": "A String", # Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+        "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+      },
+      "detailedDemographic": { # A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts. # The detailed demographic referenced in the query.
+        "availabilities": [ # Output only. Availability information of the detailed demographic.
+          { # Information of category availability, per advertising channel.
+            "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+              "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+                "A String",
+              ],
+              "advertisingChannelType": "A String", # Channel type the category is available to.
+              "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+              "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+            },
+            "locale": [ # Locales that are available to the category for the channel.
+              { # Information about which locales a category is available in.
+                "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+                "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+                "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+              },
+            ],
+          },
+        ],
+        "id": "A String", # Output only. The ID of the detailed demographic.
+        "launchedToAll": True or False, # Output only. True if the detailed demographic is launched to all channels and locales.
+        "name": "A String", # Output only. The name of the detailed demographic. For example,"Highest Level of Educational Attainment"
+        "parent": "A String", # Output only. The parent of the detailed_demographic.
+        "resourceName": "A String", # Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`
+      },
+      "displayKeywordView": { # A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics. # The display keyword view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+      },
+      "distanceView": { # A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance. # The distance view referenced in the query.
+        "distanceBucket": "A String", # Output only. Grouping of user distance from location extensions.
+        "metricSystem": True or False, # Output only. True if the DistanceBucket is using the metric system, false otherwise.
+        "resourceName": "A String", # Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+      },
+      "dynamicSearchAdsSearchTermView": { # A dynamic search ads search term view. # The dynamic search ads search term view referenced in the query.
+        "hasMatchingKeyword": True or False, # Output only. True if query is added to targeted keywords. This field is read-only.
+        "hasNegativeKeyword": True or False, # Output only. True if query matches a negative keyword. This field is read-only.
+        "hasNegativeUrl": True or False, # Output only. True if query matches a negative url. This field is read-only.
+        "headline": "A String", # Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only.
+        "landingPage": "A String", # Output only. The dynamically selected landing page URL of the impression. This field is read-only.
+        "pageUrl": "A String", # Output only. The URL of page feed item served for the impression. This field is read-only.
+        "resourceName": "A String", # Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`
+        "searchTerm": "A String", # Output only. Search term This field is read-only.
+      },
+      "expandedLandingPageView": { # A landing page view with metrics aggregated at the expanded final URL level. # The expanded landing page view referenced in the query.
+        "expandedFinalUrl": "A String", # Output only. The final URL that clicks are directed to.
+        "resourceName": "A String", # Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+      },
+      "experiment": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The experiment referenced in the query.
+        "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+        "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+        "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+        "goals": [ # The goals of this experiment.
+          { # A metric goal for an experiment.
+            "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+            "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+          },
+        ],
+        "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+        "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+        "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+        "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+        "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+        "status": "A String", # The Advertiser-chosen status of this experiment.
+        "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+        "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+        "type": "A String", # Required. The product/feature that uses this experiment.
+      },
+      "experimentArm": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The experiment arm referenced in the query.
+        "assetGroups": [ # List of asset groups in the experiment arm.
+          { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+            "assetGroup": "A String", # Asset group resource name.
+            "assetGroupAssets": [ # List of asset group assets under the asset group.
+              { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+                "asset": "A String", # Asset resource name of the asset group asset.
+                "fieldType": "A String", # Field type of the asset group asset.
+              },
+            ],
+          },
+        ],
+        "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+          "A String",
+        ],
+        "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+        "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+        "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+          "A String",
+        ],
+        "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+        "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+        "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+      },
+      "finalUrlExpansionAssetView": { # FinalUrlExpansionAssetView Resource. # The final url expansion asset view referenced in the query.
+        "adGroup": "A String", # Output only. Ad Group in which FinalUrlExpansionAsset served.
+        "asset": "A String", # Output only. The ID of the asset.
+        "assetGroup": "A String", # Output only. Asset Group in which FinalUrlExpansionAsset served.
+        "campaign": "A String", # Output only. Campaign in which the asset served.
+        "fieldType": "A String", # Output only. The field type of the asset.
+        "finalUrl": "A String", # Output only. Final URL of the FinalUrlExpansionAsset.
+        "resourceName": "A String", # Output only. The resource name of the FinalUrlExpansionAsset.
+        "status": "A String", # Output only. Status of the FinalUrlExpansionAsset.
+      },
+      "genderView": { # A gender view. The gender_view resource reflects the effective serving state, rather than what criteria were added. An ad group without gender criteria by default shows to all genders, so all genders appear in gender_view with stats. # The gender view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+      },
+      "geoTargetConstant": { # A geo target constant. # The geo target constant referenced in the query.
+        "canonicalName": "A String", # Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.
+        "countryCode": "A String", # Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.
+        "id": "A String", # Output only. The ID of the geo target constant.
+        "name": "A String", # Output only. Geo target constant English name.
+        "parentGeoTarget": "A String", # Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`
+        "resourceName": "A String", # Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`
+        "status": "A String", # Output only. Geo target constant status.
+        "targetType": "A String", # Output only. Geo target constant target type.
+      },
+      "geographicView": { # A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country. # The geographic view referenced in the query.
+        "countryCriterionId": "A String", # Output only. Criterion Id for the country.
+        "locationType": "A String", # Output only. Type of the geo targeting of the campaign.
+        "resourceName": "A String", # Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+      },
+      "goal": { # Representation of goals. # The goal in the query.
+        "goalId": "A String", # Output only. The ID of this goal.
+        "goalType": "A String", # Output only. The type of this goal.
+        "optimizationEligibility": "A String", # Output only. Indicates if this goal is eligible for campaign optimization.
+        "ownerCustomer": "A String", # Output only. The resource name of the goal owner customer.
+        "resourceName": "A String", # Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
+        "retentionGoalSettings": { # Retention goal settings. # Retention goal settings.
+          "valueSettings": { # Lifecycle goal optimization value settings. # Retention goal value settings.
+            "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+            "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+          },
+        },
+      },
+      "groupContentSuitabilityPlacementView": { # A group content suitability placement view. # The group content suitability placement view referenced in the query.
+        "displayName": "A String", # Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+        "placement": "A String", # Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id.
+        "placementType": "A String", # Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
+        "resourceName": "A String", # Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}`
+        "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+      },
+      "groupPlacementView": { # A group placement view. # The group placement view referenced in the query.
+        "displayName": "A String", # Output only. Domain name for websites and YouTube channel name for YouTube channels.
+        "placement": "A String", # Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID.
+        "placementType": "A String", # Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.
+        "resourceName": "A String", # Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+        "targetUrl": "A String", # Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
+      },
+      "hotelGroupView": { # A hotel group view. # The hotel group view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+      },
+      "hotelPerformanceView": { # A hotel performance view. # The hotel performance view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id}/hotelPerformanceView`
+      },
+      "hotelReconciliation": { # A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads. # The hotel reconciliation referenced in the query.
+        "billed": True or False, # Output only. Whether a given booking has been billed. Once billed, a booking can't be modified.
+        "campaign": "A String", # Output only. The resource name for the Campaign associated with the conversion.
+        "checkInDate": "A String", # Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
+        "checkOutDate": "A String", # Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
+        "commissionId": "A String", # Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay.
+        "hotelCenterId": "A String", # Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.
+        "hotelId": "A String", # Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.
+        "orderId": "A String", # Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag.
+        "reconciledValueMicros": "A String", # Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.
+        "resourceName": "A String", # Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id}/hotelReconciliations/{commission_id}`
+        "status": "A String", # Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.
+      },
+      "incomeRangeView": { # An income range view. # The income range view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}`
+      },
+      "keywordPlan": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # The keyword plan referenced in the query.
+        "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+          "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+          "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+            "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+            "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+          },
+        },
+        "id": "A String", # Output only. The ID of the keyword plan.
+        "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+      },
+      "keywordPlanAdGroup": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # The keyword plan ad group referenced in the query.
+        "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+        "id": "A String", # Output only. The ID of the keyword plan ad group.
+        "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+        "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+      },
+      "keywordPlanAdGroupKeyword": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # The keyword plan ad group referenced in the query.
+        "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+        "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+        "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "keywordPlanCampaign": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # The keyword plan campaign referenced in the query.
+        "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "geoTargets": [ # The geo targets. Max number allowed: 20.
+          { # A geo target.
+            "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+          },
+        ],
+        "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+        "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+        "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+          "A String",
+        ],
+        "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+      },
+      "keywordPlanCampaignKeyword": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # The keyword plan campaign keyword referenced in the query.
+        "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+        "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+        "matchType": "A String", # The keyword match type.
+        "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+        "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+        "text": "A String", # The keyword text.
+      },
+      "keywordThemeConstant": { # A Smart Campaign keyword theme constant. # The keyword theme constant referenced in the query.
+        "countryCode": "A String", # Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized.
+        "displayName": "A String", # Output only. The display name of the keyword theme or sub keyword theme.
+        "languageCode": "A String", # Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized.
+        "resourceName": "A String", # Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+      "keywordView": { # A keyword view. # The keyword view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+      },
+      "label": { # A label. # The label referenced in the query.
+        "id": "A String", # Output only. ID of the label. Read only.
+        "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+        "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+        "status": "A String", # Output only. Status of the label. Read only.
+        "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+          "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+          "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+        },
+      },
+      "landingPageView": { # A landing page view with metrics aggregated at the unexpanded final URL level. # The landing page view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+        "unexpandedFinalUrl": "A String", # Output only. The advertiser-specified final URL.
+      },
+      "languageConstant": { # A language. # The language constant referenced in the query.
+        "code": "A String", # Output only. The language code, for example, "en_US", "en_AU", "es", "fr", etc.
+        "id": "A String", # Output only. The ID of the language constant.
+        "name": "A String", # Output only. The full name of the language in English, for example, "English (US)", "Spanish", etc.
+        "resourceName": "A String", # Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id}`
+        "targetable": True or False, # Output only. Whether the language is targetable.
+      },
+      "leadFormSubmissionData": { # Data from lead form submissions. # The lead form user submission referenced in the query.
+        "adGroup": "A String", # Output only. AdGroup associated with the submitted lead form.
+        "adGroupAd": "A String", # Output only. AdGroupAd associated with the submitted lead form.
+        "asset": "A String", # Output only. Asset associated with the submitted lead form.
+        "campaign": "A String", # Output only. Campaign associated with the submitted lead form.
+        "customLeadFormSubmissionFields": [ # Output only. Submission data associated with a custom lead form.
+          { # Fields in the submitted custom question
+            "fieldValue": "A String", # Output only. Field value for custom question response, maximum number of characters is 70.
+            "questionText": "A String", # Output only. Question text for custom question, maximum number of characters is 300.
+          },
+        ],
+        "gclid": "A String", # Output only. Google Click Id associated with the submissed lead form.
+        "id": "A String", # Output only. ID of this lead form submission.
+        "leadFormSubmissionFields": [ # Output only. Submission data associated with a lead form.
+          { # Fields in the submitted lead form.
+            "fieldType": "A String", # Output only. Field type for lead form fields.
+            "fieldValue": "A String", # Output only. Field value for lead form fields.
+          },
+        ],
+        "resourceName": "A String", # Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}`
+        "submissionDateTime": "A String", # Output only. The date and time at which the lead form was submitted. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
+      },
+      "lifeEvent": { # A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones. # The life event referenced in the query.
+        "availabilities": [ # Output only. Availability information of the life event.
+          { # Information of category availability, per advertising channel.
+            "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+              "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+                "A String",
+              ],
+              "advertisingChannelType": "A String", # Channel type the category is available to.
+              "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+              "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+            },
+            "locale": [ # Locales that are available to the category for the channel.
+              { # Information about which locales a category is available in.
+                "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+                "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+                "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+              },
+            ],
+          },
+        ],
+        "id": "A String", # Output only. The ID of the life event.
+        "launchedToAll": True or False, # Output only. True if the life event is launched to all channels and locales.
+        "name": "A String", # Output only. The name of the life event, for example,"Recently Moved"
+        "parent": "A String", # Output only. The parent of the life_event.
+        "resourceName": "A String", # Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}`
+      },
+      "localServicesEmployee": { # A local services employee resource. # The local services employee referenced in the query.
+        "categoryIds": [ # Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.
+          "A String",
+        ],
+        "creationDateTime": "A String", # Output only. Timestamp of employee creation. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "emailAddress": "A String", # Output only. Email address of the employee.
+        "fellowships": [ # Output only. The institutions where the employee has completed their fellowship.
+          { # Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.
+            "completionYear": 42, # Output only. Year of completion.
+            "institutionName": "A String", # Output only. Name of the instutition at which the fellowship was completed.
+          },
+        ],
+        "firstName": "A String", # Output only. First name of the employee.
+        "id": "A String", # Output only. The ID of the employee.
+        "jobTitle": "A String", # Output only. Job title for this employee, such as "Senior partner" in legal verticals.
+        "languagesSpoken": [ # Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages
+          "A String",
+        ],
+        "lastName": "A String", # Output only. Last name of the employee.
+        "middleName": "A String", # Output only. Middle name of the employee.
+        "nationalProviderIdNumber": "A String", # Output only. NPI id associated with the employee.
+        "residencies": [ # Output only. The institutions where the employee has completed their residency.
+          { # Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician.
+            "completionYear": 42, # Output only. Year of completion.
+            "institutionName": "A String", # Output only. Name of the institution at which the residency was completed.
+          },
+        ],
+        "resourceName": "A String", # Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesEmployees/{gls_employee_id}`
+        "status": "A String", # Output only. Employee status, such as DELETED or ENABLED.
+        "type": "A String", # Output only. Employee type.
+        "universityDegrees": [ # Output only. A list of degrees this employee has obtained, and wants to feature.
+          { # A list of degrees this employee has obtained, and wants to feature.
+            "degree": "A String", # Output only. Name of the degree obtained.
+            "graduationYear": 42, # Output only. Year of graduation.
+            "institutionName": "A String", # Output only. Name of the university at which the degree was obtained.
+          },
+        ],
+        "yearStartedPracticing": 42, # Output only. The year that this employee started practicing in this field.
+      },
+      "localServicesLead": { # Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads # The local services lead referenced in the query.
+        "categoryId": "A String", # Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+        "contactDetails": { # Fields containing consumer contact details. # Output only. Lead's contact details.
+          "consumerName": "A String", # Output only. Consumer name if consumer provided name from Message or Booking form on google.com
+          "email": "A String", # Output only. Consumer email address.
+          "phoneNumber": "A String", # Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.
+        },
+        "creationDateTime": "A String", # Output only. The date time at which lead was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "creditDetails": { # Represents the credit details of a lead. # Output only. Credit details of the lead.
+          "creditState": "A String", # Output only. Credit state of the lead.
+          "creditStateLastUpdateDateTime": "A String", # Output only. The date time when the credit state of the lead was last updated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        },
+        "id": "A String", # Output only. ID of this Lead.
+        "leadCharged": True or False, # Output only. True if the advertiser was charged for the lead.
+        "leadFeedbackSubmitted": True or False, # Output only. True if the advertiser submitted feedback for the lead.
+        "leadStatus": "A String", # Output only. Current status of lead.
+        "leadType": "A String", # Output only. Type of Local Services lead: phone, message, booking, etc.
+        "locale": "A String", # Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales
+        "note": { # Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description. # Output only. Note added by advertiser for the lead.
+          "description": "A String", # Output only. Content of lead note.
+          "editDateTime": "A String", # Output only. The date time when lead note was edited. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        },
+        "resourceName": "A String", # Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id}/localServicesLead/{local_services_lead_id}`
+        "serviceId": "A String", # Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.
+      },
+      "localServicesLeadConversation": { # Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads # The local services lead conversationreferenced in the query.
+        "conversationChannel": "A String", # Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.
+        "eventDateTime": "A String", # Output only. The date time at which lead conversation was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "id": "A String", # Output only. ID of this Lead Conversation.
+        "lead": "A String", # Output only. Resource name of Lead associated to the Lead Conversation.
+        "messageDetails": { # Represents details of text message in case of email, message or SMS. # Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS.
+          "attachmentUrls": [ # Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.
+            "A String",
+          ],
+          "text": "A String", # Output only. Textual content of the message.
+        },
+        "participantType": "A String", # Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.
+        "phoneCallDetails": { # Represents details of a phone call conversation. # Output only. Details of phone call conversation in case of PHONE_CALL.
+          "callDurationMillis": "A String", # Output only. The duration (in milliseconds) of the phone call (end to end).
+          "callRecordingUrl": "A String", # Output only. URL to the call recording audio file.
+        },
+        "resourceName": "A String", # Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}`
+      },
+      "localServicesVerificationArtifact": { # A local services verification resource. # The local services verification artifact referenced in the query.
+        "artifactType": "A String", # Output only. The type of the verification artifact.
+        "backgroundCheckVerificationArtifact": { # specific to local services background check. # Output only. A background check verification artifact.
+          "caseUrl": "A String", # Output only. URL to access background case.
+          "finalAdjudicationDateTime": "A String", # Output only. The timestamp when this background check case result was adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        },
+        "businessRegistrationCheckVerificationArtifact": { # specific to a local services business registration check. # Output only. A business registration check verification artifact.
+          "checkId": "A String", # Output only. The id of the check, such as vat_tax_id, representing "VAT Tax ID" requirement.
+          "registrationDocument": { # specific to a local services business registration document. # Output only. Message storing document info for the business.
+            "documentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded business registration document.
+              "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+            },
+          },
+          "registrationNumber": { # specific to a local services business registration number. # Output only. Message storing government issued number for the business.
+            "number": "A String", # Output only. Government-issued number for the business.
+          },
+          "registrationType": "A String", # Output only. The type of business registration check (number, document).
+          "rejectionReason": "A String", # Output only. Registration document rejection reason.
+        },
+        "creationDateTime": "A String", # Output only. The timestamp when this verification artifact was created. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "id": "A String", # Output only. The ID of the verification artifact.
+        "insuranceVerificationArtifact": { # specific to a local services insurance. # Output only. An insurance verification artifact.
+          "amountMicros": "A String", # Output only. Insurance amount. This is measured in "micros" of the currency mentioned in the insurance document.
+          "expirationDateTime": "A String", # Output only. The timestamp when this insurance expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+          "insuranceDocumentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded insurance document.
+            "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+          },
+          "rejectionReason": "A String", # Output only. Insurance document's rejection reason.
+        },
+        "licenseVerificationArtifact": { # specific to a local services license. # Output only. A license verification artifact.
+          "expirationDateTime": "A String", # Output only. The timestamp when this license expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+          "licenseDocumentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded license document.
+            "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+          },
+          "licenseNumber": "A String", # Output only. License number.
+          "licenseType": "A String", # Output only. License type / name.
+          "licenseeFirstName": "A String", # Output only. First name of the licensee.
+          "licenseeLastName": "A String", # Output only. Last name of the licensee.
+          "rejectionReason": "A String", # Output only. License rejection reason.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}`
+        "status": "A String", # Output only. The status of the verification artifact.
+      },
+      "locationInterestView": { # A location interest view summarizes the performance of adgroup location interest criteria. # The location interest view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}`
+      },
+      "locationView": { # A location view summarizes the performance of campaigns by a Location criterion. # The location view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+      },
+      "managedPlacementView": { # A managed placement view. # The managed placement view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+      },
+      "matchedLocationInterestView": { # A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns. # The matched location interest view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}`
+      },
+      "mediaFile": { # A media file. # The media file referenced in the query.
+        "audio": { # Encapsulates an Audio. # Output only. Encapsulates an Audio.
+          "adDurationMillis": "A String", # Output only. The duration of the Audio in milliseconds.
+        },
+        "fileSize": "A String", # Output only. The size of the media file in bytes.
+        "id": "A String", # Output only. The ID of the media file.
+        "image": { # Encapsulates an Image. # Immutable. Encapsulates an Image.
+          "data": "A String", # Immutable. Raw image data.
+          "fullSizeImageUrl": "A String", # Output only. The url to the full size version of the image.
+          "previewSizeImageUrl": "A String", # Output only. The url to the preview size version of the image.
+        },
+        "mediaBundle": { # Represents a ZIP archive media the content of which contains HTML5 assets. # Immutable. A ZIP archive media the content of which contains HTML5 assets.
+          "data": "A String", # Immutable. Raw zipped data.
+          "url": "A String", # Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.
+        },
+        "mimeType": "A String", # Output only. The mime type of the media file.
+        "name": "A String", # Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media.
+        "resourceName": "A String", # Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id}/mediaFiles/{media_file_id}`
+        "sourceUrl": "A String", # Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.
+        "type": "A String", # Immutable. Type of the media file.
+        "video": { # Encapsulates a Video. # Immutable. Encapsulates a Video.
+          "adDurationMillis": "A String", # Output only. The duration of the Video in milliseconds.
+          "advertisingIdCode": "A String", # Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials.
+          "isciCode": "A String", # Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.
+          "youtubeVideoId": "A String", # Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix "https://www.youtube.com/watch?v=" to this ID will get the YouTube streaming URL for this video.
+        },
+      },
+      "metrics": { # Metrics data. # The metrics.
+        "absoluteTopImpressionPercentage": 3.14, # Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.
+        "allConversions": 3.14, # The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.
+        "allConversionsByConversionDate": 3.14, # The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+        "allConversionsFromClickToCall": 3.14, # The number of times people clicked the "Call" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.
+        "allConversionsFromDirections": 3.14, # The number of times people clicked a "Get directions" button to navigate to a business after clicking an ad. This metric applies to feed items only.
+        "allConversionsFromInteractionsRate": 3.14, # All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions.
+        "allConversionsFromInteractionsValuePerInteraction": 3.14, # The value of all conversions from interactions divided by the total number of interactions.
+        "allConversionsFromMenu": 3.14, # The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.
+        "allConversionsFromOrder": 3.14, # The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.
+        "allConversionsFromOtherEngagement": 3.14, # The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only.
+        "allConversionsFromStoreVisit": 3.14, # Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.
+        "allConversionsFromStoreWebsite": 3.14, # The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.
+        "allConversionsValue": 3.14, # The value of all conversions.
+        "allConversionsValueByConversionDate": 3.14, # The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+        "allConversionsValuePerCost": 3.14, # The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).
+        "averageCartSize": 3.14, # Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.
+        "averageCost": 3.14, # The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.
+        "averageCpc": 3.14, # The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "averageCpm": 3.14, # Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "averageImpressionFrequencyPerUser": 3.14, # The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
+        "averageOrderValueMicros": "A String", # Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.
+        "averageQualityScore": 3.14, # The average quality score.
+        "clicks": "A String", # The number of clicks.
+        "clientAccountConversions": 3.14, # The number of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+        "clientAccountConversionsValue": 3.14, # The value of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+        "clientAccountCrossSellCostOfGoodsSoldMicros": "A String", # Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountCrossSellGrossProfitMicros": "A String", # Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountCrossSellRevenueMicros": "A String", # Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountCrossSellUnitsSold": 3.14, # Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
+        "clientAccountLeadCostOfGoodsSoldMicros": "A String", # Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountLeadGrossProfitMicros": "A String", # Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountLeadRevenueMicros": "A String", # Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "clientAccountLeadUnitsSold": 3.14, # Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
+        "clientAccountViewThroughConversions": "A String", # The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.
+        "contentBudgetLostImpressionShare": 3.14, # The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "contentImpressionShare": 3.14, # The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+        "contentRankLostImpressionShare": 3.14, # The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "conversionCustomMetrics": [ # The conversion custom metrics.
+          { # A generic data container.
+            "booleanValue": True or False, # A boolean.
+            "doubleValue": 3.14, # A double.
+            "floatValue": 3.14, # A float.
+            "int64Value": "A String", # An int64.
+            "stringValue": "A String", # A string.
+          },
+        ],
+        "conversions": 3.14, # The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+        "conversionsByConversionDate": 3.14, # The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in date column means the conversion date.
+        "conversionsFromInteractionsRate": 3.14, # Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion.
+        "conversionsFromInteractionsValuePerInteraction": 3.14, # The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+        "conversionsValue": 3.14, # The sum of conversion values for the conversions included in the "conversions" field. This metric is useful only if you entered a value for your conversion actions.
+        "conversionsValueByConversionDate": 3.14, # The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date.
+        "conversionsValuePerCost": 3.14, # The value of biddable conversion divided by the total cost of conversion eligible interactions.
+        "costMicros": "A String", # The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "costOfGoodsSoldMicros": "A String", # Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.
+        "costPerAllConversions": 3.14, # The cost of ad interactions divided by all conversions.
+        "costPerConversion": 3.14, # Average conversion eligible cost per biddable conversion.
+        "costPerCurrentModelAttributedConversion": 3.14, # The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+        "crossDeviceConversions": 3.14, # Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in all_conversions.
+        "crossDeviceConversionsByConversionDate": 3.14, # The number of cross-device conversions by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+        "crossDeviceConversionsValue": 3.14, # The sum of the value of cross-device conversions.
+        "crossDeviceConversionsValueByConversionDate": 3.14, # The sum of cross-device conversions value by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+        "crossSellCostOfGoodsSoldMicros": "A String", # Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "crossSellGrossProfitMicros": "A String", # Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "crossSellRevenueMicros": "A String", # Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "crossSellUnitsSold": 3.14, # Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
+        "ctr": 3.14, # The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
+        "generalInvalidClickRate": 3.14, # The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.
+        "generalInvalidClicks": "A String", # Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.
+        "grossProfitMargin": 3.14, # Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.
+        "grossProfitMicros": "A String", # Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.
+        "historicalCreativeQualityScore": "A String", # The creative historical quality score.
+        "historicalLandingPageQualityScore": "A String", # The quality of historical landing page experience.
+        "historicalQualityScore": "A String", # The historical quality score.
+        "historicalSearchPredictedCtr": "A String", # The historical search predicted click through rate (CTR).
+        "impressions": "A String", # Count of how often your ad has appeared on a search results page or website on the Google Network.
+        "interactionEventTypes": [ # The types of payable and free interactions.
+          "A String",
+        ],
+        "interactionRate": 3.14, # How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
+        "interactions": "A String", # The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.
+        "invalidClickRate": 3.14, # The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.
+        "invalidClicks": "A String", # Number of clicks Google considers illegitimate and doesn't charge you for.
+        "leadCostOfGoodsSoldMicros": "A String", # Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "leadGrossProfitMicros": "A String", # Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "leadRevenueMicros": "A String", # Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+        "leadUnitsSold": 3.14, # Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
+        "mobileFriendlyClicksPercentage": 3.14, # The percentage of mobile clicks that go to a mobile-friendly page.
+        "orders": 3.14, # Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data.
+        "rawEventConversionMetrics": [ # The raw event conversion metrics.
+          { # A generic data container.
+            "booleanValue": True or False, # A boolean.
+            "doubleValue": 3.14, # A double.
+            "floatValue": 3.14, # A float.
+            "int64Value": "A String", # An int64.
+            "stringValue": "A String", # A string.
+          },
+        ],
+        "revenueMicros": "A String", # Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.
+        "searchAbsoluteTopImpressionShare": 3.14, # The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See https://support.google.com/sa360/answer/9566729 for details. Any value below 0.1 is reported as 0.0999.
+        "searchBudgetLostAbsoluteTopImpressionShare": 3.14, # The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchBudgetLostImpressionShare": 3.14, # The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchBudgetLostTopImpressionShare": 3.14, # The number estimating how often your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchClickShare": 3.14, # The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+        "searchExactMatchImpressionShare": 3.14, # The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+        "searchImpressionShare": 3.14, # The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+        "searchRankLostAbsoluteTopImpressionShare": 3.14, # The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchRankLostImpressionShare": 3.14, # The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchRankLostTopImpressionShare": 3.14, # The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+        "searchTopImpressionShare": 3.14, # The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.
+        "topImpressionPercentage": 3.14, # The percent of your ad impressions that are shown adjacent to the top organic search results.
+        "uniqueUsers": "A String", # The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
+        "unitsSold": 3.14, # Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data.
+        "valuePerAllConversions": 3.14, # The value of all conversions divided by the number of all conversions.
+        "valuePerAllConversionsByConversionDate": 3.14, # The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+        "valuePerConversion": 3.14, # The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth.
+        "valuePerConversionsByConversionDate": 3.14, # Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date.
+        "visits": 3.14, # Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page.
+      },
+      "mobileAppCategoryConstant": { # A mobile application category constant. # The mobile app category constant referenced in the query.
+        "id": 42, # Output only. The ID of the mobile app category constant.
+        "name": "A String", # Output only. Mobile app category name.
+        "resourceName": "A String", # Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id}`
+      },
+      "mobileDeviceConstant": { # A mobile device constant. # The mobile device constant referenced in the query.
+        "id": "A String", # Output only. The ID of the mobile device constant.
+        "manufacturerName": "A String", # Output only. The manufacturer of the mobile device.
+        "name": "A String", # Output only. The name of the mobile device.
+        "operatingSystemName": "A String", # Output only. The operating system of the mobile device.
+        "resourceName": "A String", # Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id}`
+        "type": "A String", # Output only. The type of mobile device.
+      },
+      "offlineConversionUploadClientSummary": { # Offline conversion upload summary at customer level. # Offline conversion upload summary at customer level.
+        "alerts": [ # Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
+          { # Alert for offline conversion client summary.
+            "error": { # Possible errors for offline conversion client summary. # Output only. Error for offline conversion client alert.
+              "collectionSizeError": "A String", # Output only. Collection size error.
+              "conversionAdjustmentUploadError": "A String", # Output only. Conversion adjustment upload error.
+              "conversionUploadError": "A String", # Output only. Conversion upload error.
+              "dateError": "A String", # Output only. Date error.
+              "distinctError": "A String", # Output only. Distinct error.
+              "fieldError": "A String", # Output only. Field error.
+              "mutateError": "A String", # Output only. Mutate error.
+              "notAllowlistedError": "A String", # Output only. Not allowlisted error.
+              "stringFormatError": "A String", # Output only. String format error.
+              "stringLengthError": "A String", # Output only. String length error.
+            },
+            "errorPercentage": 3.14, # Output only. Percentage of the error, the range of this field should be [0, 1.0].
+          },
+        ],
+        "client": "A String", # Output only. Client type of the upload event.
+        "dailySummaries": [ # Output only. Summary of history stats by last N days.
+          { # Historical upload summary, grouped by upload date or job.
+            "failedCount": "A String", # Output only. Total count of failed event.
+            "jobId": "A String", # Output only. Dimension key for last N jobs.
+            "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+            "successfulCount": "A String", # Output only. Total count of successful event.
+            "uploadDate": "A String", # Output only. Dimension key for last N days.
+          },
+        ],
+        "jobSummaries": [ # Output only. Summary of history stats by last N jobs.
+          { # Historical upload summary, grouped by upload date or job.
+            "failedCount": "A String", # Output only. Total count of failed event.
+            "jobId": "A String", # Output only. Dimension key for last N jobs.
+            "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+            "successfulCount": "A String", # Output only. Total count of successful event.
+            "uploadDate": "A String", # Output only. Dimension key for last N days.
+          },
+        ],
+        "lastUploadDateTime": "A String", # Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
+        "pendingEventCount": "A String", # Output only. Total count of pending uploaded events.
+        "pendingRate": 3.14, # Output only. The ratio of total pending events to total events.
+        "resourceName": "A String", # Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}`
+        "status": "A String", # Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.
+        "successRate": 3.14, # Output only. Successful rate.
+        "successfulEventCount": "A String", # Output only. Total count of successful uploaded events.
+        "totalEventCount": "A String", # Output only. Total count of uploaded events.
+      },
+      "offlineConversionUploadConversionActionSummary": { # Offline conversion upload summary at conversion action level. # Offline conversion upload summary at conversion type level.
+        "alerts": [ # Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
+          { # Alert for offline conversion client summary.
+            "error": { # Possible errors for offline conversion client summary. # Output only. Error for offline conversion client alert.
+              "collectionSizeError": "A String", # Output only. Collection size error.
+              "conversionAdjustmentUploadError": "A String", # Output only. Conversion adjustment upload error.
+              "conversionUploadError": "A String", # Output only. Conversion upload error.
+              "dateError": "A String", # Output only. Date error.
+              "distinctError": "A String", # Output only. Distinct error.
+              "fieldError": "A String", # Output only. Field error.
+              "mutateError": "A String", # Output only. Mutate error.
+              "notAllowlistedError": "A String", # Output only. Not allowlisted error.
+              "stringFormatError": "A String", # Output only. String format error.
+              "stringLengthError": "A String", # Output only. String length error.
+            },
+            "errorPercentage": 3.14, # Output only. Percentage of the error, the range of this field should be [0, 1.0].
+          },
+        ],
+        "client": "A String", # Output only. Client type of the upload event.
+        "conversionActionId": "A String", # Output only. Conversion action id.
+        "conversionActionName": "A String", # Output only. The name of the conversion action.
+        "dailySummaries": [ # Output only. Summary of history stats by last N days.
+          { # Historical upload summary, grouped by upload date or job.
+            "failedCount": "A String", # Output only. Total count of failed event.
+            "jobId": "A String", # Output only. Dimension key for last N jobs.
+            "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+            "successfulCount": "A String", # Output only. Total count of successful event.
+            "uploadDate": "A String", # Output only. Dimension key for last N days.
+          },
+        ],
+        "jobSummaries": [ # Output only. Summary of history stats by last N jobs.
+          { # Historical upload summary, grouped by upload date or job.
+            "failedCount": "A String", # Output only. Total count of failed event.
+            "jobId": "A String", # Output only. Dimension key for last N jobs.
+            "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+            "successfulCount": "A String", # Output only. Total count of successful event.
+            "uploadDate": "A String", # Output only. Dimension key for last N days.
+          },
+        ],
+        "lastUploadDateTime": "A String", # Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
+        "pendingEventCount": "A String", # Output only. Total count of pending uploaded events.
+        "resourceName": "A String", # Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}`
+        "status": "A String", # Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.
+        "successfulEventCount": "A String", # Output only. Total count of successful uploaded events.
+        "totalEventCount": "A String", # Output only. Total count of uploaded events.
+      },
+      "offlineUserDataJob": { # A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using # The offline user data job referenced in the query.
+        "customerMatchUserListMetadata": { # Metadata for customer match user list. # Immutable. Metadata for data updates to a CRM-based user list.
+          "consent": { # Consent # The consent setting for all the users in this job.
+            "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+            "adUserData": "A String", # This represents consent for ad user data.
+          },
+          "userList": "A String", # The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
+        },
+        "externalId": "A String", # Immutable. User specified job ID.
+        "failureReason": "A String", # Output only. Reason for the processing failure, if status is FAILED.
+        "id": "A String", # Output only. ID of this offline user data job.
+        "operationMetadata": { # Metadata of offline user data job. # Output only. Metadata of offline user data job depicting match rate range.
+          "matchRateRange": "A String", # Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".
+        },
+        "resourceName": "A String", # Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`
+        "status": "A String", # Output only. Status of the job.
+        "storeSalesMetadata": { # Metadata for Store Sales Direct. # Immutable. Metadata for store sales data update.
+          "customKey": "A String", # Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
+          "loyaltyFraction": 3.14, # This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
+          "thirdPartyMetadata": { # Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration. # Metadata for a third party Store Sales upload.
+            "advertiserUploadDateTime": "A String", # Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+            "bridgeMapVersionId": "A String", # Version of partner IDs to be used for uploads. Required.
+            "partnerId": "A String", # ID of the third party partner updating the transaction feed.
+            "partnerMatchFraction": 3.14, # The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
+            "partnerUploadFraction": 3.14, # The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
+            "validTransactionFraction": 3.14, # The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
+          },
+          "transactionUploadFraction": 3.14, # This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
+        },
+        "type": "A String", # Immutable. Type of the job.
+      },
+      "operatingSystemVersionConstant": { # A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms # The operating system version constant referenced in the query.
+        "id": "A String", # Output only. The ID of the operating system version.
+        "name": "A String", # Output only. Name of the operating system.
+        "operatorType": "A String", # Output only. Determines whether this constant represents a single version or a range of versions.
+        "osMajorVersion": 42, # Output only. The OS Major Version number.
+        "osMinorVersion": 42, # Output only. The OS Minor Version number.
+        "resourceName": "A String", # Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id}`
+      },
+      "paidOrganicSearchTermView": { # A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level. # The paid organic search term view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ {ad_group_id}~{URL-base64 search term}`
+        "searchTerm": "A String", # Output only. The search term.
+      },
+      "parentalStatusView": { # A parental status view. # The parental status view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+      },
+      "perStoreView": { # A per store view. This view provides per store impression reach and local action conversion stats for advertisers. # The per store view referenced in the query.
+        "address1": "A String", # Output only. First line of the store's address.
+        "address2": "A String", # Output only. Second line of the store's address.
+        "businessName": "A String", # Output only. The name of the business.
+        "city": "A String", # Output only. The city where the store is located.
+        "countryCode": "A String", # Output only. The two-letter country code for the store's location (e.g., "US").
+        "phoneNumber": "A String", # Output only. The phone number of the store.
+        "placeId": "A String", # Output only. The place ID of the per store view.
+        "postalCode": "A String", # Output only. The postal code of the store's address.
+        "province": "A String", # Output only. The province or state of the store's address.
+        "resourceName": "A String", # Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id}/perStoreViews/{place_id}`
+      },
+      "performanceMaxPlacementView": { # A view with impression metrics for Performance Max campaign placements. # The performance max placement view referenced in the query.
+        "displayName": "A String", # Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+        "placement": "A String", # Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.
+        "placementType": "A String", # Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.
+        "resourceName": "A String", # Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}`
+        "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+      },
+      "productCategoryConstant": { # A Product Category. # The product category referenced in the query.
+        "categoryId": "A String", # Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436.
+        "level": "A String", # Output only. Level of the product category.
+        "localizations": [ # Output only. List of all available localizations of the product category.
+          { # Localization for the product category.
+            "languageCode": "A String", # Output only. Two-letter ISO 639-1 language code of the localized category.
+            "regionCode": "A String", # Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.
+            "value": "A String", # Output only. The name of the category in the specified locale.
+          },
+        ],
+        "productCategoryConstantParent": "A String", # Output only. Resource name of the parent product category.
+        "resourceName": "A String", # Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level}~{category_id}`
+        "state": "A String", # Output only. State of the product category.
+      },
+      "productGroupView": { # A product group view. # The product group view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+      },
+      "productLink": { # Represents the data sharing connection between # The product link referenced in the query.
+        "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link.
+          "customer": "A String", # Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.
+        },
+        "dataPartner": { # The identifier for Data Partner account. # Immutable. Data partner link.
+          "dataPartnerId": "A String", # Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.
+        },
+        "googleAds": { # The identifier for Google Ads account. # Immutable. Google Ads link.
+          "customer": "A String", # Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.
+        },
+        "merchantCenter": { # The identifier for Google Merchant Center account # Immutable. Google Merchant Center link.
+          "merchantCenterId": "A String", # Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.
+        },
+        "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+        "resourceName": "A String", # Immutable. Resource name of the product link. ProductLink resource names have the form: ` `
+        "type": "A String", # Output only. The type of the linked product.
+      },
+      "productLinkInvitation": { # Represents an invitation for data sharing connection between a Google Ads account and another account. # The product link invitation in the query.
+        "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link invitation.
+          "customer": "A String", # Immutable. The resource name of the advertising partner Google Ads account. This field is read only.
+        },
+        "hotelCenter": { # The identifier for Hotel account. # Output only. Hotel link invitation.
+          "hotelCenterId": "A String", # Output only. The hotel center id of the hotel account. This field is read only
+        },
+        "merchantCenter": { # The identifier for Merchant Center Account. # Output only. Merchant Center link invitation.
+          "merchantCenterId": "A String", # Output only. The Merchant Center id of the Merchant account. This field is read only
+        },
+        "productLinkInvitationId": "A String", # Output only. The ID of the product link invitation. This field is read only.
+        "resourceName": "A String", # Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`
+        "status": "A String", # Output only. The status of the product link invitation. This field is read only.
+        "type": "A String", # Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.
+      },
+      "qualifyingQuestion": { # Qualifying Questions for Lead Form. # The qualifying question referenced in the query.
+        "locale": "A String", # Output only. The locale of the qualifying question.
+        "qualifyingQuestionId": "A String", # Output only. The id of the qualifying question.
+        "resourceName": "A String", # Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId}'
+        "text": "A String", # Output only. The qualifying question.
+      },
+      "recommendation": { # A recommendation. # The recommendation referenced in the query.
+        "adGroup": "A String", # Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+        "callAssetRecommendation": { # The call asset recommendation. # Output only. The call asset recommendation.
+        },
+        "calloutAssetRecommendation": { # The callout asset recommendation. # Output only. The callout asset recommendation.
+          "recommendedCampaignCalloutAssets": [ # Output only. New callout extension assets recommended at the campaign level.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "recommendedCustomerCalloutAssets": [ # Output only. New callout extension assets recommended at the customer level.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+        },
+        "campaign": "A String", # Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,
+        "campaignBudget": "A String", # Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+        "campaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The campaign budget recommendation.
+          "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+            { # The impact estimates for a given budget amount.
+              "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+            },
+          ],
+          "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+        },
+        "campaigns": [ # Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET
+          "A String",
+        ],
+        "customAudienceOptInRecommendation": { # The Custom Audience Opt In recommendation. # Output only. The custom audience opt in recommendation.
+          "keywords": [ # Output only. The list of keywords to use for custom audience creation.
+            { # A keyword criterion.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+          ],
+        },
+        "dismissed": True or False, # Output only. Whether the recommendation is dismissed or not.
+        "displayExpansionOptInRecommendation": { # The Display Expansion opt-in recommendation. # Output only. The Display Expansion opt-in recommendation.
+        },
+        "dynamicImageExtensionOptInRecommendation": { # Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads. # Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.
+        },
+        "enhancedCpcOptInRecommendation": { # The Enhanced Cost-Per-Click Opt-In recommendation. # Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
+        },
+        "forecastingCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The forecasting campaign budget recommendation.
+          "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+            { # The impact estimates for a given budget amount.
+              "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+            },
+          ],
+          "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+        },
+        "forecastingSetTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The forecasting set target CPA recommendation.
+          "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+            "currentAmountMicros": "A String", # Output only. Current budget amount.
+            "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+            "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+          },
+          "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+        },
+        "forecastingSetTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The forecasting set target ROAS recommendation.
+          "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+            "currentAmountMicros": "A String", # Output only. Current budget amount.
+            "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+            "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+          },
+          "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+        },
+        "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact on account performance as a result of applying the recommendation.
+          "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+            "clicks": 3.14, # Output only. Number of ad clicks.
+            "conversions": 3.14, # Output only. Number of conversions.
+            "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+            "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+            "impressions": 3.14, # Output only. Number of ad impressions.
+            "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+          },
+          "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+            "clicks": 3.14, # Output only. Number of ad clicks.
+            "conversions": 3.14, # Output only. Number of conversions.
+            "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+            "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+            "impressions": 3.14, # Output only. Number of ad impressions.
+            "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+          },
+        },
+        "improveDemandGenAdStrengthRecommendation": { # The improve Demand Gen ad strength recommendation. # Output only. The improve Demand Gen ad strength recommendation.
+          "ad": "A String", # Output only. The resource name of the ad that can be improved.
+          "adStrength": "A String", # Output only. The current ad strength.
+          "demandGenAssetActionItems": [ # Output only. A list of recommendations to improve the ad strength.
+            "A String",
+          ],
+        },
+        "improveGoogleTagCoverageRecommendation": { # Recommendation to deploy Google Tag on more pages. # Output only. Recommendation to deploy Google Tag on more pages.
+        },
+        "improvePerformanceMaxAdStrengthRecommendation": { # Recommendation to improve the asset group strength of a Performance Max campaign to an "Excellent" rating. # Output only. The improve Performance Max ad strength recommendation.
+          "adStrength": "A String", # Output only. The current ad strength score of the asset group.
+          "assetGroup": "A String", # Output only. The asset group resource name.
+        },
+        "keywordMatchTypeRecommendation": { # The keyword match type recommendation. # Output only. The keyword match type recommendation.
+          "keyword": { # A keyword criterion. # Output only. The existing keyword where the match type should be more broad.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "recommendedMatchType": "A String", # Output only. The recommended new match type.
+        },
+        "keywordRecommendation": { # The keyword recommendation. # Output only. The keyword recommendation.
+          "keyword": { # A keyword criterion. # Output only. The recommended keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "recommendedCpcBidMicros": "A String", # Output only. The recommended CPC (cost-per-click) bid.
+          "searchTerms": [ # Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.
+            { # Information about a search term as related to a keyword recommendation.
+              "estimatedWeeklySearchCount": "A String", # Output only. Estimated number of historical weekly searches for this search term.
+              "text": "A String", # Output only. The text of the search term.
+            },
+          ],
+        },
+        "leadFormAssetRecommendation": { # The lead form asset recommendation. # Output only. The lead form asset recommendation.
+        },
+        "lowerTargetRoasRecommendation": { # Recommendation to lower Target ROAS. # Output only. Recommendation to lower Target ROAS.
+          "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+            "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+            "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+            "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+          },
+        },
+        "marginalRoiCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The marginal ROI campaign budget recommendation.
+          "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+            { # The impact estimates for a given budget amount.
+              "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+            },
+          ],
+          "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+        },
+        "maximizeClicksOptInRecommendation": { # The Maximize Clicks opt-in recommendation. # Output only. The MaximizeClicks Opt-In recommendation.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount. Only set if the current budget is too high.
+        },
+        "maximizeConversionValueOptInRecommendation": { # Recommendation to opt into Maximize Conversion Value bidding strategy. # Output only. The Maximize Conversion Value opt-in recommendation.
+        },
+        "maximizeConversionsOptInRecommendation": { # The Maximize Conversions Opt-In recommendation. # Output only. The MaximizeConversions Opt-In recommendation.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount.
+        },
+        "migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { # The Dynamic Search Ads to Performance Max migration recommendation. # Output only. The Dynamic Search Ads to Performance Max migration recommendation.
+          "applyLink": "A String", # Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.
+        },
+        "moveUnusedBudgetRecommendation": { # The move unused budget recommendation. # Output only. The move unused budget recommendation.
+          "budgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The recommendation for the constrained budget to increase.
+            "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+              { # The impact estimates for a given budget amount.
+                "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+                "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                  "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                    "clicks": 3.14, # Output only. Number of ad clicks.
+                    "conversions": 3.14, # Output only. Number of conversions.
+                    "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                    "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                    "impressions": 3.14, # Output only. Number of ad impressions.
+                    "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                  },
+                  "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                    "clicks": 3.14, # Output only. Number of ad clicks.
+                    "conversions": 3.14, # Output only. Number of conversions.
+                    "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                    "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                    "impressions": 3.14, # Output only. Number of ad impressions.
+                    "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                  },
+                },
+              },
+            ],
+            "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+            "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+          },
+          "excessCampaignBudget": "A String", # Output only. The excess budget's resource_name.
+        },
+        "optimizeAdRotationRecommendation": { # The Optimize Ad Rotation recommendation. # Output only. The Optimize Ad Rotation recommendation.
+        },
+        "performanceMaxFinalUrlOptInRecommendation": { # Recommendation to turn on Final URL expansion for your Performance Max campaigns. # Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.
+        },
+        "performanceMaxOptInRecommendation": { # The Performance Max Opt In recommendation. # Output only. The Performance Max Opt In recommendation.
+        },
+        "raiseTargetCpaBidTooLowRecommendation": { # The raise target CPA bid too low recommendation. # Output only. The raise target CPA bid too low recommendation.
+          "averageTargetCpaMicros": "A String", # Output only. The current average target CPA of the campaign, in micros of customer local currency.
+          "recommendedTargetMultiplier": 3.14, # Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.
+        },
+        "raiseTargetCpaRecommendation": { # Recommendation to raise Target CPA. # Output only. Recommendation to raise Target CPA.
+          "appBiddingGoal": "A String", # Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.
+          "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+            "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+            "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+            "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+          },
+        },
+        "refreshCustomerMatchListRecommendation": { # The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list. # Output only. The refresh customer list recommendation.
+          "daysSinceLastRefresh": "A String", # Output only. Days since last refresh.
+          "ownerAccount": { # Wrapper for information about a Google Ads account. # Output only. The owner account. This is the account that should update the customer list.
+            "customerId": "A String", # Output only. The customer ID of the account.
+            "descriptiveName": "A String", # Output only. The descriptive name of the account.
+          },
+          "targetingAccountsCount": "A String", # Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.
+          "topSpendingAccount": [ # Output only. The top spending account.
+            { # Wrapper for information about a Google Ads account.
+              "customerId": "A String", # Output only. The customer ID of the account.
+              "descriptiveName": "A String", # Output only. The descriptive name of the account.
+            },
+          ],
+          "userListId": "A String", # Output only. The user list ID.
+          "userListName": "A String", # Output only. The name of the list.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`
+        "responsiveSearchAdAssetRecommendation": { # The add responsive search ad asset recommendation. # Output only. The responsive search ad asset recommendation.
+          "currentAd": { # An ad. # Output only. The current ad to be updated.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "recommendedAssets": { # An ad. # Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+        },
+        "responsiveSearchAdImproveAdStrengthRecommendation": { # The responsive search ad improve ad strength recommendation. # Output only. The responsive search ad improve ad strength recommendation.
+          "currentAd": { # An ad. # Output only. The current ad to be updated.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "recommendedAd": { # An ad. # Output only. The updated ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+        },
+        "responsiveSearchAdRecommendation": { # The add responsive search ad recommendation. # Output only. The add responsive search ad recommendation.
+          "ad": { # An ad. # Output only. Recommended ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+        },
+        "searchPartnersOptInRecommendation": { # The Search Partners Opt-In recommendation. # Output only. The Search Partners Opt-In recommendation.
+        },
+        "setTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The set target CPA recommendation.
+          "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+            "currentAmountMicros": "A String", # Output only. Current budget amount.
+            "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+            "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+          },
+          "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+        },
+        "setTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The set target ROAS recommendation.
+          "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+            "currentAmountMicros": "A String", # Output only. Current budget amount.
+            "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+            "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+          },
+          "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+        },
+        "shoppingAddAgeGroupRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add age group recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingAddColorRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add color recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingAddGenderRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add gender recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingAddGtinRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add GTIN recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingAddMoreIdentifiersRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add more identifiers recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingAddProductsToCampaignRecommendation": { # The shopping recommendation to add products to a Shopping Campaign Inventory. # Output only. The shopping add products to campaign recommendation.
+          "feedLabel": "A String", # Output only. The feed label for the campaign.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "reason": "A String", # Output only. The reason why no products are attached to the campaign.
+        },
+        "shoppingAddSizeRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add size recommendation.
+          "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+          "feedLabel": "A String", # Output only. The campaign feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "offersCount": "A String", # Output only. The number of online, servable offers.
+        },
+        "shoppingFixDisapprovedProductsRecommendation": { # The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory. # Output only. The shopping fix disapproved products recommendation.
+          "disapprovedProductsCount": "A String", # Output only. The numbers of products of the campaign that are disapproved.
+          "feedLabel": "A String", # Output only. The feed label for the campaign.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "productsCount": "A String", # Output only. The number of products of the campaign.
+        },
+        "shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix Merchant Center account suspension warning recommendation.
+          "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+        },
+        "shoppingFixSuspendedMerchantCenterAccountRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix suspended Merchant Center account recommendation.
+          "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+        },
+        "shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { # The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns. # Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.
+          "feedLabel": "A String", # Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+        },
+        "shoppingTargetAllOffersRecommendation": { # The shopping recommendation to create a catch-all campaign that targets all offers. # Output only. The shopping target all offers recommendation.
+          "feedLabel": "A String", # Output only. The offer feed label.
+          "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+            "id": "A String", # Output only. The Merchant Center account ID.
+            "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+            "name": "A String", # Output only. The name of the Merchant Center account.
+          },
+          "untargetedOffersCount": "A String", # Output only. The number of untargeted offers.
+        },
+        "sitelinkAssetRecommendation": { # The sitelink asset recommendation. # Output only. The sitelink asset recommendation.
+          "recommendedCampaignSitelinkAssets": [ # Output only. New sitelink assets recommended at the campaign level.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+          "recommendedCustomerSitelinkAssets": [ # Output only. New sitelink assets recommended at the customer level.
+            { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+              "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+                "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+              },
+              "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+              },
+              "businessMessageAsset": { # A business message asset. # A business message asset.
+                "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                  "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                  "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+                },
+                "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                  "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+                },
+                "messageProvider": "A String", # Required. Message provider of the business message asset.
+                "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+                "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                  "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                  "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+                },
+                "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                  "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                  "oaId": "A String", # Zalo Official Account ID of the advertiser.
+                },
+              },
+              "callAsset": { # A Call asset. # A call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              },
+              "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+                "callToAction": "A String", # Call to action.
+              },
+              "calloutAsset": { # A Callout asset. # A callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+              "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+                "callToActionText": "A String", # Call to action text.
+                "headline": "A String", # Required. Headline of the carousel card.
+                "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+                "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+                "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+              },
+              "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                  "A String",
+                ],
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+                "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+                "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "itemCategory": "A String", # Item category, for example, Sedans.
+                "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+                "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+                "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+                "similarIds": [ # Similar IDs.
+                  "A String",
+                ],
+              },
+              "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+                "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                  "A String",
+                ],
+                "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+                "programDescription": "A String", # Program description, for example, Nursing Certification.
+                "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "programName": "A String", # Required. Program name, for example, Nursing. Required.
+                "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+                "similarProgramIds": [ # Similar program IDs.
+                  "A String",
+                ],
+                "subject": "A String", # Subject of study, for example, Health.
+                "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+              },
+              "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+                "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                  "A String",
+                ],
+              },
+              "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Hotel suite.
+                "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Close to SJC Airport.
+                "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+                "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarPropertyIds": [ # Similar property IDs.
+                  "A String",
+                ],
+                "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+              },
+              "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, Apply your technical skills.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "jobCategory": "A String", # Job category, for example, Technical.
+                "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+                "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+                "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+                "salary": "A String", # Salary, for example, $100,000.
+                "similarJobIds": [ # Similar job IDs, for example, 1275.
+                  "A String",
+                ],
+              },
+              "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Food.
+                "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                  "A String",
+                ],
+                "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+                "description": "A String", # Description, for example, Save on your weekly bill.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                  "A String",
+                ],
+                "subtitle": "A String", # Subtitle, for example, Groceries.
+              },
+              "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+                "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "cityName": "A String", # City name, for example, Mountain View, California.
+                "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                  "A String",
+                ],
+                "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+                "listingType": "A String", # Listing type, for example, For sale.
+                "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+                "propertyType": "A String", # Property type, for example, House.
+                "similarListingIds": [ # Similar listing IDs.
+                  "A String",
+                ],
+              },
+              "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+                "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+                "category": "A String", # Category, for example, Express.
+                "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                  "A String",
+                ],
+                "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+                "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+                "destinationName": "A String", # Destination name, for example, Paris.
+                "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+                "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+                "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+                "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+                "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+                "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+                "originName": "A String", # Origin name, for example, London.
+                "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+                "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+                "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                  "A String",
+                ],
+                "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+              },
+              "engineStatus": "A String", # Output only. The Engine Status for an asset.
+              "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+                { # Contains policy information for an asset under AssetFieldType context.
+                  "assetFieldType": "A String", # Output only. FieldType of this asset.
+                  "assetSource": "A String", # Output only. Source of this asset.
+                  "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                    "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                  },
+                },
+              ],
+              "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+                "A String",
+              ],
+              "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+              "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+                "A String",
+              ],
+              "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+                "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+                "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+              },
+              "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+                "hotelAddress": "A String", # Address of the hotel. Read-only.
+                "hotelName": "A String", # Name of the hotel. Read-only.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+              },
+              "id": "A String", # Output only. The ID of the asset.
+              "imageAsset": { # An Image asset. # Output only. An image asset.
+                "data": "A String", # The raw bytes data of an image. This field is mutate only.
+                "fileSize": "A String", # File size of the image asset in bytes.
+                "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                  "heightPixels": "A String", # Height of the image.
+                  "url": "A String", # A URL that returns the image with this height and width.
+                  "widthPixels": "A String", # Width of the image.
+                },
+                "mimeType": "A String", # MIME type of the image asset.
+              },
+              "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+              "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+                "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+                "businessName": "A String", # Required. The name of the business being advertised.
+                "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+                "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+                "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+                "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                  { # One custom question input field instance within a form.
+                    "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                  { # A configuration of how leads are delivered to the advertiser.
+                    "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                      "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                      "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                      "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                    },
+                  },
+                ],
+                "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+                "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+                "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                  { # One input field instance within a form.
+                    "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                    "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                    "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                      "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+                "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+                "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+                "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+                "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+              },
+              "locationAsset": { # A location asset. # Output only. A location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+                "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+              },
+              "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+                "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+                "appStore": "A String", # Required. The application store that distributes this specific app.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "name": "A String", # Optional name of the asset.
+              "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+              "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+              },
+              "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+              "priceAsset": { # An asset representing a list of price offers. # A price asset.
+                "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+                "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                  { # A single price offering within a PriceAsset.
+                    "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                    "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                    "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                    "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                      "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                      "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                    },
+                    "unit": "A String", # The price unit of the price offering.
+                  },
+                ],
+                "priceQualifier": "A String", # The price qualifier of the price asset.
+                "type": "A String", # Required. The type of the price asset.
+              },
+              "promotionAsset": { # A Promotion asset. # A promotion asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "discountModifier": "A String", # A modifier for qualification of the discount.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+                "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+                "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+                "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                  "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                  "type": "A String", # Barcode type used to generate barcode with the correct format.
+                },
+                "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+                "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                  "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+                },
+                "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+                "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+                "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+              },
+              "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+              "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+                "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+                "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+                "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+                "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+                "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                  { # Business Profile location data synced from the linked Business Profile account.
+                    "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                      "A String",
+                    ],
+                    "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                    "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                  },
+                ],
+                "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+                "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+              },
+              "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+                "labels": [ # Labels used to group the page urls.
+                  "A String",
+                ],
+                "pageUrl": "A String", # The webpage that advertisers want to target.
+              },
+              "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+                "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+                "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+              },
+              "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+                "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                  { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                    "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                    "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  },
+                ],
+                "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+                "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+                "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+                "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+                "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              },
+              "source": "A String", # Output only. Source of the asset.
+              "status": "A String", # Output only. The status of the asset.
+              "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+                "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+                "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                  "A String",
+                ],
+              },
+              "textAsset": { # A Text asset. # Immutable. A text asset.
+                "text": "A String", # Text content of the text asset.
+              },
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "type": "A String", # Output only. Type of the asset.
+              "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+                { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                  "key": "A String", # The key matching the parameter tag name.
+                  "value": "A String", # The value to be substituted.
+                },
+              ],
+              "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+                "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+                "youtubeVideoTitle": "A String", # YouTube video title.
+              },
+            },
+          ],
+        },
+        "targetCpaOptInRecommendation": { # The Target CPA opt-in recommendation. # Output only. The TargetCPA opt-in recommendation.
+          "options": [ # Output only. The available goals and corresponding options for Target CPA strategy.
+            { # The Target CPA opt-in option with impact estimate.
+              "goal": "A String", # Output only. The goal achieved by this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if this option is selected.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+              "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.
+              "targetCpaMicros": "A String", # Output only. Average CPA target.
+            },
+          ],
+          "recommendedTargetCpaMicros": "A String", # Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.
+        },
+        "targetRoasOptInRecommendation": { # The Target ROAS opt-in recommendation. # Output only. The Target ROAS opt-in recommendation.
+          "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+          "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.
+        },
+        "textAdRecommendation": { # The text ad recommendation. # Output only. Add expanded text ad recommendation.
+          "ad": { # An ad. # Output only. Recommended ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "autoApplyDate": "A String", # Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.
+          "creationDate": "A String", # Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.
+        },
+        "type": "A String", # Output only. The type of recommendation.
+        "upgradeLocalCampaignToPerformanceMaxRecommendation": { # The Upgrade Local campaign to Performance Max campaign recommendation. # Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.
+        },
+        "upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { # The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation. # Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.
+          "merchantId": "A String", # Output only. ID of Merchant Center account.
+          "salesCountryCode": "A String", # Output only. Country whose products from merchant's inventory should be included.
+        },
+        "useBroadMatchKeywordRecommendation": { # The use broad match keyword recommendation. # Output only. The use broad match keyword recommendation.
+          "campaignKeywordsCount": "A String", # Output only. Total number of keywords in the campaign.
+          "campaignUsesSharedBudget": True or False, # Output only. Whether the associated campaign uses a shared budget.
+          "keyword": [ # Output only. Sample of keywords to be expanded to Broad Match.
+            { # A keyword criterion.
+              "matchType": "A String", # The match type of the keyword.
+              "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+            },
+          ],
+          "requiredCampaignBudgetAmountMicros": "A String", # Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.
+          "suggestedKeywordsCount": "A String", # Output only. Total number of keywords to be expanded to Broad Match in the campaign.
+        },
+      },
+      "recommendationSubscription": { # Recommendation Subscription resource # The recommendation subscription referenced in the query.
+        "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+        "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+        "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+        "status": "A String", # Required. Status of the subscription, either enabled or paused.
+        "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+      },
+      "remarketingAction": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # The remarketing action referenced in the query.
+        "id": "A String", # Output only. Id of the remarketing action.
+        "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+        "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+        "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+          { # The site tag and event snippet pair for a TrackingCodeType.
+            "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+            "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+            "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+            "type": "A String", # The type of the generated tag snippets for tracking conversions.
+          },
+        ],
+      },
+      "searchAds360Campaign": { # A Search Ads 360 campaign. # The Search Ads 360 campaign referenced in the query.
+        "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+        "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+      },
+      "searchTermView": { # A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead. # The search term view referenced in the query.
+        "adGroup": "A String", # Output only. The ad group the search term served in.
+        "resourceName": "A String", # Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+        "searchTerm": "A String", # Output only. The search term.
+        "status": "A String", # Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.
+      },
+      "segments": { # Segment only fields. # The segments.
+        "adFormatType": "A String", # Ad Format type.
+        "adNetworkType": "A String", # Ad network type.
+        "assetInteractionTarget": { # An AssetInteractionTarget segment. # Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with.
+          "asset": "A String", # The asset resource name.
+          "interactionOnThisAsset": True or False, # Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.
+        },
+        "conversionAction": "A String", # Resource name of the conversion action.
+        "conversionActionCategory": "A String", # Conversion action category.
+        "conversionActionName": "A String", # Conversion action name.
+        "conversionCustomDimensions": [ # The conversion custom dimensions.
+          { # A generic data container.
+            "booleanValue": True or False, # A boolean.
+            "doubleValue": 3.14, # A double.
+            "floatValue": 3.14, # A float.
+            "int64Value": "A String", # An int64.
+            "stringValue": "A String", # A string.
+          },
+        ],
+        "date": "A String", # Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17.
+        "dayOfWeek": "A String", # Day of the week, for example, MONDAY.
+        "device": "A String", # Device to which metrics apply.
+        "geoTargetCity": "A String", # Resource name of the geo target constant that represents a city.
+        "geoTargetCountry": "A String", # Resource name of the geo target constant that represents a country.
+        "geoTargetMetro": "A String", # Resource name of the geo target constant that represents a metro.
+        "geoTargetPostalCode": "A String", # Resource name of the geo target constant that represents a postal code.
+        "geoTargetRegion": "A String", # Resource name of the geo target constant that represents a region.
+        "hour": 42, # Hour of day as a number between 0 and 23, inclusive.
+        "keyword": { # A Keyword criterion segment. # Keyword criterion.
+          "adGroupCriterion": "A String", # The AdGroupCriterion resource name.
+          "info": { # A keyword criterion. # Keyword info.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        },
+        "month": "A String", # Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.
+        "productBiddingCategoryLevel1": "A String", # Bidding category (level 1) of the product.
+        "productBiddingCategoryLevel2": "A String", # Bidding category (level 2) of the product.
+        "productBiddingCategoryLevel3": "A String", # Bidding category (level 3) of the product.
+        "productBiddingCategoryLevel4": "A String", # Bidding category (level 4) of the product.
+        "productBiddingCategoryLevel5": "A String", # Bidding category (level 5) of the product.
+        "productBrand": "A String", # Brand of the product.
+        "productChannel": "A String", # Channel of the product.
+        "productChannelExclusivity": "A String", # Channel exclusivity of the product.
+        "productCondition": "A String", # Condition of the product.
+        "productCountry": "A String", # Resource name of the geo target constant for the country of sale of the product.
+        "productCustomAttribute0": "A String", # Custom attribute 0 of the product.
+        "productCustomAttribute1": "A String", # Custom attribute 1 of the product.
+        "productCustomAttribute2": "A String", # Custom attribute 2 of the product.
+        "productCustomAttribute3": "A String", # Custom attribute 3 of the product.
+        "productCustomAttribute4": "A String", # Custom attribute 4 of the product.
+        "productItemId": "A String", # Item ID of the product.
+        "productLanguage": "A String", # Resource name of the language constant for the language of the product.
+        "productSoldBiddingCategoryLevel1": "A String", # Bidding category (level 1) of the product sold.
+        "productSoldBiddingCategoryLevel2": "A String", # Bidding category (level 2) of the product sold.
+        "productSoldBiddingCategoryLevel3": "A String", # Bidding category (level 3) of the product sold.
+        "productSoldBiddingCategoryLevel4": "A String", # Bidding category (level 4) of the product sold.
+        "productSoldBiddingCategoryLevel5": "A String", # Bidding category (level 5) of the product sold.
+        "productSoldBrand": "A String", # Brand of the product sold.
+        "productSoldCondition": "A String", # Condition of the product sold.
+        "productSoldCustomAttribute0": "A String", # Custom attribute 0 of the product sold.
+        "productSoldCustomAttribute1": "A String", # Custom attribute 1 of the product sold.
+        "productSoldCustomAttribute2": "A String", # Custom attribute 2 of the product sold.
+        "productSoldCustomAttribute3": "A String", # Custom attribute 3 of the product sold.
+        "productSoldCustomAttribute4": "A String", # Custom attribute 4 of the product sold.
+        "productSoldItemId": "A String", # Item ID of the product sold.
+        "productSoldTitle": "A String", # Title of the product sold.
+        "productSoldTypeL1": "A String", # Type (level 1) of the product sold.
+        "productSoldTypeL2": "A String", # Type (level 2) of the product sold.
+        "productSoldTypeL3": "A String", # Type (level 3) of the product sold.
+        "productSoldTypeL4": "A String", # Type (level 4) of the product sold.
+        "productSoldTypeL5": "A String", # Type (level 5) of the product sold.
+        "productStoreId": "A String", # Store ID of the product.
+        "productTitle": "A String", # Title of the product.
+        "productTypeL1": "A String", # Type (level 1) of the product.
+        "productTypeL2": "A String", # Type (level 2) of the product.
+        "productTypeL3": "A String", # Type (level 3) of the product.
+        "productTypeL4": "A String", # Type (level 4) of the product.
+        "productTypeL5": "A String", # Type (level 5) of the product.
+        "quarter": "A String", # Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.
+        "rawEventConversionDimensions": [ # The raw event conversion dimensions.
+          { # A generic data container.
+            "booleanValue": True or False, # A boolean.
+            "doubleValue": 3.14, # A double.
+            "floatValue": 3.14, # A float.
+            "int64Value": "A String", # An int64.
+            "stringValue": "A String", # A string.
+          },
+        ],
+        "verticalAdsEventParticipantDisplayNames": "A String", # The display names of participants in an event listing, like performers, speakers, or teams.
+        "verticalAdsHotelClass": "A String", # The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.
+        "verticalAdsListing": "A String", # The listing associated with a listing impression, click or conversion.
+        "verticalAdsListingBrand": "A String", # The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.
+        "verticalAdsListingCity": "A String", # The city where the vertical ads listing is located.
+        "verticalAdsListingCountry": "A String", # The country where the vertical ads listing is located.
+        "verticalAdsListingRegion": "A String", # The region where the vertical ads listing is located.
+        "verticalAdsPartnerAccount": "A String", # A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.
+        "verticalAdsVertical": "A String", # Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.
+        "week": "A String", # Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd.
+        "year": 42, # Year, formatted as yyyy.
+      },
+      "sharedCriterion": { # A criterion belonging to a shared set. # The shared set referenced in the query.
+        "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+          "displayName": "A String", # Output only. A text representation of a brand.
+          "entityId": "A String", # The Commercial KG MID for the brand.
+          "primaryUrl": "A String", # Output only. The primary url of a brand.
+          "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+          "status": "A String", # Output only. The status of a brand.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+        "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+        "type": "A String", # Output only. The type of the criterion.
+        "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+          "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+          "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+          "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+          "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+          "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "sharedSet": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # The shared set referenced in the query.
+        "id": "A String", # Output only. The ID of this shared set. Read only.
+        "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+        "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+        "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+        "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "status": "A String", # Output only. The status of this shared set. Read only.
+        "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+        "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+      },
+      "shoppingPerformanceView": { # Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from "Product attributes" in the report editor. For example, selecting the "Brand" column is equivalent to selecting `segments.product_brand`. # The shopping performance view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id}/shoppingPerformanceView`
+      },
+      "shoppingProduct": { # A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed. # The shopping product referenced in the query.
+        "adGroup": "A String", # Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`.
+        "availability": "A String", # Output only. The availability of the product as provided by the merchant.
+        "brand": "A String", # Output only. The brand of the product as provided by the merchant.
+        "campaign": "A String", # Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.
+        "categoryLevel1": "A String", # Output only. The category level 1 of the product.
+        "categoryLevel2": "A String", # Output only. The category level 2 of the product.
+        "categoryLevel3": "A String", # Output only. The category level 3 of the product.
+        "categoryLevel4": "A String", # Output only. The category level 4 of the product.
+        "categoryLevel5": "A String", # Output only. The category level 5 of the product.
+        "channel": "A String", # Output only. The product channel describing the locality of the product.
+        "channelExclusivity": "A String", # Output only. The channel exclusivity of the product as provided by the merchant.
+        "condition": "A String", # Output only. The condition of the product as provided by the merchant.
+        "currencyCode": "A String", # Output only. The currency code as provided by the merchant, in ISO 4217 format.
+        "customAttribute0": "A String", # Output only. The custom attribute 0 of the product as provided by the merchant.
+        "customAttribute1": "A String", # Output only. The custom attribute 1 of the product as provided by the merchant.
+        "customAttribute2": "A String", # Output only. The custom attribute 2 of the product as provided by the merchant.
+        "customAttribute3": "A String", # Output only. The custom attribute 3 of the product as provided by the merchant.
+        "customAttribute4": "A String", # Output only. The custom attribute 4 of the product as provided by the merchant.
+        "effectiveMaxCpcMicros": "A String", # Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update.
+        "feedLabel": "A String", # Output only. The product feed label as provided by the merchant.
+        "issues": [ # Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
+          { # An issue affecting whether a product can show in ads.
+            "adsSeverity": "A String", # Output only. The severity of the issue in Google Ads.
+            "affectedRegions": [ # Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.
+              "A String",
+            ],
+            "attributeName": "A String", # Output only. The name of the product's attribute, if any, that triggered the issue.
+            "description": "A String", # Output only. The short description of the issue in English.
+            "detail": "A String", # Output only. The detailed description of the issue in English.
+            "documentation": "A String", # Output only. The URL of the Help Center article for the issue.
+            "errorCode": "A String", # Output only. The error code that identifies the issue.
+          },
+        ],
+        "itemId": "A String", # Output only. The item id of the product as provided by the merchant.
+        "languageCode": "A String", # Output only. The language code as provided by the merchant, in BCP 47 format.
+        "merchantCenterId": "A String", # Output only. The id of the merchant that owns the product.
+        "multiClientAccountId": "A String", # Output only. The id of the Multi Client Account of the merchant, if present.
+        "priceMicros": "A String", # Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000).
+        "productImageUri": "A String", # Output only. The URI of the product image as provided by the merchant.
+        "productTypeLevel1": "A String", # Output only. The product type level 1 as provided by the merchant.
+        "productTypeLevel2": "A String", # Output only. The product type level 2 as provided by the merchant.
+        "productTypeLevel3": "A String", # Output only. The product type level 3 as provided by the merchant.
+        "productTypeLevel4": "A String", # Output only. The product type level 4 as provided by the merchant.
+        "productTypeLevel5": "A String", # Output only. The product type level 5 as provided by the merchant.
+        "resourceName": "A String", # Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}`
+        "status": "A String", # Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
+        "targetCountries": [ # Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.
+          "A String",
+        ],
+        "title": "A String", # Output only. The title of the product as provided by the merchant.
+      },
+      "smartCampaignSearchTermView": { # A Smart campaign search term view. # The Smart campaign search term view referenced in the query.
+        "campaign": "A String", # Output only. The Smart campaign the search term served in.
+        "resourceName": "A String", # Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`
+        "searchTerm": "A String", # Output only. The search term.
+      },
+      "smartCampaignSetting": { # Settings for configuring Smart campaigns. # The Smart campaign setting referenced in the query.
+        "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+          "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+        },
+        "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+        "businessName": "A String", # The name of the business.
+        "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+        "campaign": "A String", # Output only. The campaign to which these settings apply.
+        "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+        "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+          "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+          "phoneNumber": "A String", # Phone number of the smart campaign.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+      },
+      "targetingExpansionView": { # A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting. # The Targeting expansion view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}`
+      },
+      "thirdPartyAppAnalyticsLink": { # A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer. # The AccountLink referenced in the query.
+        "resourceName": "A String", # Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}`
+        "shareableLinkId": "A String", # Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.
+      },
+      "topicConstant": { # Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # The topic constant referenced in the query.
+        "id": "A String", # Output only. The ID of the topic.
+        "path": [ # Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {"Pets & Animals", "Pets", "Dogs"} represents the "Pets & Animals/Pets/Dogs" category. List of available topic categories at https://developers.google.com/google-ads/api/reference/data/verticals
+          "A String",
+        ],
+        "resourceName": "A String", # Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id}`
+        "topicConstantParent": "A String", # Output only. Resource name of parent of the topic constant.
+      },
+      "topicView": { # A topic view. # The topic view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+      },
+      "travelActivityGroupView": { # A travel activity group view. # The travel activity group view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}`
+      },
+      "travelActivityPerformanceView": { # A travel activity performance view. # The travel activity performance view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id}/travelActivityPerformanceView`
+      },
+      "userInterest": { # A user interest: a particular interest-based vertical to be targeted. # The user interest referenced in the query.
+        "availabilities": [ # Output only. Availability information of the user interest.
+          { # Information of category availability, per advertising channel.
+            "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+              "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+                "A String",
+              ],
+              "advertisingChannelType": "A String", # Channel type the category is available to.
+              "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+              "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+            },
+            "locale": [ # Locales that are available to the category for the channel.
+              { # Information about which locales a category is available in.
+                "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+                "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+                "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+              },
+            ],
+          },
+        ],
+        "launchedToAll": True or False, # Output only. True if the user interest is launched to all channels and locales.
+        "name": "A String", # Output only. The name of the user interest.
+        "resourceName": "A String", # Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id}/userInterests/{user_interest_id}`
+        "taxonomyType": "A String", # Output only. Taxonomy type of the user interest.
+        "userInterestId": "A String", # Output only. The ID of the user interest.
+        "userInterestParent": "A String", # Output only. The parent of the user interest.
+      },
+      "userList": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # The user list referenced in the query.
+        "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+        "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+        "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+          "actions": [ # Actions associated with this user list.
+            { # Represents an action type used for building remarketing user lists.
+              "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+              "remarketingAction": "A String", # A remarketing action.
+            },
+          ],
+        },
+        "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+        "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+          "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+          "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+          "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+        },
+        "description": "A String", # Description of this user list.
+        "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+        "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+        "id": "A String", # Output only. Id of the user list.
+        "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+        "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+          "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+            { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+              "operator": "A String", # The logical operator of the rule.
+              "ruleOperands": [ # The list of operands of the rule.
+                { # Operand of logical user list that consists of a user list.
+                  "userList": "A String", # Resource name of a user list as an operand.
+                },
+              ],
+            },
+          ],
+        },
+        "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+          "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+            "A String",
+          ],
+          "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+          "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+            "A String",
+          ],
+        },
+        "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+        "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+        "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+        "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+        "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+        "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+        "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+          "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+            "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+          },
+          "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+        },
+        "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+          "seedUserList": "A String", # Seed UserList from which this list is derived.
+        },
+        "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+        "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+        "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+        "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+        "type": "A String", # Output only. Type of this list. This field is read-only.
+      },
+      "userListCustomerType": { # A user list customer type # The user list customer type in the query.
+        "customerTypeCategory": "A String", # Immutable. The user list customer type category
+        "resourceName": "A String", # Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`
+        "userList": "A String", # Immutable. The resource name for the user list this user list customer type is associated with
+      },
+      "userLocationView": { # A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country. # The user location view referenced in the query.
+        "countryCriterionId": "A String", # Output only. Criterion Id for the country.
+        "resourceName": "A String", # Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+        "targetingLocation": True or False, # Output only. Indicates whether location was targeted or not.
+      },
+      "video": { # The video referenced in the query.
+        "channelId": "A String", # Output only. The owner channel id of the video.
+        "durationMillis": "A String", # Output only. The duration of the video in milliseconds.
+        "id": "A String", # Output only. The ID of the video.
+        "resourceName": "A String", # Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id}/videos/{video_id}`
+        "title": "A String", # Output only. The title of the video.
+      },
+      "visit": { # A visit. # The event level visit referenced in the query.
+        "adId": "A String", # Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
+        "assetFieldType": "A String", # Output only. Asset field type of the visit event.
+        "assetId": "A String", # Output only. ID of the asset which was interacted with during the visit event.
+        "clickId": "A String", # Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter.
+        "criterionId": "A String", # Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed.
+        "id": "A String", # Output only. The ID of the visit.
+        "merchantId": "A String", # Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
+        "productChannel": "A String", # Output only. The sales channel of the product that was clicked on: Online or Local.
+        "productCountryCode": "A String", # Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on.
+        "productId": "A String", # Output only. The ID of the product clicked on.
+        "productLanguageCode": "A String", # Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
+        "productStoreId": "A String", # Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
+        "resourceName": "A String", # Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}`
+        "visitDateTime": "A String", # Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      },
+      "webpageView": { # A webpage view. # The webpage view referenced in the query.
+        "resourceName": "A String", # Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`
+      },
+    },
+  ],
+  "summaryRow": { # A returned row from the query. # Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc.
+    "accessibleBiddingStrategy": { # Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes. # The accessible bidding strategy referenced in the query.
+      "id": "A String", # Output only. The ID of the bidding strategy.
+      "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+        "targetRoas": 3.14, # Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+      },
+      "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+        "targetCpaMicros": "A String", # Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.
+      },
+      "name": "A String", # Output only. The name of the bidding strategy.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the bidding strategy.
+      "ownerDescriptiveName": "A String", # Output only. descriptive_name of the Customer which owns the bidding strategy.
+      "resourceName": "A String", # Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`
+      "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+        "targetCpaMicros": "A String", # Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+      },
+      "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+        "cpcBidCeilingMicros": "A String", # Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+        "location": "A String", # Output only. The targeted location on the search results page.
+        "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+      },
+      "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+        "targetRoas": 3.14, # Output only. The chosen revenue (based on conversion data) per unit of spend.
+      },
+      "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+        "cpcBidCeilingMicros": "A String", # Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+        "targetSpendMicros": "A String", # Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+      },
+      "type": "A String", # Output only. The type of the bidding strategy.
+    },
+    "accountBudget": { # An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical. # The account budget in the query.
+      "adjustedSpendingLimitMicros": "A String", # Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.
+      "adjustedSpendingLimitType": "A String", # Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.
+      "amountServedMicros": "A String", # Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).
+      "approvedEndDateTime": "A String", # Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.
+      "approvedEndTimeType": "A String", # Output only. The approved end time as a well-defined type, for example, FOREVER.
+      "approvedSpendingLimitMicros": "A String", # Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.
+      "approvedSpendingLimitType": "A String", # Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE.
+      "approvedStartDateTime": "A String", # Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.
+      "billingSetup": "A String", # Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`
+      "id": "A String", # Output only. The ID of the account-level budget.
+      "name": "A String", # Output only. The name of the account-level budget.
+      "notes": "A String", # Output only. Notes associated with the budget.
+      "pendingProposal": { # A pending proposal associated with the enclosing account-level budget, if applicable. # Output only. The pending proposal to modify this budget, if applicable.
+        "accountBudgetProposal": "A String", # Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+        "creationDateTime": "A String", # Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.
+        "endDateTime": "A String", # Output only. The end time in yyyy-MM-dd HH:mm:ss format.
+        "endTimeType": "A String", # Output only. The end time as a well-defined type, for example, FOREVER.
+        "name": "A String", # Output only. The name to assign to the account-level budget.
+        "notes": "A String", # Output only. Notes associated with this budget.
+        "proposalType": "A String", # Output only. The type of this proposal, for example, END to end the budget associated with this proposal.
+        "purchaseOrderNumber": "A String", # Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
+        "spendingLimitMicros": "A String", # Output only. The spending limit in micros. One million is equivalent to one unit.
+        "spendingLimitType": "A String", # Output only. The spending limit as a well-defined type, for example, INFINITE.
+        "startDateTime": "A String", # Output only. The start time in yyyy-MM-dd HH:mm:ss format.
+      },
+      "proposedEndDateTime": "A String", # Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.
+      "proposedEndTimeType": "A String", # Output only. The proposed end time as a well-defined type, for example, FOREVER.
+      "proposedSpendingLimitMicros": "A String", # Output only. The proposed spending limit in micros. One million is equivalent to one unit.
+      "proposedSpendingLimitType": "A String", # Output only. The proposed spending limit as a well-defined type, for example, INFINITE.
+      "proposedStartDateTime": "A String", # Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.
+      "purchaseOrderNumber": "A String", # Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.
+      "resourceName": "A String", # Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`
+      "status": "A String", # Output only. The status of this account-level budget.
+      "totalAdjustmentsMicros": "A String", # Output only. The total adjustments amount. An example of an adjustment is courtesy credits.
+    },
+    "accountBudgetProposal": { # An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty. # The account budget proposal referenced in the query.
+      "accountBudget": "A String", # Immutable. The resource name of the account-level budget associated with this proposal.
+      "approvalDateTime": "A String", # Output only. The date time when this account-level budget was approved, if applicable.
+      "approvedEndDateTime": "A String", # Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.
+      "approvedEndTimeType": "A String", # Output only. The approved end date time as a well-defined type, for example, FOREVER.
+      "approvedSpendingLimitMicros": "A String", # Output only. The approved spending limit in micros. One million is equivalent to one unit.
+      "approvedSpendingLimitType": "A String", # Output only. The approved spending limit as a well-defined type, for example, INFINITE.
+      "approvedStartDateTime": "A String", # Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.
+      "billingSetup": "A String", # Immutable. The resource name of the billing setup associated with this proposal.
+      "creationDateTime": "A String", # Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.
+      "id": "A String", # Output only. The ID of the proposal.
+      "proposalType": "A String", # Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.
+      "proposedEndDateTime": "A String", # Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+      "proposedEndTimeType": "A String", # Immutable. The proposed end date time as a well-defined type, for example, FOREVER.
+      "proposedName": "A String", # Immutable. The name to assign to the account-level budget.
+      "proposedNotes": "A String", # Immutable. Notes associated with this budget.
+      "proposedPurchaseOrderNumber": "A String", # Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.
+      "proposedSpendingLimitMicros": "A String", # Immutable. The proposed spending limit in micros. One million is equivalent to one unit.
+      "proposedSpendingLimitType": "A String", # Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.
+      "proposedStartDateTime": "A String", # Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+      "proposedStartTimeType": "A String", # Immutable. The proposed start date time as a well-defined type, for example, NOW.
+      "resourceName": "A String", # Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+      "status": "A String", # Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.
+    },
+    "accountLink": { # Represents the data sharing connection between a Google Ads account and another account # The AccountLink referenced in the query.
+      "accountLinkId": "A String", # Output only. The ID of the link. This field is read only.
+      "resourceName": "A String", # Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`
+      "status": "A String", # The status of the link.
+      "thirdPartyAppAnalytics": { # The identifiers of a Third Party App Analytics Link. # Immutable. A third party app analytics link.
+        "appAnalyticsProviderId": "A String", # Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+        "appId": "A String", # Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+        "appVendor": "A String", # Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.
+      },
+      "type": "A String", # Output only. The type of the linked account.
+    },
+    "ad": { # An ad. # The Ad referenced in the query.
+      "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+      "appAd": { # An app ad. # Details pertaining to an app ad.
+        "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+          "asset": "A String", # The Asset resource name of this app deep link asset.
+        },
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+          { # A media bundle asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this media bundle.
+          },
+        ],
+        "images": [ # List of image assets that may be displayed with the ad.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "images": [ # List of image assets that may be displayed with the ad.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "videos": [ # List of video assets that may be displayed with the ad.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "images": [ # List of image asset IDs whose images may be displayed with the ad.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+        "businessName": "A String", # Required. The Advertiser/brand name.
+        "callToActionText": "A String", # Call to action text.
+        "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+          { # A Demand Gen carousel card asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this discovery carousel card.
+          },
+        ],
+        "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+          "asset": "A String", # The Asset resource name of this image.
+        },
+      },
+      "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+        "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+        "callToActionText": "A String", # Call to action text.
+        "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+      },
+      "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+        "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+        "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+        "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+          "asset": "A String", # The Asset resource name of this call to action asset.
+        },
+        "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+          "asset": "A String", # The Asset resource name of this image.
+        },
+      },
+      "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+        "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+        "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+        "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+          { # A call to action asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this call to action asset.
+          },
+        ],
+        "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "descriptions": [ # List of text assets used for the description.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets used for the short headline.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "longHeadlines": [ # List of text assets used for the long headline.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "videos": [ # List of YouTube video assets used for the ad.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+      "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+        "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+        "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+          "asset": "A String", # The Asset resource name of this media bundle.
+        },
+      },
+      "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+      "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+        "description": "A String", # The description of the ad.
+        "description2": "A String", # The second description of the ad.
+      },
+      "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+        "description": "A String", # The description of the ad.
+        "description2": "A String", # The second description of the ad.
+        "headlinePart1": "A String", # The first part of the ad's headline.
+        "headlinePart2": "A String", # The second part of the ad's headline.
+        "headlinePart3": "A String", # The third part of the ad's headline.
+        "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+        "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+      },
+      "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+        { # A URL for deep linking into an app for the given operating system.
+          "osType": "A String", # The operating system targeted by this URL. Required.
+          "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+        },
+      ],
+      "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+        "A String",
+      ],
+      "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+      "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+        "A String",
+      ],
+      "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+      },
+      "id": "A String", # Output only. The ID of the ad.
+      "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+        "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+        "data": "A String", # Raw image data as bytes.
+        "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+          "asset": "A String", # The Asset resource name of this image.
+        },
+        "imageUrl": "A String", # URL of the full size image.
+        "mimeType": "A String", # The mime type of the image.
+        "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+        "pixelHeight": "A String", # Height in pixels of the full size image.
+        "pixelWidth": "A String", # Width in pixels of the full size image.
+        "previewImageUrl": "A String", # URL of the preview size image.
+        "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+        "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+      },
+      "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+        "appId": "A String", # The ID of the mobile app.
+        "appStore": "A String", # The app store the mobile app is available in.
+        "description1": "A String", # The first description line of the ad.
+        "description2": "A String", # The second description line of the ad.
+        "headline": "A String", # The headline of the ad.
+      },
+      "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+        "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+        "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+        "businessName": "A String", # The business name in the ad.
+        "callToActionText": "A String", # The call-to-action text for the ad.
+        "description": "A String", # The description of the ad.
+        "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+        "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+        "longHeadline": "A String", # The long version of the ad's headline.
+        "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+        "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+        "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+        "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+        "shortHeadline": "A String", # The short version of the ad's headline.
+        "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+        "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+      },
+      "localAd": { # A local ad. # Details pertaining to a local ad.
+        "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+        "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+        "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+      "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+      "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+        "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+        "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+        "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+        "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+        "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+          "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+          "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+        },
+        "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+        "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+          "assetPerformanceLabel": "A String", # The performance label of this text asset.
+          "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+          "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+            "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Where in the review process this asset.
+          },
+          "text": "A String", # Asset text.
+        },
+        "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+        "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+        "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+        "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+          { # An image asset used inside an ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        ],
+        "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+          { # A video asset used inside an ad.
+            "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+              "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+              },
+            },
+            "asset": "A String", # The Asset resource name of this video.
+          },
+        ],
+      },
+      "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "path1": "A String", # First part of text that can be appended to the URL in the ad.
+        "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+      },
+      "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+        "adTrackingId": "A String", # The tracking id of the ad.
+        "description1": "A String", # The first line of the ad's description.
+        "description2": "A String", # The second line of the ad's description.
+      },
+      "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+        "adTrackingId": "A String", # The tracking id of the ad.
+        "description1": "A String", # The first line of the ad's description.
+        "description2": "A String", # The second line of the ad's description.
+        "headline": "A String", # The headline of the ad.
+        "headline2": "A String", # The second headline of the ad.
+        "headline3": "A String", # The third headline of the ad.
+        "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+        "path2": "A String", # Text appended to path1 with a delimiter.
+      },
+      "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+        "adTrackingId": "A String", # The tracking id of the ad.
+        "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+        "path2": "A String", # Text appended to path1 with a delimiter.
+      },
+      "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+        "adTrackingId": "A String", # The tracking id of the ad.
+        "description1": "A String", # The first line of the ad's description.
+        "description2": "A String", # The second line of the ad's description.
+        "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+        "displayUrl": "A String", # The displayed URL of the ad.
+        "headline": "A String", # The headline of the ad.
+      },
+      "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+        "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+      },
+      "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+      },
+      "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+      },
+      "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+        "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+        "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+          { # A text asset used inside an ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+        ],
+      },
+      "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+      "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+        "description1": "A String", # The first line of the ad's description.
+        "description2": "A String", # The second line of the ad's description.
+        "headline": "A String", # The headline of the ad.
+      },
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+      "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+      },
+      "type": "A String", # Output only. The type of ad.
+      "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+        { # Collection of urls that is tagged with a unique identifier.
+          "finalMobileUrls": [ # A list of possible final mobile URLs.
+            "A String",
+          ],
+          "finalUrls": [ # A list of possible final URLs.
+            "A String",
+          ],
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+        },
+      ],
+      "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+        { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          "key": "A String", # The key matching the parameter tag name.
+          "value": "A String", # The value to be substituted.
+        },
+      ],
+    },
+    "adGroup": { # An ad group. # The ad group referenced in the query.
+      "adRotationMode": "A String", # The ad rotation mode of the ad group.
+      "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+        "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+      },
+      "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+        "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+      },
+      "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+      "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+      "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+      "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+      "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+      "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+        "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+          "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+          "channelStrategy": "A String", # High level channel strategy.
+          "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+            "discover": True or False, # Whether to enable ads on the Discover channel.
+            "display": True or False, # Whether to enable ads on the Display channel.
+            "gmail": True or False, # Whether to enable ads on the Gmail channel.
+            "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+            "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+            "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+          },
+        },
+      },
+      "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+      "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+      "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+        "A String",
+      ],
+      "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+      "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+      "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+      "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+      "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+      "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+      "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+      "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+      "engineStatus": "A String", # Output only. The Engine Status for ad group.
+      "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+      "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+        "A String",
+      ],
+      "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+        "A String",
+      ],
+      "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+      "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+      "id": "A String", # Output only. The ID of the ad group.
+      "labels": [ # Output only. The resource names of labels attached to this ad group.
+        "A String",
+      ],
+      "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+      "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+      "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+      "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+      "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+      "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+      "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+      "status": "A String", # The status of the ad group.
+      "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+      "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+      "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+      "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+      "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+      "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+        "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+          { # Operation to be performed on a target restriction list in a mutate.
+            "operator": "A String", # Type of list operation to perform.
+            "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          },
+        ],
+        "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+          { # The list of per-targeting-dimension targeting settings.
+            "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+            "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+          },
+        ],
+      },
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+      "type": "A String", # Immutable. The type of the ad group.
+      "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+        { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          "key": "A String", # The key matching the parameter tag name.
+          "value": "A String", # The value to be substituted.
+        },
+      ],
+      "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+        "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+        "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+        "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+      },
+    },
+    "adGroupAd": { # An ad group ad. # The ad referenced in the query.
+      "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+        "A String",
+      ],
+      "ad": { # An ad. # Immutable. The ad.
+        "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+        "appAd": { # An app ad. # Details pertaining to an app ad.
+          "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+            "asset": "A String", # The Asset resource name of this app deep link asset.
+          },
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+            { # A media bundle asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image assets that may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "videos": [ # List of video assets that may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "images": [ # List of image asset IDs whose images may be displayed with the ad.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+          "businessName": "A String", # Required. The Advertiser/brand name.
+          "callToActionText": "A String", # Call to action text.
+          "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+            { # A Demand Gen carousel card asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this discovery carousel card.
+            },
+          ],
+          "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+          "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+          "callToActionText": "A String", # Call to action text.
+          "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+        },
+        "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+            "asset": "A String", # The Asset resource name of this call to action asset.
+          },
+          "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            "asset": "A String", # The Asset resource name of this image.
+          },
+        },
+        "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+          "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+          "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+          "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+            { # A call to action asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+          ],
+          "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "descriptions": [ # List of text assets used for the description.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets used for the short headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadlines": [ # List of text assets used for the long headline.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "videos": [ # List of YouTube video assets used for the ad.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+        "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+          "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+          "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+            "asset": "A String", # The Asset resource name of this media bundle.
+          },
+        },
+        "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+        "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+        },
+        "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+          "description": "A String", # The description of the ad.
+          "description2": "A String", # The second description of the ad.
+          "headlinePart1": "A String", # The first part of the ad's headline.
+          "headlinePart2": "A String", # The second part of the ad's headline.
+          "headlinePart3": "A String", # The third part of the ad's headline.
+          "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+          "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+        },
+        "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+          { # A URL for deep linking into an app for the given operating system.
+            "osType": "A String", # The operating system targeted by this URL. Required.
+            "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+          },
+        ],
+        "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+        "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+          "A String",
+        ],
+        "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+        },
+        "id": "A String", # Output only. The ID of the ad.
+        "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+          "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+          "data": "A String", # Raw image data as bytes.
+          "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+            "asset": "A String", # The Asset resource name of this image.
+          },
+          "imageUrl": "A String", # URL of the full size image.
+          "mimeType": "A String", # The mime type of the image.
+          "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+          "pixelHeight": "A String", # Height in pixels of the full size image.
+          "pixelWidth": "A String", # Width in pixels of the full size image.
+          "previewImageUrl": "A String", # URL of the preview size image.
+          "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+          "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+        },
+        "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+          "appId": "A String", # The ID of the mobile app.
+          "appStore": "A String", # The app store the mobile app is available in.
+          "description1": "A String", # The first description line of the ad.
+          "description2": "A String", # The second description line of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The business name in the ad.
+          "callToActionText": "A String", # The call-to-action text for the ad.
+          "description": "A String", # The description of the ad.
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+          "longHeadline": "A String", # The long version of the ad's headline.
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "shortHeadline": "A String", # The short version of the ad's headline.
+          "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+          "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+        },
+        "localAd": { # A local ad. # Details pertaining to a local ad.
+          "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+        "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+        "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+          "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+          "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+          "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+          "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+            "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+            "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+          },
+          "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+          "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+            "assetPerformanceLabel": "A String", # The performance label of this text asset.
+            "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+            "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+              "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Where in the review process this asset.
+            },
+            "text": "A String", # Asset text.
+          },
+          "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+          "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+          "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+          "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+            { # An image asset used inside an ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          ],
+          "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+            { # A video asset used inside an ad.
+              "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                  "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                },
+              },
+              "asset": "A String", # The Asset resource name of this video.
+            },
+          ],
+        },
+        "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # First part of text that can be appended to the URL in the ad.
+          "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+        },
+        "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+        },
+        "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+          "headline2": "A String", # The second headline of the ad.
+          "headline3": "A String", # The third headline of the ad.
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+          "path2": "A String", # Text appended to path1 with a delimiter.
+        },
+        "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+          "adTrackingId": "A String", # The tracking id of the ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+          "displayUrl": "A String", # The displayed URL of the ad.
+          "headline": "A String", # The headline of the ad.
+        },
+        "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+          "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+        },
+        "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+        },
+        "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+        },
+        "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+          "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+          "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+            { # A text asset used inside an ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+          ],
+        },
+        "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+        "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+          "description1": "A String", # The first line of the ad's description.
+          "description2": "A String", # The second line of the ad's description.
+          "headline": "A String", # The headline of the ad.
+        },
+        "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+        "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+        },
+        "type": "A String", # Output only. The type of ad.
+        "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+          { # Collection of urls that is tagged with a unique identifier.
+            "finalMobileUrls": [ # A list of possible final mobile URLs.
+              "A String",
+            ],
+            "finalUrls": [ # A list of possible final URLs.
+              "A String",
+            ],
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+          },
+        ],
+        "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+          { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            "key": "A String", # The key matching the parameter tag name.
+            "value": "A String", # The value to be substituted.
+          },
+        ],
+      },
+      "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+      "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+        { # Asset automation setting for an AdGroupAd.
+          "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+          "assetAutomationType": "A String", # The asset automation type that this setting configures.
+        },
+      ],
+      "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+      "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+        "A String",
+      ],
+      "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+      "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+      "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+        "A String",
+      ],
+      "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+        "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+        "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+          { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+            "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+              { # Describes the effect on serving that a policy topic entry will have.
+                "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                },
+              },
+            ],
+            "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+              { # Additional information that explains a policy finding.
+                "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                  "urlTypes": [ # The set of URLs that did not match each other.
+                    "A String",
+                  ],
+                },
+                "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                  "device": "A String", # The type of device that failed to load the URL.
+                  "dnsErrorType": "A String", # The type of DNS error.
+                  "expandedUrl": "A String", # The full URL that didn't work.
+                  "httpErrorCode": "A String", # The HTTP error code.
+                  "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                },
+                "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                  "destinationTexts": [ # List of text found in the resource's destination page.
+                    "A String",
+                  ],
+                },
+                "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                  "texts": [ # The fragments of text from the resource that caused the policy finding.
+                    "A String",
+                  ],
+                },
+                "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                  "websites": [ # Websites that caused the policy finding.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+            "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+          },
+        ],
+        "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+      },
+      "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+      "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+      "status": "A String", # The status of the ad.
+    },
+    "adGroupAdAssetCombinationView": { # A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future. # The ad group ad asset combination view in the query.
+      "enabled": True or False, # Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
+      "resourceName": "A String", # Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}`
+      "servedAssets": [ # Output only. Served assets.
+        { # Contains the usage information of the asset.
+          "asset": "A String", # Resource name of the asset.
+          "servedAssetFieldType": "A String", # The served field type of the asset.
+        },
+      ],
+    },
+    "adGroupAdAssetView": { # Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads. # The ad group ad asset view in the query.
+      "adGroupAd": "A String", # Output only. The ad group ad to which the asset is linked.
+      "asset": "A String", # Output only. The asset which is linked to the ad group ad.
+      "enabled": True or False, # Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.
+      "fieldType": "A String", # Output only. Role that the asset takes in the ad.
+      "performanceLabel": "A String", # Output only. Performance of an asset linkage.
+      "pinnedField": "A String", # Output only. Pinned field.
+      "policySummary": { # Contains policy information for an ad group ad asset. # Output only. Policy information for the ad group ad asset.
+        "approvalStatus": "A String", # Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries.
+        "policyTopicEntries": [ # Output only. The list of policy findings for the ad group ad asset.
+          { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+            "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+              { # Describes the effect on serving that a policy topic entry will have.
+                "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                },
+              },
+            ],
+            "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+              { # Additional information that explains a policy finding.
+                "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                  "urlTypes": [ # The set of URLs that did not match each other.
+                    "A String",
+                  ],
+                },
+                "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                  "device": "A String", # The type of device that failed to load the URL.
+                  "dnsErrorType": "A String", # The type of DNS error.
+                  "expandedUrl": "A String", # The full URL that didn't work.
+                  "httpErrorCode": "A String", # The HTTP error code.
+                  "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                },
+                "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                  "destinationTexts": [ # List of text found in the resource's destination page.
+                    "A String",
+                  ],
+                },
+                "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                  "texts": [ # The fragments of text from the resource that caused the policy finding.
+                    "A String",
+                  ],
+                },
+                "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                  "websites": [ # Websites that caused the policy finding.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+            "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+          },
+        ],
+        "reviewStatus": "A String", # Output only. Where in the review process this ad group ad asset is.
+      },
+      "resourceName": "A String", # Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}`
+      "source": "A String", # Output only. Source of the ad group ad asset.
+    },
+    "adGroupAdEffectiveLabel": { # A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad. # The ad group ad effective label referenced in the query.
+      "adGroupAd": "A String", # Immutable. The ad group ad to which the effective label is attached.
+      "label": "A String", # Immutable. The effective label assigned to the ad group ad.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}`
+    },
+    "adGroupAdLabel": { # A relationship between an ad group ad and a label. # The ad group ad label referenced in the query.
+      "adGroupAd": "A String", # Immutable. The ad group ad to which the label is attached.
+      "label": "A String", # Immutable. The label assigned to the ad group ad.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+    },
+    "adGroupAsset": { # A link between an ad group and an asset. # The ad group asset referenced in the query.
+      "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+      "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+      "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+      "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+      "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+        { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+          "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+            "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+              "A String",
+            ],
+          },
+          "reason": "A String", # Provides the reason of this PrimaryStatus.
+          "status": "A String", # Provides the PrimaryStatus of this status detail.
+        },
+      ],
+      "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+      "source": "A String", # Output only. Source of the adgroup asset link.
+      "status": "A String", # Status of the ad group asset.
+    },
+    "adGroupAssetSet": { # AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group. # The ad group asset set referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which this asset set is linked.
+      "assetSet": "A String", # Immutable. The asset set which is linked to the ad group.
+      "resourceName": "A String", # Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`
+      "status": "A String", # Output only. The status of the ad group asset set. Read-only.
+    },
+    "adGroupAudienceView": { # An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level. # The ad group audience view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+    },
+    "adGroupBidModifier": { # Represents an ad group bid modifier. # The bid modifier referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+      "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+      "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+      "bidModifierSource": "A String", # Output only. Bid modifier source.
+      "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+      "device": { # A device criterion. # Immutable. A device criterion.
+        "type": "A String", # Type of the device.
+      },
+      "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+        "maxDays": "A String", # High end of the number of days prior to the stay.
+        "minDays": "A String", # Low end of the number of days prior to the stay.
+      },
+      "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+        "endDate": "A String", # End date in the YYYY-MM-DD format.
+        "startDate": "A String", # Start date in the YYYY-MM-DD format.
+      },
+      "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+        "dayOfWeek": "A String", # The day of the week.
+      },
+      "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+        "type": "A String", # Type of the hotel date selection
+      },
+      "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+        "maxNights": "A String", # High end of the number of nights in the stay.
+        "minNights": "A String", # Low end of the number of nights in the stay.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+    },
+    "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # The criterion referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+      "ageRange": { # An age range criterion. # Immutable. Age range.
+        "type": "A String", # Type of the age range.
+      },
+      "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+        "type": "A String", # Type of the app payment model.
+      },
+      "approvalStatus": "A String", # Output only. Approval status of the criterion.
+      "audience": { # An audience criterion. # Immutable. Audience.
+        "audience": "A String", # The Audience resource name.
+      },
+      "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+      "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+        "sharedSet": "A String", # Shared set resource name of the brand list.
+      },
+      "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+        "combinedAudience": "A String", # The CombinedAudience resource name.
+      },
+      "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+      "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+      "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+      "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "criterionId": "A String", # Output only. The ID of the criterion.
+      "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+        "customAffinity": "A String", # The CustomInterest resource name.
+      },
+      "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+        "customAudience": "A String", # The CustomAudience resource name.
+      },
+      "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+        "customIntent": "A String", # The CustomInterest resource name.
+      },
+      "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+        "A String",
+      ],
+      "displayName": "A String", # Output only. The display name of the criterion.
+      "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+      "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+      "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+      "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+      "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+      "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+      "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+        "A String",
+      ],
+      "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+      "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+      "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+      "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+      "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+        "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+      },
+      "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+        "A String",
+      ],
+      "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+      "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+        "A String",
+      ],
+      "gender": { # A gender criterion. # Immutable. Gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRange": { # An income range criterion. # Immutable. Income range.
+        "type": "A String", # Type of the income range.
+      },
+      "keyword": { # A keyword criterion. # Immutable. Keyword.
+        "matchType": "A String", # The match type of the keyword.
+        "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+      },
+      "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+        "A String",
+      ],
+      "language": { # A language criterion. # Immutable. Language.
+        "languageConstant": "A String", # The language constant resource name.
+      },
+      "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+        "lifeEventId": "A String", # Taxonomy id of the life event.
+      },
+      "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+        "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+          "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+            "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+          },
+          "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+            "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+          },
+          "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+            "value": "A String", # String value of the activity ID.
+          },
+          "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+            "value": "A String", # Long value of the activity rating.
+          },
+          "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+            "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+          },
+          "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+            "cityCriterion": "A String", # The Geo Target Constant resource name.
+          },
+          "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+            "value": "A String", # Long value of the hotel class.
+          },
+          "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+            "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+          },
+          "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+            "value": "A String", # String value of the hotel ID.
+          },
+          "hotelState": { # State the hotel is located in. # State the hotel is located in.
+            "stateCriterion": "A String", # The Geo Target Constant resource name.
+          },
+          "productBrand": { # Brand of the product. # Brand of a product offer.
+            "value": "A String", # String value of the product brand.
+          },
+          "productCategory": { # Category of a product offer. # Category of a product offer.
+            "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+            "level": "A String", # Level of the product category.
+          },
+          "productChannel": { # Locality of a product offer. # Locality of a product offer.
+            "channel": "A String", # Value of the locality.
+          },
+          "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+            "channelExclusivity": "A String", # Value of the availability.
+          },
+          "productCondition": { # Condition of a product offer. # Condition of a product offer.
+            "condition": "A String", # Value of the condition.
+          },
+          "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+            "index": "A String", # Indicates the index of the custom attribute.
+            "value": "A String", # String value of the product custom attribute.
+          },
+          "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+            "value": "A String", # String value of the product grouping.
+          },
+          "productItemId": { # Item id of a product offer. # Item id of a product offer.
+            "value": "A String", # Value of the id.
+          },
+          "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+            "value": "A String", # String value of the product labels.
+          },
+          "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+            "value": "A String", # String value of the product legacy condition.
+          },
+          "productType": { # Type of a product offer. # Type of a product offer.
+            "level": "A String", # Level of the type.
+            "value": "A String", # Value of the type.
+          },
+          "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+            "value": "A String", # String value of the product full type.
+          },
+          "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+          },
+        },
+        "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+        "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+          "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+            { # Listing dimensions for listing group criterion.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+          ],
+        },
+        "type": "A String", # Type of the listing group.
+      },
+      "location": { # A location criterion. # Immutable. Location.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+      "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+        "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+      },
+      "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+        "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+        "name": "A String", # Name of this mobile application.
+      },
+      "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+      "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+        "type": "A String", # Type of the parental status.
+      },
+      "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+      "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+        "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+      },
+      "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+        "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+        "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+        "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+        "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+        "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+      },
+      "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+      "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+        "A String",
+      ],
+      "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+        "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+        "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+        "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+        "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+      "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+      "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+      "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+        "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+          "A String",
+        ],
+        "topicConstant": "A String", # The Topic Constant resource name.
+      },
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+      "type": "A String", # Output only. The type of the criterion.
+      "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+        { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          "key": "A String", # The key matching the parameter tag name.
+          "value": "A String", # The value to be substituted.
+        },
+      ],
+      "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+        "userInterestCategory": "A String", # The UserInterest resource name.
+      },
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+        "userList": "A String", # The User List resource name.
+      },
+      "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+        "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+      },
+      "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+        "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+      },
+      "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+        "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          { # Logical expression for targeting webpages of an advertiser's website.
+            "argument": "A String", # Argument of webpage targeting condition.
+            "operand": "A String", # Operand of webpage targeting condition.
+            "operator": "A String", # Operator of webpage targeting condition.
+          },
+        ],
+        "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+        "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+          "sampleUrls": [ # Webpage sample urls
+            "A String",
+          ],
+        },
+      },
+      "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+      },
+      "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+        "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+      },
+    },
+    "adGroupCriterionCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. # The ad group criterion customizer referenced in the query.
+      "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.
+      "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group criterion.
+      "resourceName": "A String", # Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`
+      "status": "A String", # Output only. The status of the ad group criterion customizer.
+      "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+        "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+        "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+      },
+    },
+    "adGroupCriterionEffectiveLabel": { # A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion. # The ad group criterion effective label referenced in the query.
+      "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the effective label is attached.
+      "label": "A String", # Immutable. The effective label assigned to the ad group criterion.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}`
+    },
+    "adGroupCriterionLabel": { # A relationship between an ad group criterion and a label. # The ad group criterion label referenced in the query.
+      "adGroupCriterion": "A String", # Immutable. The ad group criterion to which the label is attached.
+      "label": "A String", # Immutable. The label assigned to the ad group criterion.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+    },
+    "adGroupCriterionSimulation": { # An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM # The ad group criterion simulation referenced in the query.
+      "adGroupId": "A String", # Output only. AdGroup ID of the simulation.
+      "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+        "points": [ # Projected metrics for a series of CPC bid amounts.
+          { # Projected metrics for a specific CPC bid amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+            "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "criterionId": "A String", # Output only. Criterion ID of the simulation.
+      "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format.
+      "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+      "percentCpcBidPointList": { # A container for simulation points for simulations of type PERCENT_CPC_BID. # Output only. Simulation points if the simulation type is PERCENT_CPC_BID.
+        "points": [ # Projected metrics for a series of percent CPC bid amounts.
+          { # Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions in local currency.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "percentCpcBidMicros": "A String", # The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].
+            "topSlotImpressions": "A String", # Projected number of top slot impressions.
+          },
+        ],
+      },
+      "resourceName": "A String", # Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`
+      "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+      "type": "A String", # Output only. The field that the simulation modifies.
+    },
+    "adGroupCustomizer": { # A customizer value for the associated CustomizerAttribute at the AdGroup level. # The ad group customizer referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which the customizer attribute is linked.
+      "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the ad group.
+      "resourceName": "A String", # Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`
+      "status": "A String", # Output only. The status of the ad group customizer.
+      "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+        "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+        "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+      },
+    },
+    "adGroupEffectiveLabel": { # A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group. # The ad group effective label referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which the effective label is attached.
+      "label": "A String", # Immutable. The effective label assigned to the ad group.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}`
+    },
+    "adGroupLabel": { # A relationship between an ad group and a label. # The ad group label referenced in the query.
+      "adGroup": "A String", # Immutable. The ad group to which the label is attached.
+      "label": "A String", # Immutable. The label assigned to the ad group.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+      "resourceName": "A String", # Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+    },
+    "adGroupSimulation": { # An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM # The ad group simulation referenced in the query.
+      "adGroupId": "A String", # Output only. Ad group id of the simulation.
+      "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+        "points": [ # Projected metrics for a series of CPC bid amounts.
+          { # Projected metrics for a specific CPC bid amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+            "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "cpvBidPointList": { # A container for simulation points for simulations of type CPV_BID. # Output only. Simulation points if the simulation type is CPV_BID.
+        "points": [ # Projected metrics for a series of CPV bid amounts.
+          { # Projected metrics for a specific CPV bid amount.
+            "costMicros": "A String", # Projected cost in micros.
+            "cpvBidMicros": "A String", # The simulated CPV bid upon which projected metrics are based.
+            "impressions": "A String", # Projected number of impressions.
+            "views": "A String", # Projected number of views.
+          },
+        ],
+      },
+      "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+      "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+      "resourceName": "A String", # Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`
+      "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+      "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+        "points": [ # Projected metrics for a series of target CPA amounts.
+          { # Projected metrics for a specific target CPA amount.
+            "appInstalls": 3.14, # Projected number of app installs.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "inAppActions": 3.14, # Projected number of in-app actions.
+            "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+            "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+        "points": [ # Projected metrics for a series of target ROAS amounts.
+          { # Projected metrics for a specific target ROAS amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+          },
+        ],
+      },
+      "type": "A String", # Output only. The field that the simulation modifies.
+    },
+    "adParameter": { # An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value}". For example, "{param1:$17}" # The ad parameter referenced in the query.
+      "adGroupCriterion": "A String", # Immutable. The ad group criterion that this ad parameter belongs to.
+      "insertionText": "A String", # Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.
+      "parameterIndex": "A String", # Immutable. The unique index of this ad parameter. Must be either 1 or 2.
+      "resourceName": "A String", # Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+    },
+    "adScheduleView": { # An ad schedule view summarizes the performance of campaigns by AdSchedule criteria. # The ad schedule view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+    },
+    "ageRangeView": { # An age range view. # The age range view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+    },
+    "aiMaxSearchTermAdCombinationView": { # AiMaxSearchTermAdCombinationView Resource. # The AI Max search term ad combination view referenced in the query.
+      "adGroup": "A String", # Output only. Ad group where the search term served.
+      "headline": "A String", # Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by " | ". This field is read-only.
+      "landingPage": "A String", # Output only. The destination URL, which was dynamically generated. This field is read-only.
+      "resourceName": "A String", # Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}`
+      "searchTerm": "A String", # Output only. The search term that triggered the ad. This field is read-only.
+    },
+    "androidPrivacySharedKeyGoogleAdGroup": { # An Android privacy shared key view for Google ad group key. # The android privacy shared key google ad group referenced in the query.
+      "adGroupId": "A String", # Output only. The ad group ID used in the share key encoding.
+      "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+      "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+      "androidPrivacyNetworkType": "A String", # Output only. The network type enum used in the share key encoding.
+      "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+      "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+      "sharedAdGroupKey": "A String", # Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+    },
+    "androidPrivacySharedKeyGoogleCampaign": { # An Android privacy shared key view for Google campaign key. # The android privacy shared key google campaign referenced in the query.
+      "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+      "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+      "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+      "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+      "sharedCampaignKey": "A String", # Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+    },
+    "androidPrivacySharedKeyGoogleNetworkType": { # An Android privacy shared key view for Google network type key. # The android privacy shared key google network type referenced in the query.
+      "androidPrivacyInteractionDate": "A String", # Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone.
+      "androidPrivacyInteractionType": "A String", # Output only. The interaction type enum used in the share key encoding.
+      "androidPrivacyNetworkType": "A String", # Output only. The network type enum used in the share key encoding.
+      "campaignId": "A String", # Output only. The campaign ID used in the share key encoding.
+      "resourceName": "A String", # Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`
+      "sharedNetworkTypeKey": "A String", # Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.
+    },
+    "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # The asset referenced in the query.
+      "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+        "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+      },
+      "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+      },
+      "businessMessageAsset": { # A business message asset. # A business message asset.
+        "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+          "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+          "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+        },
+        "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+          "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+        },
+        "messageProvider": "A String", # Required. Message provider of the business message asset.
+        "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+        "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+          "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+          "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+        },
+        "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+          "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+          "oaId": "A String", # Zalo Official Account ID of the advertiser.
+        },
+      },
+      "callAsset": { # A Call asset. # A call asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+        "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+        "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+        "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+      },
+      "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+        "callToAction": "A String", # Call to action.
+      },
+      "calloutAsset": { # A Callout asset. # A callout asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+      },
+      "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+        "callToActionText": "A String", # Call to action text.
+        "headline": "A String", # Required. Headline of the carousel card.
+        "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+        "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+        "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+      },
+      "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+          "A String",
+        ],
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+        "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+        "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+        "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+        "itemCategory": "A String", # Item category, for example, Sedans.
+        "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+        "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+        "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+        "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+        "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+        "similarIds": [ # Similar IDs.
+          "A String",
+        ],
+      },
+      "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+        "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+          "A String",
+        ],
+        "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+        "programDescription": "A String", # Program description, for example, Nursing Certification.
+        "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "programName": "A String", # Required. Program name, for example, Nursing. Required.
+        "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+        "similarProgramIds": [ # Similar program IDs.
+          "A String",
+        ],
+        "subject": "A String", # Subject of study, for example, Health.
+        "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+      },
+      "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+        "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "destinationName": "A String", # Destination name, for example, Paris.
+        "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+        "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+        "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+        "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+        "originName": "A String", # Origin name, for example, London.
+        "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+          "A String",
+        ],
+      },
+      "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+        "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "category": "A String", # Category, for example, Hotel suite.
+        "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+          "A String",
+        ],
+        "description": "A String", # Description, for example, Close to SJC Airport.
+        "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+        "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+        "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+        "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+        "similarPropertyIds": [ # Similar property IDs.
+          "A String",
+        ],
+        "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+      },
+      "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+        "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+          "A String",
+        ],
+        "description": "A String", # Description, for example, Apply your technical skills.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "jobCategory": "A String", # Job category, for example, Technical.
+        "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+        "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+        "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+        "salary": "A String", # Salary, for example, $100,000.
+        "similarJobIds": [ # Similar job IDs, for example, 1275.
+          "A String",
+        ],
+      },
+      "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+        "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "category": "A String", # Category, for example, Food.
+        "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+          "A String",
+        ],
+        "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+        "description": "A String", # Description, for example, Save on your weekly bill.
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+        "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+        "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+        "similarDealIds": [ # Similar deal IDs, for example, 1275.
+          "A String",
+        ],
+        "subtitle": "A String", # Subtitle, for example, Groceries.
+      },
+      "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+        "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "cityName": "A String", # City name, for example, Mountain View, California.
+        "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+          "A String",
+        ],
+        "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+        "listingType": "A String", # Listing type, for example, For sale.
+        "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+        "propertyType": "A String", # Property type, for example, House.
+        "similarListingIds": [ # Similar listing IDs.
+          "A String",
+        ],
+      },
+      "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+        "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+        "category": "A String", # Category, for example, Express.
+        "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+          "A String",
+        ],
+        "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+        "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+        "destinationName": "A String", # Destination name, for example, Paris.
+        "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+        "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+        "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+        "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+        "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+        "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+        "originName": "A String", # Origin name, for example, London.
+        "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+        "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+        "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+          "A String",
+        ],
+        "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+      },
+      "engineStatus": "A String", # Output only. The Engine Status for an asset.
+      "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+        { # Contains policy information for an asset under AssetFieldType context.
+          "assetFieldType": "A String", # Output only. FieldType of this asset.
+          "assetSource": "A String", # Output only. Source of this asset.
+          "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+        },
+      ],
+      "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+        "A String",
+      ],
+      "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+      "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+        "A String",
+      ],
+      "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+        "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+        "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+      },
+      "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+        "hotelAddress": "A String", # Address of the hotel. Read-only.
+        "hotelName": "A String", # Name of the hotel. Read-only.
+        "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+      },
+      "id": "A String", # Output only. The ID of the asset.
+      "imageAsset": { # An Image asset. # Output only. An image asset.
+        "data": "A String", # The raw bytes data of an image. This field is mutate only.
+        "fileSize": "A String", # File size of the image asset in bytes.
+        "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+          "heightPixels": "A String", # Height of the image.
+          "url": "A String", # A URL that returns the image with this height and width.
+          "widthPixels": "A String", # Width of the image.
+        },
+        "mimeType": "A String", # MIME type of the image asset.
+      },
+      "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+        "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+        "businessName": "A String", # Required. The name of the business being advertised.
+        "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+        "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+        "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+        "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+          { # One custom question input field instance within a form.
+            "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+            "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+            "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+              "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+          { # A configuration of how leads are delivered to the advertiser.
+            "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+              "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+              "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+              "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+            },
+          },
+        ],
+        "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+        "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+        "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+          { # One input field instance within a form.
+            "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+            "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+            "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+              "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                "A String",
+              ],
+            },
+          },
+        ],
+        "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+        "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+        "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+        "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+        "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+      },
+      "locationAsset": { # A location asset. # Output only. A location asset.
+        "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+          { # Business Profile location data synced from the linked Business Profile account.
+            "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+              "A String",
+            ],
+            "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+            "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+          },
+        ],
+        "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+        "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+      },
+      "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+        "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+      },
+      "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+        "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+        "appStore": "A String", # Required. The application store that distributes this specific app.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+      },
+      "name": "A String", # Optional name of the asset.
+      "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+      "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+        "labels": [ # Labels used to group the page urls.
+          "A String",
+        ],
+        "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+      },
+      "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+        "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+        "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+          { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+            "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+              { # Describes the effect on serving that a policy topic entry will have.
+                "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                },
+              },
+            ],
+            "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+              { # Additional information that explains a policy finding.
+                "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                  "urlTypes": [ # The set of URLs that did not match each other.
+                    "A String",
+                  ],
+                },
+                "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                  "device": "A String", # The type of device that failed to load the URL.
+                  "dnsErrorType": "A String", # The type of DNS error.
+                  "expandedUrl": "A String", # The full URL that didn't work.
+                  "httpErrorCode": "A String", # The HTTP error code.
+                  "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                },
+                "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                  "destinationTexts": [ # List of text found in the resource's destination page.
+                    "A String",
+                  ],
+                },
+                "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                  "texts": [ # The fragments of text from the resource that caused the policy finding.
+                    "A String",
+                  ],
+                },
+                "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                  "websites": [ # Websites that caused the policy finding.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+            "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+          },
+        ],
+        "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+      },
+      "priceAsset": { # An asset representing a list of price offers. # A price asset.
+        "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+        "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+          { # A single price offering within a PriceAsset.
+            "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+            "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+            "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+            "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+            "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "unit": "A String", # The price unit of the price offering.
+          },
+        ],
+        "priceQualifier": "A String", # The price qualifier of the price asset.
+        "type": "A String", # Required. The type of the price asset.
+      },
+      "promotionAsset": { # A Promotion asset. # A promotion asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "discountModifier": "A String", # A modifier for qualification of the discount.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+        "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+          "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+          "currencyCode": "A String", # Three-character ISO 4217 currency code.
+        },
+        "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+        "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+          "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+          "currencyCode": "A String", # Three-character ISO 4217 currency code.
+        },
+        "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+        "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+          "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+          "type": "A String", # Barcode type used to generate barcode with the correct format.
+        },
+        "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+        "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+          "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+        },
+        "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+        "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+        "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+        "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+      "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+        "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+        "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+        "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+        "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+      },
+      "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+      },
+      "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+        "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+          { # Business Profile location data synced from the linked Business Profile account.
+            "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+              "A String",
+            ],
+            "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+            "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+          },
+        ],
+        "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+        "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+      },
+      "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+        "labels": [ # Labels used to group the page urls.
+          "A String",
+        ],
+        "pageUrl": "A String", # The webpage that advertisers want to target.
+      },
+      "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+        "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+        "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+        "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+        "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+      },
+      "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+        "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+          { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+        ],
+        "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+        "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+        "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+        "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+        "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+      },
+      "source": "A String", # Output only. Source of the asset.
+      "status": "A String", # Output only. The status of the asset.
+      "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+        "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+        "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+          "A String",
+        ],
+      },
+      "textAsset": { # A Text asset. # Immutable. A text asset.
+        "text": "A String", # Text content of the text asset.
+      },
+      "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+      "type": "A String", # Output only. Type of the asset.
+      "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+        { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          "key": "A String", # The key matching the parameter tag name.
+          "value": "A String", # The value to be substituted.
+        },
+      ],
+      "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+        "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+        "youtubeVideoTitle": "A String", # YouTube video title.
+      },
+    },
+    "assetFieldTypeView": { # An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension. # The asset field type view referenced in the query.
+      "fieldType": "A String", # Output only. The asset field type of the asset field type view.
+      "resourceName": "A String", # Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id}/assetFieldTypeViews/{field_type}`
+    },
+    "assetGroup": { # An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. # The asset group referenced in the query.
+      "adStrength": "A String", # Output only. Overall ad strength of this asset group.
+      "assetCoverage": { # Information about the asset coverage of an asset group. # Output only. The asset coverage of this asset group.
+        "adStrengthActionItems": [ # Output only. A list of action items to improve the ad strength of an asset group.
+          { # An action item to improve the ad strength of an asset group.
+            "actionItemType": "A String", # Output only. The action item type.
+            "addAssetDetails": { # The details of the asset to add. # Output only. The action item details for action item type ADD_ASSET.
+              "assetCount": 42, # Output only. The number of assets to add.
+              "assetFieldType": "A String", # Output only. The asset field type of the asset(s) to add.
+              "videoAspectRatioRequirement": "A String", # Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.
+            },
+          },
+        ],
+      },
+      "campaign": "A String", # Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.
+      "finalMobileUrls": [ # A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+        "A String",
+      ],
+      "finalUrls": [ # A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.
+        "A String",
+      ],
+      "id": "A String", # Output only. The ID of the asset group.
+      "name": "A String", # Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.
+      "path1": "A String", # First part of text that may appear appended to the url displayed in the ad.
+      "path2": "A String", # Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.
+      "primaryStatus": "A String", # Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.
+      "primaryStatusReasons": [ # Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`
+      "status": "A String", # The status of the asset group.
+    },
+    "assetGroupAsset": { # AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. # The asset group asset referenced in the query.
+      "asset": "A String", # Immutable. The asset which this asset group asset is linking.
+      "assetGroup": "A String", # Immutable. The asset group which this asset group asset is linking.
+      "fieldType": "A String", # The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc
+      "policySummary": { # Contains policy summary information. # Output only. The policy information for this asset group asset.
+        "approvalStatus": "A String", # The overall approval status, which is calculated based on the status of its individual policy topic entries.
+        "policyTopicEntries": [ # The list of policy findings.
+          { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+            "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+              { # Describes the effect on serving that a policy topic entry will have.
+                "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                  "countries": [ # Countries in which serving is restricted.
+                    { # Indicates that a resource's ability to serve in a particular country is constrained.
+                      "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                    },
+                  ],
+                  "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                },
+                "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                },
+              },
+            ],
+            "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+              { # Additional information that explains a policy finding.
+                "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                  "urlTypes": [ # The set of URLs that did not match each other.
+                    "A String",
+                  ],
+                },
+                "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                  "device": "A String", # The type of device that failed to load the URL.
+                  "dnsErrorType": "A String", # The type of DNS error.
+                  "expandedUrl": "A String", # The full URL that didn't work.
+                  "httpErrorCode": "A String", # The HTTP error code.
+                  "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                },
+                "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                  "destinationTexts": [ # List of text found in the resource's destination page.
+                    "A String",
+                  ],
+                },
+                "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                  "texts": [ # The fragments of text from the resource that caused the policy finding.
+                    "A String",
+                  ],
+                },
+                "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                  "websites": [ # Websites that caused the policy finding.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+            "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+          },
+        ],
+        "reviewStatus": "A String", # Where in the review process the resource is.
+      },
+      "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+      "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+        { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+          "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+            "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+              "A String",
+            ],
+          },
+          "reason": "A String", # Provides the reason of this PrimaryStatus.
+          "status": "A String", # Provides the PrimaryStatus of this status detail.
+        },
+      ],
+      "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`
+      "source": "A String", # Output only. Source of the asset group asset.
+      "status": "A String", # The status of the link between an asset and asset group.
+    },
+    "assetGroupListingGroupFilter": { # AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. # The asset group listing group filter referenced in the query.
+      "assetGroup": "A String", # Immutable. The asset group which this asset group listing group filter is part of.
+      "caseValue": { # Listing dimensions for the asset group listing group filter. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+        "productBrand": { # Brand of the product. # Brand of a product offer.
+          "value": "A String", # String value of the product brand.
+        },
+        "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+          "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+          "level": "A String", # Indicates the level of the category in the taxonomy.
+        },
+        "productChannel": { # Locality of a product offer. # Locality of a product offer.
+          "channel": "A String", # Value of the locality.
+        },
+        "productCondition": { # Condition of a product offer. # Condition of a product offer.
+          "condition": "A String", # Value of the condition.
+        },
+        "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+          "index": "A String", # Indicates the index of the custom attribute.
+          "value": "A String", # String value of the product custom attribute.
+        },
+        "productItemId": { # Item id of a product offer. # Item id of a product offer.
+          "value": "A String", # Value of the id.
+        },
+        "productType": { # Type of a product offer. # Type of a product offer.
+          "level": "A String", # Level of the type.
+          "value": "A String", # Value of the type.
+        },
+        "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+          "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+            { # Matching condition for URL filtering.
+              "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+              "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+            },
+          ],
+        },
+      },
+      "id": "A String", # Output only. The ID of the ListingGroupFilter.
+      "listingSource": "A String", # Immutable. The source of listings filtered by this listing group filter.
+      "parentListingGroupFilter": "A String", # Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.
+      "path": { # The path defining of dimensions defining a listing group filter. # Output only. The path of dimensions defining this listing group filter.
+        "dimensions": [ # Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.
+          { # Listing dimensions for the asset group listing group filter.
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Indicates the level of the category in the taxonomy.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "webpage": { # Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. # Filters for URLs in a page feed and URLs from the advertiser web domain.
+              "conditions": [ # The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.
+                { # Matching condition for URL filtering.
+                  "customLabel": "A String", # Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.
+                  "urlContains": "A String", # Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.
+                },
+              ],
+            },
+          },
+        ],
+      },
+      "resourceName": "A String", # Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`
+      "type": "A String", # Immutable. Type of a listing group filter node.
+    },
+    "assetGroupProductGroupView": { # An asset group product group view. # The asset group product group view referenced in the query.
+      "assetGroup": "A String", # Output only. The asset group associated with the listing group filter.
+      "assetGroupListingGroupFilter": "A String", # Output only. The resource name of the asset group listing group filter.
+      "resourceName": "A String", # Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}`
+    },
+    "assetGroupSignal": { # AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. # The asset group signal referenced in the query.
+      "approvalStatus": "A String", # Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.
+      "assetGroup": "A String", # Immutable. The asset group which this asset group signal belongs to.
+      "audience": { # An audience criterion. # Immutable. The audience signal to be used by the performance max campaign.
+        "audience": "A String", # The Audience resource name.
+      },
+      "disapprovalReasons": [ # Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`
+      "searchTheme": { # A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. # Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT
+        "text": "A String", # Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.
+      },
+    },
+    "assetGroupTopCombinationView": { # A view on the usage of asset group asset top combinations. # The asset group top combination view referenced in the query.
+      "assetGroupTopCombinations": [ # Output only. The top combinations of assets that served together.
+        { # Asset group asset combination data
+          "assetCombinationServedAssets": [ # Output only. Served assets.
+            { # Contains the usage information of the asset.
+              "asset": "A String", # Resource name of the asset.
+              "servedAssetFieldType": "A String", # The served field type of the asset.
+            },
+          ],
+        },
+      ],
+      "resourceName": "A String", # Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}"
+    },
+    "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # The asset set referenced in the query.
+      "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+        "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+          "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+            "businessName": "A String", # Business name string to use for filtering.
+            "filterType": "A String", # The type of string matching to use when filtering with business_name.
+          },
+          "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+            "A String",
+          ],
+          "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+            "A String",
+          ],
+        },
+      },
+      "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+        "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+          { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+            "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+            "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+              "A String",
+            ],
+          },
+        ],
+      },
+      "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+        "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+        "partnerName": "A String", # Output only. Name of the hotel partner.
+      },
+      "id": "A String", # Output only. The ID of the asset set.
+      "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+      "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+        "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+          "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+          "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+          "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+          "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+          "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+            "A String",
+          ],
+          "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+            "A String",
+          ],
+        },
+        "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+          "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+            { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+              "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+              "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                "A String",
+              ],
+            },
+          ],
+          "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+        },
+        "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+        "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+          "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+            { # Wrapper for place ids
+              "placeId": "A String", # Place ID of the Maps location.
+            },
+          ],
+        },
+      },
+      "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+        "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+        "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+      },
+      "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+      "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+      "status": "A String", # Output only. The status of the asset set. Read-only.
+      "type": "A String", # Required. Immutable. The type of the asset set. Required.
+    },
+    "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # The asset set asset referenced in the query.
+      "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+      "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+      "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+      "status": "A String", # Output only. The status of the asset set asset. Read-only.
+    },
+    "assetSetTypeView": { # An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type. # The asset set type view referenced in the query.
+      "assetSetType": "A String", # Output only. The asset set type of the asset set type view.
+      "resourceName": "A String", # Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id}/assetSetTypeViews/{asset_set_type}`
+    },
+    "audience": { # Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. # The Audience referenced in the query.
+      "assetGroup": "A String", # Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.
+      "description": "A String", # Description of this audience.
+      "dimensions": [ # Positive dimensions specifying the audience composition.
+        { # Positive dimension specifying user's audience.
+          "age": { # Dimension specifying users by their age. # Dimension specifying users by their age.
+            "ageRanges": [ # Contiguous age range to be included in the dimension.
+              { # Contiguous age range.
+                "maxAge": 42, # Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.
+                "minAge": 42, # Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.
+              },
+            ],
+            "includeUndetermined": True or False, # Include users whose age is not determined.
+          },
+          "audienceSegments": { # Dimension specifying users by their membership in other audience segments. # Dimension specifying users by their membership in other audience segments.
+            "segments": [ # Included audience segments. Users are included if they belong to at least one segment.
+              { # Positive audience segment.
+                "customAudience": { # Custom audience segment. # Custom audience segment.
+                  "customAudience": "A String", # The custom audience resource.
+                },
+                "detailedDemographic": { # Detailed demographic segment. # Detailed demographic segment.
+                  "detailedDemographic": "A String", # The detailed demographic resource.
+                },
+                "lifeEvent": { # Live event segment. # Live-event audience segment.
+                  "lifeEvent": "A String", # The life event resource.
+                },
+                "userInterest": { # User interest segment. # Affinity or In-market segment.
+                  "userInterestCategory": "A String", # The user interest resource.
+                },
+                "userList": { # User list segment. # User list segment.
+                  "userList": "A String", # The user list resource.
+                },
+              },
+            ],
+          },
+          "gender": { # Dimension specifying users by their gender. # Dimension specifying users by their gender.
+            "genders": [ # Included gender demographic segments.
+              "A String",
+            ],
+            "includeUndetermined": True or False, # Include users whose gender is not determined.
+          },
+          "householdIncome": { # Dimension specifying users by their household income. # Dimension specifying users by their household income.
+            "includeUndetermined": True or False, # Include users whose household income is not determined.
+            "incomeRanges": [ # Included household income demographic segments.
+              "A String",
+            ],
+          },
+          "parentalStatus": { # Dimension specifying users by their parental status. # Dimension specifying users by their parental status.
+            "includeUndetermined": True or False, # Include users whose parental status is undetermined.
+            "parentalStatuses": [ # Included parental status demographic segments.
+              "A String",
+            ],
+          },
+        },
+      ],
+      "exclusionDimension": { # Negative dimension specifying users to exclude from the audience. # Negative dimension specifying the audience composition.
+        "exclusions": [ # Audience segment to be excluded.
+          { # An audience segment to be excluded from an audience.
+            "userList": { # User list segment. # User list segment to be excluded.
+              "userList": "A String", # The user list resource.
+            },
+          },
+        ],
+      },
+      "id": "A String", # Output only. ID of the audience.
+      "name": "A String", # Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.
+      "resourceName": "A String", # Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`
+      "scope": "A String", # Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.
+      "status": "A String", # Output only. Status of this audience. Indicates whether the audience is enabled or removed.
+    },
+    "batchJob": { # A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults. # The batch job referenced in the query.
+      "id": "A String", # Output only. ID of this batch job.
+      "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.
+      "metadata": { # Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations. # Output only. Contains additional information about this batch job.
+        "completionDateTime": "A String", # Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+        "creationDateTime": "A String", # Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+        "estimatedCompletionRatio": 3.14, # Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.
+        "executedOperationCount": "A String", # Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.
+        "executionLimitSeconds": 42, # Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.
+        "operationCount": "A String", # Output only. The number of mutate operations in the batch job.
+        "startDateTime": "A String", # Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30"
+      },
+      "nextAddSequenceToken": "A String", # Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.
+      "resourceName": "A String", # Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`
+      "status": "A String", # Output only. Status of this batch job.
+    },
+    "biddingDataExclusion": { # Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. # The bidding data exclusion referenced in the query.
+      "advertisingChannelTypes": [ # The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+        "A String",
+      ],
+      "campaigns": [ # The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
+        "A String",
+      ],
+      "dataExclusionId": "A String", # Output only. The ID of the data exclusion.
+      "description": "A String", # The description of the data exclusion. The description can be at most 2048 characters.
+      "devices": [ # If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
+        "A String",
+      ],
+      "endDateTime": "A String", # Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+      "name": "A String", # The name of the data exclusion. The name can be at most 255 characters.
+      "resourceName": "A String", # Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
+      "scope": "A String", # The scope of the data exclusion.
+      "startDateTime": "A String", # Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
+      "status": "A String", # Output only. The status of the data exclusion.
+    },
+    "biddingSeasonalityAdjustment": { # Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. # The bidding seasonality adjustment referenced in the query.
+      "advertisingChannelTypes": [ # The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+        "A String",
+      ],
+      "campaigns": [ # The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.
+        "A String",
+      ],
+      "conversionRateModifier": 3.14, # Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.
+      "description": "A String", # The description of the seasonality adjustment. The description can be at most 2048 characters.
+      "devices": [ # If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.
+        "A String",
+      ],
+      "endDateTime": "A String", # Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
+      "name": "A String", # The name of the seasonality adjustment. The name can be at most 255 characters.
+      "resourceName": "A String", # Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`
+      "scope": "A String", # The scope of the seasonality adjustment.
+      "seasonalityAdjustmentId": "A String", # Output only. The ID of the seasonality adjustment.
+      "startDateTime": "A String", # Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.
+      "status": "A String", # Output only. The status of the seasonality adjustment.
+    },
+    "biddingStrategy": { # A bidding strategy. # The bidding strategy referenced in the query.
+      "alignedCampaignBudgetId": "A String", # ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
+      "campaignCount": "A String", # Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
+      "currencyCode": "A String", # Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
+      "effectiveCurrencyCode": "A String", # Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
+      "enhancedCpc": { # An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. # A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.
+      },
+      "id": "A String", # Output only. The ID of the bidding strategy.
+      "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+        "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+      },
+      "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+      },
+      "name": "A String", # The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+      "nonRemovedCampaignCount": "A String", # Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
+      "resourceName": "A String", # Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+      "status": "A String", # Output only. The status of the bidding strategy. This field is read-only.
+      "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+      },
+      "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # A bidding strategy that automatically optimizes towards a chosen percentage of impressions.
+        "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+        "location": "A String", # The targeted location on the search results page.
+        "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+      },
+      "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+        "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+      },
+      "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # A bid strategy that sets your bids to help get as many clicks as possible within your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+        "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+      },
+      "type": "A String", # Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
+    },
+    "biddingStrategySimulation": { # A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM # The bidding strategy simulation referenced in the query.
+      "biddingStrategyId": "A String", # Output only. Bidding strategy shared set id of the simulation.
+      "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+      "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+      "resourceName": "A String", # Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}`
+      "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+      "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+        "points": [ # Projected metrics for a series of target CPA amounts.
+          { # Projected metrics for a specific target CPA amount.
+            "appInstalls": 3.14, # Projected number of app installs.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "inAppActions": 3.14, # Projected number of in-app actions.
+            "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+            "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+        "points": [ # Projected metrics for a series of target ROAS amounts.
+          { # Projected metrics for a specific target ROAS amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+          },
+        ],
+      },
+      "type": "A String", # Output only. The field that the simulation modifies.
+    },
+    "billingSetup": { # A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser. # The billing setup referenced in the query.
+      "endDateTime": "A String", # Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+      "endTimeType": "A String", # Output only. The end time as a type. The only possible value is FOREVER.
+      "id": "A String", # Output only. The ID of the billing setup.
+      "paymentsAccount": "A String", # Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.
+      "paymentsAccountInfo": { # Container of payments account information for this billing. # Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated.
+        "paymentsAccountId": "A String", # Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, "1234-5678-9012-3456".
+        "paymentsAccountName": "A String", # Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.
+        "paymentsProfileId": "A String", # Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, "1234-5678-9012".
+        "paymentsProfileName": "A String", # Output only. The name of the payments profile associated with the billing setup.
+        "secondaryPaymentsProfileId": "A String", # Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`
+      "startDateTime": "A String", # Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.
+      "startTimeType": "A String", # Immutable. The start time as a type. Only NOW is allowed.
+      "status": "A String", # Output only. The status of the billing setup.
+    },
+    "callView": { # A call view that includes data for call tracking of call-only ads or call extensions. # The call view referenced in the query.
+      "callDurationSeconds": "A String", # Output only. The advertiser-provided call duration in seconds.
+      "callStatus": "A String", # Output only. The status of the call.
+      "callTrackingDisplayLocation": "A String", # Output only. The call tracking display location.
+      "callerAreaCode": "A String", # Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.
+      "callerCountryCode": "A String", # Output only. code of the caller.
+      "endCallDateTime": "A String", # Output only. The advertiser-provided call end date time.
+      "resourceName": "A String", # Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id}/callViews/{call_detail_id}`
+      "startCallDateTime": "A String", # Output only. The advertiser-provided call start date time.
+      "type": "A String", # Output only. The type of the call.
+    },
+    "campaign": { # A campaign. # The campaign referenced in the query.
+      "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+      "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+      "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+      "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+      "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+        "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+        "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+      },
+      "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+        "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+        "appStore": "A String", # Immutable. The application store that distributes this specific app.
+        "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+      },
+      "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+        { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+          "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+          "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+        },
+      ],
+      "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+        "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+      },
+      "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+      "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+      "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+      "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+      "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+        "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+        "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+        "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+      },
+      "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+      "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+      "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+      "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+        "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+      },
+      "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+      "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+        "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+      },
+      "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+        "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+        "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+        "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+      },
+      "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+        "A String",
+      ],
+      "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+      "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+      "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+        "A String",
+      ],
+      "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+        "A String",
+      ],
+      "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+      "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+        "A String",
+      ],
+      "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+      "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+        { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+          "cap": 42, # Maximum number of events allowed during the time range by this cap.
+          "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+            "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+            "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+            "timeLength": 42, # Number of time units the cap lasts.
+            "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+          },
+        },
+      ],
+      "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+        "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+        "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+      },
+      "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+      "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+        "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+      },
+      "id": "A String", # Output only. The ID of the campaign.
+      "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+      "labels": [ # Output only. The resource names of labels attached to this campaign.
+        "A String",
+      ],
+      "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+      "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+        "locationSourceType": "A String", # The location source type for this local campaign.
+      },
+      "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+        "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+          { # Category bids in LocalServicesReportingCampaignSettings.
+            "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+            "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+            "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+          },
+        ],
+      },
+      "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+      },
+      "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+        "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+      },
+      "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+      },
+      "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+      },
+      "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+        "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+      },
+      "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+        "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+      },
+      "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+      "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+      "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+        "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+        "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+        "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+        "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+        "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+        "targetYoutube": True or False, # Whether ads will be served on YouTube.
+      },
+      "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+        "optimizationGoalTypes": [ # The list of optimization goal types.
+          "A String",
+        ],
+      },
+      "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+      "paymentMode": "A String", # Payment mode for the campaign.
+      "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+        "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+      },
+      "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+        "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+        "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+        "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+      },
+      "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+        "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+          "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+        },
+      },
+      "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+      "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+        "A String",
+      ],
+      "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+        "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+      "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+        "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+          "A String",
+        ],
+      },
+      "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+      "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+      "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+        "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+          "A String",
+        ],
+        "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+        "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+        "enableLocal": True or False, # Whether to include local products.
+        "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+        "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+        "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+      },
+      "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+      "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+      "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+      },
+      "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+        "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+      },
+      "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+      },
+      "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+        "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+        "location": "A String", # The targeted location on the search results page.
+        "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+      },
+      "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+        "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+        "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+      },
+      "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+        "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+        "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+      },
+      "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+        "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+          { # Operation to be performed on a target restriction list in a mutate.
+            "operator": "A String", # Type of list operation to perform.
+            "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+              "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+              "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+            },
+          },
+        ],
+        "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+          { # The list of per-targeting-dimension targeting settings.
+            "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+            "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+          },
+        ],
+      },
+      "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+        "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+          { # Container for third party Brand Lift integration data for Campaign.
+            "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+            "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+              "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+              "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+            },
+            "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+          },
+        ],
+        "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+          { # Container for third party brand safety integration data for Campaign.
+            "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+            "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+              "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+              "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+            },
+          },
+        ],
+        "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+          { # Container for third party reach integration data for Campaign.
+            "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+            "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+              "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+              "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+            },
+            "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+          },
+        ],
+        "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+          { # Container for third party viewability integration data for Campaign.
+            "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+            "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+            "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+              "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+              "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+            },
+          },
+        ],
+      },
+      "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+        "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+      },
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+      "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+        "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+      },
+      "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+        { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+          "key": "A String", # The key matching the parameter tag name.
+          "value": "A String", # The value to be substituted.
+        },
+      ],
+      "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+        "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+        "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+      },
+      "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+    },
+    "campaignAsset": { # A link between a Campaign and an Asset. # The campaign asset referenced in the query.
+      "asset": "A String", # Immutable. The asset which is linked to the campaign.
+      "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+      "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+      "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+      "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+        { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+          "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+            "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+              "A String",
+            ],
+          },
+          "reason": "A String", # Provides the reason of this PrimaryStatus.
+          "status": "A String", # Provides the PrimaryStatus of this status detail.
+        },
+      ],
+      "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+      "source": "A String", # Output only. Source of the campaign asset link.
+      "status": "A String", # Status of the campaign asset.
+    },
+    "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # The campaign asset set referenced in the query.
+      "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+      "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+      "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+      "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+    },
+    "campaignAudienceView": { # A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level. # The campaign audience view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+    },
+    "campaignBidModifier": { # Represents a bid-modifiable only criterion at the campaign level. # The campaign bid modifier referenced in the query.
+      "bidModifier": 3.14, # The modifier for the bid when the criterion matches.
+      "campaign": "A String", # Output only. The campaign to which this criterion belongs.
+      "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+      "interactionType": { # Criterion for Interaction Type. # Immutable. Criterion for interaction type. Only supported for search campaigns.
+        "type": "A String", # The interaction type.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+    },
+    "campaignBudget": { # A campaign budget. # The campaign budget referenced in the query.
+      "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+      "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+      "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+      "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+      "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+      "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+      "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+      "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+      "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+      "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+      "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+      "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+      "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+      "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+      "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+      "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+      "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+      "type": "A String", # Immutable. The type of the campaign budget.
+    },
+    "campaignConversionGoal": { # The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. # The CampaignConversionGoal referenced in the query.
+      "biddable": True or False, # The biddability of the campaign conversion goal.
+      "campaign": "A String", # Immutable. The campaign with which this campaign conversion goal is associated.
+      "category": "A String", # The conversion category of this campaign conversion goal.
+      "origin": "A String", # The conversion origin of this campaign conversion goal.
+      "resourceName": "A String", # Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`
+      "searchAds360Biddable": True or False, # Search Ads 360 biddability of the campaign conversion goal.
+    },
+    "campaignCriterion": { # A campaign criterion. # The campaign criterion referenced in the query.
+      "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+        "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+      },
+      "ageRange": { # An age range criterion. # Immutable. Age range.
+        "type": "A String", # Type of the age range.
+      },
+      "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+      "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+        "sharedSet": "A String", # Shared set resource name of the brand list.
+      },
+      "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+      "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+        "carrierConstant": "A String", # The Carrier constant resource name.
+      },
+      "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+        "combinedAudience": "A String", # The CombinedAudience resource name.
+      },
+      "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+        "type": "A String", # Content label type, required for CREATE operations.
+      },
+      "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+      "device": { # A device criterion. # Immutable. Device.
+        "type": "A String", # Type of the device.
+      },
+      "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+      "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+        "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+      },
+      "gender": { # A gender criterion. # Immutable. Gender.
+        "type": "A String", # Type of the gender.
+      },
+      "incomeRange": { # An income range criterion. # Immutable. Income range.
+        "type": "A String", # Type of the income range.
+      },
+      "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+        "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+      },
+      "keyword": { # A keyword criterion. # Immutable. Keyword.
+        "matchType": "A String", # The match type of the keyword.
+        "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+      },
+      "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+        "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+        "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+      },
+      "language": { # A language criterion. # Immutable. Language.
+        "languageConstant": "A String", # The language constant resource name.
+      },
+      "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+        "lifeEventId": "A String", # Taxonomy id of the life event.
+      },
+      "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+        "dimensions": [ # Scope of the campaign criterion.
+          { # Listing dimensions for listing group criterion.
+            "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+              "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+            },
+            "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+              "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+            },
+            "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+              "value": "A String", # String value of the activity ID.
+            },
+            "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+              "value": "A String", # Long value of the activity rating.
+            },
+            "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+              "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+            },
+            "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+              "cityCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+              "value": "A String", # Long value of the hotel class.
+            },
+            "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+              "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+              "value": "A String", # String value of the hotel ID.
+            },
+            "hotelState": { # State the hotel is located in. # State the hotel is located in.
+              "stateCriterion": "A String", # The Geo Target Constant resource name.
+            },
+            "productBrand": { # Brand of the product. # Brand of a product offer.
+              "value": "A String", # String value of the product brand.
+            },
+            "productCategory": { # Category of a product offer. # Category of a product offer.
+              "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+              "level": "A String", # Level of the product category.
+            },
+            "productChannel": { # Locality of a product offer. # Locality of a product offer.
+              "channel": "A String", # Value of the locality.
+            },
+            "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+              "channelExclusivity": "A String", # Value of the availability.
+            },
+            "productCondition": { # Condition of a product offer. # Condition of a product offer.
+              "condition": "A String", # Value of the condition.
+            },
+            "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+              "index": "A String", # Indicates the index of the custom attribute.
+              "value": "A String", # String value of the product custom attribute.
+            },
+            "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product grouping.
+            },
+            "productItemId": { # Item id of a product offer. # Item id of a product offer.
+              "value": "A String", # Value of the id.
+            },
+            "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product labels.
+            },
+            "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product legacy condition.
+            },
+            "productType": { # Type of a product offer. # Type of a product offer.
+              "level": "A String", # Level of the type.
+              "value": "A String", # Value of the type.
+            },
+            "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+              "value": "A String", # String value of the product full type.
+            },
+            "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+            },
+          },
+        ],
+      },
+      "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+        "serviceId": "A String", # The criterion resource name.
+      },
+      "location": { # A location criterion. # Immutable. Location.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+      "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+        "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+        "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+          "A String",
+        ],
+        "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+          "A String",
+        ],
+        "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+          "A String",
+        ],
+        "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+        "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+      },
+      "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+        "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+      },
+      "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+        "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+        "name": "A String", # Name of this mobile application.
+      },
+      "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+        "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+      },
+      "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+      "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+        "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+      },
+      "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+        "type": "A String", # Type of the parental status.
+      },
+      "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+        "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+      },
+      "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+        "address": { # Address for proximity criterion. # Full address.
+          "cityName": "A String", # Name of the city.
+          "countryCode": "A String", # Country code.
+          "postalCode": "A String", # Postal code.
+          "provinceCode": "A String", # Province or state code.
+          "provinceName": "A String", # Province or state name.
+          "streetAddress": "A String", # Street address line 1.
+          "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+        },
+        "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+          "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+          "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+        },
+        "radius": 3.14, # The radius of the proximity.
+        "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+      "status": "A String", # The status of the criterion.
+      "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+        "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+          "A String",
+        ],
+        "topicConstant": "A String", # The Topic Constant resource name.
+      },
+      "type": "A String", # Output only. The type of the criterion.
+      "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+        "userInterestCategory": "A String", # The UserInterest resource name.
+      },
+      "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+        "userList": "A String", # The User List resource name.
+      },
+      "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+        "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+      },
+      "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+        "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          { # Logical expression for targeting webpages of an advertiser's website.
+            "argument": "A String", # Argument of webpage targeting condition.
+            "operand": "A String", # Operand of webpage targeting condition.
+            "operator": "A String", # Operator of webpage targeting condition.
+          },
+        ],
+        "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+        "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+          "sampleUrls": [ # Webpage sample urls
+            "A String",
+          ],
+        },
+      },
+      "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+        "sharedSet": "A String", # Shared set resource name of the webpage list.
+      },
+      "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+      },
+      "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+        "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+      },
+    },
+    "campaignCustomizer": { # A customizer value for the associated CustomizerAttribute at the Campaign level. # The campaign customizer referenced in the query.
+      "campaign": "A String", # Immutable. The campaign to which the customizer attribute is linked.
+      "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the campaign.
+      "resourceName": "A String", # Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`
+      "status": "A String", # Output only. The status of the campaign customizer.
+      "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+        "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+        "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+      },
+    },
+    "campaignDraft": { # A campaign draft. # The campaign draft referenced in the query.
+      "baseCampaign": "A String", # Immutable. The base campaign to which the draft belongs.
+      "draftCampaign": "A String", # Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.
+      "draftId": "A String", # Output only. The ID of the draft. This field is read-only.
+      "hasExperimentRunning": True or False, # Output only. Whether there is an experiment based on this draft currently serving.
+      "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.
+      "name": "A String", # The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+      "resourceName": "A String", # Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`
+      "status": "A String", # Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.
+    },
+    "campaignEffectiveLabel": { # Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign. # The campaign effective label referenced in the query.
+      "campaign": "A String", # Immutable. The campaign to which the effective label is attached.
+      "label": "A String", # Immutable. The effective label assigned to the campaign.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the effective label.
+      "resourceName": "A String", # Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}`
+    },
+    "campaignGoalConfig": { # A link between a campaign and a goal enabling campaign-specific optimization. # The campaign goal config referenced in the query.
+      "campaign": "A String", # Immutable. The resource name of the campaign for this link.
+      "campaignRetentionSettings": { # Retention campaign goal settings. # Retention goal campaign settings.
+        "targetOption": "A String", # Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.
+        "valueSettingsOverride": { # Lifecycle goal optimization value settings. # Retention goal campaign specific value settings.
+          "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+          "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+        },
+      },
+      "goal": "A String", # Immutable. The resource name of the goal this link is attached to.
+      "goalType": "A String", # Output only. The goal type this link is attached to.
+      "resourceName": "A String", # Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`
+    },
+    "campaignGroup": { # A campaign group. # Campaign Group referenced in AWQL query.
+      "id": "A String", # Output only. The ID of the campaign group.
+      "name": "A String", # The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+      "resourceName": "A String", # Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+      "status": "A String", # The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.
+    },
+    "campaignLabel": { # Represents a relationship between a campaign and a label. # The campaign label referenced in the query.
+      "campaign": "A String", # Immutable. The campaign to which the label is attached.
+      "label": "A String", # Immutable. The label assigned to the campaign.
+      "ownerCustomerId": "A String", # Output only. The ID of the Customer which owns the label.
+      "resourceName": "A String", # Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`
+    },
+    "campaignLifecycleGoal": { # Campaign level customer lifecycle goal settings. # The campaign lifecycle goal referenced in the query.
+      "campaign": "A String", # Output only. The campaign where the goal is attached.
+      "customerAcquisitionGoalSettings": { # The customer acquisition goal settings for the campaign. # Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169
+        "optimizationMode": "A String", # Output only. Customer acquisition optimization mode of this campaign.
+        "valueSettings": { # Lifecycle goal value settings. # Output only. Campaign specific values for the customer acquisition goal.
+          "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+          "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+        },
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`
+    },
+    "campaignSearchTermInsight": { # This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. # The campaign search term insight referenced in the query.
+      "campaignId": "A String", # Output only. The ID of the campaign.
+      "categoryLabel": "A String", # Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
+      "id": "A String", # Output only. The ID of the insight.
+      "resourceName": "A String", # Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}`
+    },
+    "campaignSearchTermView": { # This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results. # The campaign-level search term view referenced in the query.
+      "campaign": "A String", # Output only. The campaign the search term served in.
+      "resourceName": "A String", # Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`
+      "searchTerm": "A String", # Output only. The search term.
+    },
+    "campaignSharedSet": { # CampaignSharedSets are used for managing the shared sets associated with a campaign. # Campaign Shared Set referenced in AWQL query.
+      "campaign": "A String", # Immutable. The campaign to which the campaign shared set belongs.
+      "resourceName": "A String", # Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+      "sharedSet": "A String", # Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.
+      "status": "A String", # Output only. The status of this campaign shared set. Read only.
+    },
+    "campaignSimulation": { # A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM # The campaign simulation referenced in the query.
+      "budgetPointList": { # A container for simulation points for simulations of type BUDGET. # Output only. Simulation points if the simulation type is BUDGET.
+        "points": [ # Projected metrics for a series of budget amounts.
+          { # Projected metrics for a specific budget amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "budgetAmountMicros": "A String", # The simulated budget upon which projected metrics are based.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+            "requiredCpcBidCeilingMicros": "A String", # Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "campaignId": "A String", # Output only. Campaign id of the simulation.
+      "cpcBidPointList": { # A container for simulation points for simulations of type CPC_BID. # Output only. Simulation points if the simulation type is CPC_BID.
+        "points": [ # Projected metrics for a series of CPC bid amounts.
+          { # Projected metrics for a specific CPC bid amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "cpcBidMicros": "A String", # The simulated CPC bid upon which projected metrics are based.
+            "cpcBidScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "endDate": "A String", # Output only. Last day on which the simulation is based, in YYYY-MM-DD format
+      "modificationMethod": "A String", # Output only. How the simulation modifies the field.
+      "resourceName": "A String", # Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}`
+      "startDate": "A String", # Output only. First day on which the simulation is based, in YYYY-MM-DD format.
+      "targetCpaPointList": { # A container for simulation points for simulations of type TARGET_CPA. # Output only. Simulation points if the simulation type is TARGET_CPA.
+        "points": [ # Projected metrics for a series of target CPA amounts.
+          { # Projected metrics for a specific target CPA amount.
+            "appInstalls": 3.14, # Projected number of app installs.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "inAppActions": 3.14, # Projected number of in-app actions.
+            "interactions": "A String", # Projected number of interactions. Only discovery advertising channel type supports this field.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetCpaMicros": "A String", # The simulated target CPA upon which projected metrics are based.
+            "targetCpaScalingModifier": 3.14, # The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "targetImpressionSharePointList": { # A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE. # Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.
+        "points": [ # Projected metrics for a specific target impression share value.
+          { # Projected metrics for a specific target impression share value.
+            "absoluteTopImpressions": "A String", # Projected number of absolute top impressions. Only search advertising channel type supports this field.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "requiredCpcBidCeilingMicros": "A String", # Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency.
+            "targetImpressionShareMicros": "A String", # The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only search advertising channel type supports this field.
+          },
+        ],
+      },
+      "targetRoasPointList": { # A container for simulation points for simulations of type TARGET_ROAS. # Output only. Simulation points if the simulation type is TARGET_ROAS.
+        "points": [ # Projected metrics for a series of target ROAS amounts.
+          { # Projected metrics for a specific target ROAS amount.
+            "biddableConversions": 3.14, # Projected number of biddable conversions.
+            "biddableConversionsValue": 3.14, # Projected total value of biddable conversions.
+            "clicks": "A String", # Projected number of clicks.
+            "costMicros": "A String", # Projected cost in micros.
+            "impressions": "A String", # Projected number of impressions.
+            "requiredBudgetAmountMicros": "A String", # Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.
+            "targetRoas": 3.14, # The simulated target ROAS upon which projected metrics are based.
+            "topSlotImpressions": "A String", # Projected number of top slot impressions. Only Search advertising channel type supports this field.
+          },
+        ],
+      },
+      "type": "A String", # Output only. The field that the simulation modifies.
+    },
+    "carrierConstant": { # A carrier criterion that can be used in campaign targeting. # The carrier constant referenced in the query.
+      "countryCode": "A String", # Output only. The country code of the country where the carrier is located, for example, "AR", "FR", etc.
+      "id": "A String", # Output only. The ID of the carrier criterion.
+      "name": "A String", # Output only. The full name of the carrier in English.
+      "resourceName": "A String", # Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id}`
+    },
+    "cartDataSalesView": { # Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together. # The cart data sales view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id}/cartDataSalesView`
+    },
+    "changeEvent": { # Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change. # The ChangeEvent referenced in the query.
+      "adGroup": "A String", # Output only. The AdGroup affected by this change.
+      "asset": "A String", # Output only. The Asset affected by this change.
+      "campaign": "A String", # Output only. The Campaign affected by this change.
+      "changeDateTime": "A String", # Output only. Time at which the change was committed on this resource.
+      "changeResourceName": "A String", # Output only. The Simply resource this change occurred on.
+      "changeResourceType": "A String", # Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.
+      "changedFields": "A String", # Output only. A list of fields that are changed in the returned resource.
+      "clientType": "A String", # Output only. Where the change was made through.
+      "newResource": { # A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set. # Output only. The new resource after the change. Only changed fields will be populated.
+        "ad": { # An ad. # Output only. Set if change_resource_type == AD.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": { # An ad group. # Output only. Set if change_resource_type == AD_GROUP.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "adGroupAd": { # An ad group ad. # Output only. Set if change_resource_type == AD_GROUP_AD.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "adGroupAsset": { # A link between an ad group and an asset. # Output only. Set if change_resource_type == AD_GROUP_ASSET.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "adGroupBidModifier": { # Represents an ad group bid modifier. # Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Output only. Set if change_resource_type == AD_GROUP_CRITERION.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Output only. Set if change_resource_type == ASSET.
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Output only. Set if change_resource_type == ASSET_SET.
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Output only. Set if change_resource_type == ASSET_SET_ASSET.
+          "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+          "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+          "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+          "status": "A String", # Output only. The status of the asset set asset. Read-only.
+        },
+        "campaign": { # A campaign. # Output only. Set if change_resource_type == CAMPAIGN.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "campaignAsset": { # A link between a Campaign and an Asset. # Output only. Set if change_resource_type == CAMPAIGN_ASSET.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.
+          "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+          "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+        },
+        "campaignBudget": { # A campaign budget. # Output only. Set if change_resource_type == CAMPAIGN_BUDGET.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "campaignCriterion": { # A campaign criterion. # Output only. Set if change_resource_type == CAMPAIGN_CRITERION.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "customerAsset": { # A link between a customer and an asset. # Output only. Set if change_resource_type == CUSTOMER_ASSET.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+      },
+      "oldResource": { # A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set. # Output only. The old resource before the change. Only changed fields will be populated.
+        "ad": { # An ad. # Output only. Set if change_resource_type == AD.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "adGroup": { # An ad group. # Output only. Set if change_resource_type == AD_GROUP.
+          "adRotationMode": "A String", # The ad rotation mode of the ad group.
+          "aiMaxAdGroupSetting": { # Settings for AI Max feature in standard search adgroups. # Settings for AI Max feature in standard search adgroups.
+            "disableSearchTermMatching": True or False, # Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.
+          },
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.
+          },
+          "baseAdGroup": "A String", # Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.
+          "campaign": "A String", # Immutable. The campaign to which the ad group belongs.
+          "cpcBidMicros": "A String", # The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.
+          "cpmBidMicros": "A String", # The maximum CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenAdGroupSettings": { # Settings for Demand Gen ad groups. # Settings for Demand Gen ad groups.
+            "channelControls": { # Channel controls for Demand Gen ad groups. # Channel controls for Demand Gen ad groups.
+              "channelConfig": "A String", # Output only. Channel configuration reflecting which field in the oneof is populated.
+              "channelStrategy": "A String", # High level channel strategy.
+              "selectedChannels": { # Explicitly selected channels for channel controls in Demand Gen ad groups. # Explicitly selected channels. This field should be set with at least one true value when present.
+                "discover": True or False, # Whether to enable ads on the Discover channel.
+                "display": True or False, # Whether to enable ads on the Display channel.
+                "gmail": True or False, # Whether to enable ads on the Gmail channel.
+                "youtubeInFeed": True or False, # Whether to enable ads on the YouTube In-Feed channel.
+                "youtubeInStream": True or False, # Whether to enable ads on the YouTube In-Stream channel.
+                "youtubeShorts": True or False, # Whether to enable ads on the YouTube Shorts channel.
+              },
+            },
+          },
+          "displayCustomBidDimension": "A String", # Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.
+          "effectiveCpcBidMicros": "A String", # Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.
+            "A String",
+          ],
+          "effectiveTargetCpaMicros": "A String", # Output only. The effective target CPA (cost-per-acquisition). This field is read-only.
+          "effectiveTargetCpaSource": "A String", # Output only. Source of the effective target CPA. This field is read-only.
+          "effectiveTargetCpc": "A String", # Output only. The effective target CPC (cost-per-click). This field is read-only.
+          "effectiveTargetCpcSource": "A String", # Output only. Source of the effective target CPC. This field is read-only.
+          "effectiveTargetRoas": 3.14, # Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.
+          "effectiveTargetRoasSource": "A String", # Output only. Source of the effective target ROAS. This field is read-only.
+          "endDate": "A String", # Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "engineId": "A String", # Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group.
+          "excludeDemographicExpansion": True or False, # When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to Final URL.
+          "fixedCpmMicros": "A String", # The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.
+          "id": "A String", # Output only. The ID of the ad group.
+          "labels": [ # Output only. The resource names of labels attached to this ad group.
+            "A String",
+          ],
+          "languageCode": "A String", # Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "name": "A String", # The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "optimizedTargetingEnabled": True or False, # True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.
+          "percentCpcBidMicros": "A String", # The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`
+          "startDate": "A String", # Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14
+          "status": "A String", # The status of the ad group.
+          "targetCpaMicros": "A String", # The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.
+          "targetCpcMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.
+          "targetCpmMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.
+          "targetCpvMicros": "A String", # Average amount in micros that the advertiser is willing to pay for every ad view.
+          "targetRoas": 3.14, # The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Immutable. The type of the ad group.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "verticalAdsFormatSetting": { # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. # Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign.
+            "disableTextAds": True or False, # If true, text ads will be disabled for this ad group.
+            "enableBookingLinks": True or False, # If true, booking links will be enabled for this ad group.
+            "enableVerticalPromotionAds": True or False, # If true, vertical promotion ads will be enabled for this ad group.
+          },
+        },
+        "adGroupAd": { # An ad group ad. # Output only. Set if change_resource_type == AD_GROUP_AD.
+          "actionItems": [ # Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
+            "A String",
+          ],
+          "ad": { # An ad. # Immutable. The ad.
+            "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+            "appAd": { # An app ad. # Details pertaining to an app ad.
+              "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+                "asset": "A String", # The Asset resource name of this app deep link asset.
+              },
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+                { # A media bundle asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this media bundle.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image assets that may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "videos": [ # List of video assets that may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "images": [ # List of image asset IDs whose images may be displayed with the ad.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+              "businessName": "A String", # Required. The Advertiser/brand name.
+              "callToActionText": "A String", # Call to action text.
+              "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+                { # A Demand Gen carousel card asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this discovery carousel card.
+                },
+              ],
+              "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+              "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+              "callToActionText": "A String", # Call to action text.
+              "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+            },
+            "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+              "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            },
+            "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+              "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+              "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+              "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+                { # A call to action asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this call to action asset.
+                },
+              ],
+              "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "descriptions": [ # List of text assets used for the description.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets used for the short headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadlines": [ # List of text assets used for the long headline.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "videos": [ # List of YouTube video assets used for the ad.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+            "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+              "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+              "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            },
+            "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+            "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+            },
+            "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+              "description": "A String", # The description of the ad.
+              "description2": "A String", # The second description of the ad.
+              "headlinePart1": "A String", # The first part of the ad's headline.
+              "headlinePart2": "A String", # The second part of the ad's headline.
+              "headlinePart3": "A String", # The third part of the ad's headline.
+              "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+              "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+            },
+            "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+              { # A URL for deep linking into an app for the given operating system.
+                "osType": "A String", # The operating system targeted by this URL. Required.
+                "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+              },
+            ],
+            "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+            "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+              "A String",
+            ],
+            "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+            },
+            "id": "A String", # Output only. The ID of the ad.
+            "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+              "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+              "data": "A String", # Raw image data as bytes.
+              "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+              "imageUrl": "A String", # URL of the full size image.
+              "mimeType": "A String", # The mime type of the image.
+              "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+              "pixelHeight": "A String", # Height in pixels of the full size image.
+              "pixelWidth": "A String", # Width in pixels of the full size image.
+              "previewImageUrl": "A String", # URL of the preview size image.
+              "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+              "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+            },
+            "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+              "appId": "A String", # The ID of the mobile app.
+              "appStore": "A String", # The app store the mobile app is available in.
+              "description1": "A String", # The first description line of the ad.
+              "description2": "A String", # The second description line of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The business name in the ad.
+              "callToActionText": "A String", # The call-to-action text for the ad.
+              "description": "A String", # The description of the ad.
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+              "longHeadline": "A String", # The long version of the ad's headline.
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "shortHeadline": "A String", # The short version of the ad's headline.
+              "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+              "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+            },
+            "localAd": { # A local ad. # Details pertaining to a local ad.
+              "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+              "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+            "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+            "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+              "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+              "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+              "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+              "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+                "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+                "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+              },
+              "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+              "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+              "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+              "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+              "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+              "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+                { # An image asset used inside an ad.
+                  "asset": "A String", # The Asset resource name of this image.
+                },
+              ],
+              "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+                { # A video asset used inside an ad.
+                  "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                    "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                      "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                    },
+                  },
+                  "asset": "A String", # The Asset resource name of this video.
+                },
+              ],
+            },
+            "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # First part of text that can be appended to the URL in the ad.
+              "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            },
+            "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+            },
+            "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+              "headline2": "A String", # The second headline of the ad.
+              "headline3": "A String", # The third headline of the ad.
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+              "path2": "A String", # Text appended to path1 with a delimiter.
+            },
+            "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+              "adTrackingId": "A String", # The tracking id of the ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+              "displayUrl": "A String", # The displayed URL of the ad.
+              "headline": "A String", # The headline of the ad.
+            },
+            "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+              "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+            },
+            "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+            },
+            "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+            },
+            "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+              "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+              "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+                { # A text asset used inside an ad.
+                  "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                  "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                  "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                    "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                    "policyTopicEntries": [ # The list of policy findings for this asset.
+                      { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                        "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                          { # Describes the effect on serving that a policy topic entry will have.
+                            "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                              "countries": [ # Countries in which serving is restricted.
+                                { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                  "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                                },
+                              ],
+                              "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                            },
+                            "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                            },
+                          },
+                        ],
+                        "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                          { # Additional information that explains a policy finding.
+                            "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                              "urlTypes": [ # The set of URLs that did not match each other.
+                                "A String",
+                              ],
+                            },
+                            "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                              "device": "A String", # The type of device that failed to load the URL.
+                              "dnsErrorType": "A String", # The type of DNS error.
+                              "expandedUrl": "A String", # The full URL that didn't work.
+                              "httpErrorCode": "A String", # The HTTP error code.
+                              "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                            },
+                            "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                              "destinationTexts": [ # List of text found in the resource's destination page.
+                                "A String",
+                              ],
+                            },
+                            "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                            "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                              "texts": [ # The fragments of text from the resource that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                            "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                              "websites": [ # Websites that caused the policy finding.
+                                "A String",
+                              ],
+                            },
+                          },
+                        ],
+                        "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                        "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                      },
+                    ],
+                    "reviewStatus": "A String", # Where in the review process this asset.
+                  },
+                  "text": "A String", # Asset text.
+                },
+              ],
+            },
+            "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+            "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+              "description1": "A String", # The first line of the ad's description.
+              "description2": "A String", # The second line of the ad's description.
+              "headline": "A String", # The headline of the ad.
+            },
+            "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+            "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+            },
+            "type": "A String", # Output only. The type of ad.
+            "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+              { # Collection of urls that is tagged with a unique identifier.
+                "finalMobileUrls": [ # A list of possible final mobile URLs.
+                  "A String",
+                ],
+                "finalUrls": [ # A list of possible final URLs.
+                  "A String",
+                ],
+                "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+                "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+              },
+            ],
+            "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+          },
+          "adGroup": "A String", # Immutable. The ad group to which the ad belongs.
+          "adGroupAdAssetAutomationSettings": [ # Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
+            { # Asset automation setting for an AdGroupAd.
+              "assetAutomationStatus": "A String", # The opt-in/out status for the specified asset automation type.
+              "assetAutomationType": "A String", # The asset automation type that this setting configures.
+            },
+          ],
+          "adStrength": "A String", # Output only. Overall ad strength for this ad group ad.
+          "creationTime": "A String", # Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.
+            "A String",
+          ],
+          "engineId": "A String", # Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead.
+          "engineStatus": "A String", # Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.
+          "labels": [ # Output only. The resource names of labels attached to this ad group ad.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "policySummary": { # Contains policy information for an ad. # Output only. Policy information for the ad.
+            "approvalStatus": "A String", # Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this ad.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this ad is.
+          },
+          "primaryStatus": "A String", # Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
+          "primaryStatusReasons": [ # Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+          "status": "A String", # The status of the ad.
+        },
+        "adGroupAsset": { # A link between an ad group and an asset. # Output only. Set if change_resource_type == AD_GROUP_ASSET.
+          "adGroup": "A String", # Required. Immutable. The ad group to which the asset is linked.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the ad group.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes under the linked ad group.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the adgroup asset link.
+          "status": "A String", # Status of the ad group asset.
+        },
+        "adGroupBidModifier": { # Represents an ad group bid modifier. # Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.
+          "adGroup": "A String", # Immutable. The ad group to which this criterion belongs.
+          "baseAdGroup": "A String", # Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.
+          "bidModifierSource": "A String", # Output only. Bid modifier source.
+          "criterionId": "A String", # Output only. The ID of the criterion to bid modify. This field is ignored for mutates.
+          "device": { # A device criterion. # Immutable. A device criterion.
+            "type": "A String", # Type of the device.
+          },
+          "hotelAdvanceBookingWindow": { # Criterion for number of days prior to the stay the booking is being made. # Immutable. Criterion for number of days prior to the stay the booking is being made.
+            "maxDays": "A String", # High end of the number of days prior to the stay.
+            "minDays": "A String", # Low end of the number of days prior to the stay.
+          },
+          "hotelCheckInDateRange": { # Criterion for a check-in date range. # Immutable. Criterion for a hotel check-in date range.
+            "endDate": "A String", # End date in the YYYY-MM-DD format.
+            "startDate": "A String", # Start date in the YYYY-MM-DD format.
+          },
+          "hotelCheckInDay": { # Criterion for day of the week the booking is for. # Immutable. Criterion for day of the week the booking is for.
+            "dayOfWeek": "A String", # The day of the week.
+          },
+          "hotelDateSelectionType": { # Criterion for hotel date selection (default dates versus user selected). # Immutable. Criterion for hotel date selection (default dates versus user selected).
+            "type": "A String", # Type of the hotel date selection
+          },
+          "hotelLengthOfStay": { # Criterion for length of hotel stay in nights. # Immutable. Criterion for length of hotel stay in nights.
+            "maxNights": "A String", # High end of the number of nights in the stay.
+            "minNights": "A String", # Low end of the number of nights in the stay.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+        },
+        "adGroupCriterion": { # An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. # Output only. Set if change_resource_type == AD_GROUP_CRITERION.
+          "adGroup": "A String", # Immutable. The ad group to which the criterion belongs.
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "appPaymentModel": { # An app payment model criterion. # Immutable. App Payment Model.
+            "type": "A String", # Type of the app payment model.
+          },
+          "approvalStatus": "A String", # Output only. Approval status of the criterion.
+          "audience": { # An audience criterion. # Immutable. Audience.
+            "audience": "A String", # The Audience resource name.
+          },
+          "bidModifier": 3.14, # The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "cpcBidMicros": "A String", # The CPC (cost-per-click) bid.
+          "cpmBidMicros": "A String", # The CPM (cost-per-thousand viewable impressions) bid.
+          "cpvBidMicros": "A String", # The CPV (cost-per-view) bid.
+          "creationTime": "A String", # Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "criterionId": "A String", # Output only. The ID of the criterion.
+          "customAffinity": { # A custom affinity criterion. A criterion of this type is only targetable. # Immutable. Custom Affinity.
+            "customAffinity": "A String", # The CustomInterest resource name.
+          },
+          "customAudience": { # A custom audience criterion. # Immutable. Custom Audience.
+            "customAudience": "A String", # The CustomAudience resource name.
+          },
+          "customIntent": { # A custom intent criterion. A criterion of this type is only targetable. # Immutable. Custom Intent.
+            "customIntent": "A String", # The CustomInterest resource name.
+          },
+          "disapprovalReasons": [ # Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.
+            "A String",
+          ],
+          "displayName": "A String", # Output only. The display name of the criterion.
+          "effectiveCpcBidMicros": "A String", # Output only. The effective CPC (cost-per-click) bid.
+          "effectiveCpcBidSource": "A String", # Output only. Source of the effective CPC bid.
+          "effectiveCpmBidMicros": "A String", # Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
+          "effectiveCpmBidSource": "A String", # Output only. Source of the effective CPM bid.
+          "effectiveCpvBidMicros": "A String", # Output only. The effective CPV (cost-per-view) bid.
+          "effectiveCpvBidSource": "A String", # Output only. Source of the effective CPV bid.
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.
+            "A String",
+          ],
+          "effectivePercentCpcBidMicros": "A String", # Output only. The effective Percent CPC bid amount.
+          "effectivePercentCpcBidSource": "A String", # Output only. Source of the effective Percent CPC bid.
+          "engineId": "A String", # Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead.
+          "engineStatus": "A String", # Output only. The Engine Status for ad group criterion.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "labels": [ # Output only. The resource names of labels attached to this ad group criterion.
+            "A String",
+          ],
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingGroup": { # A listing group criterion. # Immutable. Listing group.
+            "caseValue": { # Listing dimensions for listing group criterion. # Dimension value with which this listing group is refining its parent. Undefined for the root group.
+              "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+              },
+              "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+              },
+              "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                "value": "A String", # String value of the activity ID.
+              },
+              "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                "value": "A String", # Long value of the activity rating.
+              },
+              "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+              },
+              "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                "cityCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                "value": "A String", # Long value of the hotel class.
+              },
+              "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                "value": "A String", # String value of the hotel ID.
+              },
+              "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                "stateCriterion": "A String", # The Geo Target Constant resource name.
+              },
+              "productBrand": { # Brand of the product. # Brand of a product offer.
+                "value": "A String", # String value of the product brand.
+              },
+              "productCategory": { # Category of a product offer. # Category of a product offer.
+                "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                "level": "A String", # Level of the product category.
+              },
+              "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                "channel": "A String", # Value of the locality.
+              },
+              "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                "channelExclusivity": "A String", # Value of the availability.
+              },
+              "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                "condition": "A String", # Value of the condition.
+              },
+              "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                "index": "A String", # Indicates the index of the custom attribute.
+                "value": "A String", # String value of the product custom attribute.
+              },
+              "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product grouping.
+              },
+              "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                "value": "A String", # Value of the id.
+              },
+              "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product labels.
+              },
+              "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product legacy condition.
+              },
+              "productType": { # Type of a product offer. # Type of a product offer.
+                "level": "A String", # Level of the type.
+                "value": "A String", # Value of the type.
+              },
+              "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                "value": "A String", # String value of the product full type.
+              },
+              "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+              },
+            },
+            "parentAdGroupCriterion": "A String", # Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.
+            "path": { # The path of dimensions defining a listing group. # The path of dimensions defining this listing group.
+              "dimensions": [ # The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.
+                { # Listing dimensions for listing group criterion.
+                  "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                    "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                  },
+                  "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                    "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                  },
+                  "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                    "value": "A String", # String value of the activity ID.
+                  },
+                  "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                    "value": "A String", # Long value of the activity rating.
+                  },
+                  "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                    "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                  },
+                  "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                    "cityCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                    "value": "A String", # Long value of the hotel class.
+                  },
+                  "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                    "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                    "value": "A String", # String value of the hotel ID.
+                  },
+                  "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                    "stateCriterion": "A String", # The Geo Target Constant resource name.
+                  },
+                  "productBrand": { # Brand of the product. # Brand of a product offer.
+                    "value": "A String", # String value of the product brand.
+                  },
+                  "productCategory": { # Category of a product offer. # Category of a product offer.
+                    "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                    "level": "A String", # Level of the product category.
+                  },
+                  "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                    "channel": "A String", # Value of the locality.
+                  },
+                  "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                    "channelExclusivity": "A String", # Value of the availability.
+                  },
+                  "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                    "condition": "A String", # Value of the condition.
+                  },
+                  "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                    "index": "A String", # Indicates the index of the custom attribute.
+                    "value": "A String", # String value of the product custom attribute.
+                  },
+                  "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product grouping.
+                  },
+                  "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                    "value": "A String", # Value of the id.
+                  },
+                  "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product labels.
+                  },
+                  "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product legacy condition.
+                  },
+                  "productType": { # Type of a product offer. # Type of a product offer.
+                    "level": "A String", # Level of the type.
+                    "value": "A String", # Value of the type.
+                  },
+                  "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                    "value": "A String", # String value of the product full type.
+                  },
+                  "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                  },
+                },
+              ],
+            },
+            "type": "A String", # Type of the listing group.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "percentCpcBidMicros": "A String", # The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "positionEstimates": { # Estimates for criterion bids at various positions. # Output only. Estimates for criterion bids at various positions.
+            "estimatedAddClicksAtFirstPositionCpc": "A String", # Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.
+            "estimatedAddCostAtFirstPositionCpc": "A String", # Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.
+            "firstPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.
+            "firstPositionCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.
+            "topOfPageCpcMicros": "A String", # Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.
+          },
+          "primaryStatus": "A String", # Output only. The primary status for the ad group criterion.
+          "primaryStatusReasons": [ # Output only. The primary status reasons for the ad group criterion.
+            "A String",
+          ],
+          "qualityInfo": { # A container for ad group criterion quality information. # Output only. Information regarding the quality of the criterion.
+            "creativeQualityScore": "A String", # Output only. The performance of the ad compared to other advertisers.
+            "postClickQualityScore": "A String", # Output only. The quality score of the landing page.
+            "qualityScore": 42, # Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.
+            "searchPredictedCtr": "A String", # Output only. The click-through rate compared to that of other advertisers.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added.
+          "systemServingStatus": "A String", # Output only. Serving status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "type": "A String", # Output only. The type of the criterion.
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "verticalAdsItemGroupRuleList": { # A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). # Immutable. Vertical ads item group rule list criterion.
+            "sharedSet": "A String", # The shared set resource name of the vertical ads item group rule list.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "asset": { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. # Output only. Set if change_resource_type == ASSET.
+          "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+            "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+          },
+          "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+          },
+          "businessMessageAsset": { # A business message asset. # A business message asset.
+            "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+              "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+              "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+            },
+            "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+              "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+            },
+            "messageProvider": "A String", # Required. Message provider of the business message asset.
+            "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+            "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+            },
+            "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+              "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+              "oaId": "A String", # Zalo Official Account ID of the advertiser.
+            },
+          },
+          "callAsset": { # A Call asset. # A call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+          },
+          "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+            "callToAction": "A String", # Call to action.
+          },
+          "calloutAsset": { # A Callout asset. # A callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+          "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+            "callToActionText": "A String", # Call to action text.
+            "headline": "A String", # Required. Headline of the carousel card.
+            "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+            "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+            "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+          },
+          "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+              "A String",
+            ],
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+            "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+            "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "itemCategory": "A String", # Item category, for example, Sedans.
+            "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+            "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+            "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+            "similarIds": [ # Similar IDs.
+              "A String",
+            ],
+          },
+          "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+            "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+              "A String",
+            ],
+            "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+            "programDescription": "A String", # Program description, for example, Nursing Certification.
+            "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "programName": "A String", # Required. Program name, for example, Nursing. Required.
+            "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+            "similarProgramIds": [ # Similar program IDs.
+              "A String",
+            ],
+            "subject": "A String", # Subject of study, for example, Health.
+            "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+          },
+          "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+            "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+              "A String",
+            ],
+          },
+          "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Hotel suite.
+            "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Close to SJC Airport.
+            "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+            "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarPropertyIds": [ # Similar property IDs.
+              "A String",
+            ],
+            "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+          },
+          "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, Apply your technical skills.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "jobCategory": "A String", # Job category, for example, Technical.
+            "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+            "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+            "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+            "salary": "A String", # Salary, for example, $100,000.
+            "similarJobIds": [ # Similar job IDs, for example, 1275.
+              "A String",
+            ],
+          },
+          "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Food.
+            "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+              "A String",
+            ],
+            "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+            "description": "A String", # Description, for example, Save on your weekly bill.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDealIds": [ # Similar deal IDs, for example, 1275.
+              "A String",
+            ],
+            "subtitle": "A String", # Subtitle, for example, Groceries.
+          },
+          "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+            "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "cityName": "A String", # City name, for example, Mountain View, California.
+            "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+              "A String",
+            ],
+            "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+            "listingType": "A String", # Listing type, for example, For sale.
+            "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+            "propertyType": "A String", # Property type, for example, House.
+            "similarListingIds": [ # Similar listing IDs.
+              "A String",
+            ],
+          },
+          "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+            "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+            "category": "A String", # Category, for example, Express.
+            "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+              "A String",
+            ],
+            "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+            "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+            "destinationName": "A String", # Destination name, for example, Paris.
+            "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+            "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+            "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+            "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+            "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+            "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+            "originName": "A String", # Origin name, for example, London.
+            "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+            "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+            "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+              "A String",
+            ],
+            "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+          },
+          "engineStatus": "A String", # Output only. The Engine Status for an asset.
+          "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+            { # Contains policy information for an asset under AssetFieldType context.
+              "assetFieldType": "A String", # Output only. FieldType of this asset.
+              "assetSource": "A String", # Output only. Source of this asset.
+              "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+              },
+            },
+          ],
+          "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+          "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+            "A String",
+          ],
+          "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+            "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+            "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+          },
+          "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+            "hotelAddress": "A String", # Address of the hotel. Read-only.
+            "hotelName": "A String", # Name of the hotel. Read-only.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+          },
+          "id": "A String", # Output only. The ID of the asset.
+          "imageAsset": { # An Image asset. # Output only. An image asset.
+            "data": "A String", # The raw bytes data of an image. This field is mutate only.
+            "fileSize": "A String", # File size of the image asset in bytes.
+            "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+              "heightPixels": "A String", # Height of the image.
+              "url": "A String", # A URL that returns the image with this height and width.
+              "widthPixels": "A String", # Width of the image.
+            },
+            "mimeType": "A String", # MIME type of the image asset.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+            "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+            "businessName": "A String", # Required. The name of the business being advertised.
+            "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+            "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+            "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+            "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+              { # One custom question input field instance within a form.
+                "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+              { # A configuration of how leads are delivered to the advertiser.
+                "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                  "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                  "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                  "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                },
+              },
+            ],
+            "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+            "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+            "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+              { # One input field instance within a form.
+                "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                  "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                    "A String",
+                  ],
+                },
+              },
+            ],
+            "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+            "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+            "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+            "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+            "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+          },
+          "locationAsset": { # A location asset. # Output only. A location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+            "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+          },
+          "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+            "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+            "appStore": "A String", # Required. The application store that distributes this specific app.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "name": "A String", # Optional name of the asset.
+          "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+          "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+          },
+          "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+            "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+            "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+              { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                  { # Describes the effect on serving that a policy topic entry will have.
+                    "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                      "countries": [ # Countries in which serving is restricted.
+                        { # Indicates that a resource's ability to serve in a particular country is constrained.
+                          "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                        },
+                      ],
+                      "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                    },
+                    "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                    },
+                  },
+                ],
+                "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                  { # Additional information that explains a policy finding.
+                    "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                      "urlTypes": [ # The set of URLs that did not match each other.
+                        "A String",
+                      ],
+                    },
+                    "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                      "device": "A String", # The type of device that failed to load the URL.
+                      "dnsErrorType": "A String", # The type of DNS error.
+                      "expandedUrl": "A String", # The full URL that didn't work.
+                      "httpErrorCode": "A String", # The HTTP error code.
+                      "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                    },
+                    "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                      "destinationTexts": [ # List of text found in the resource's destination page.
+                        "A String",
+                      ],
+                    },
+                    "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                    "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                      "texts": [ # The fragments of text from the resource that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                    "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                      "websites": [ # Websites that caused the policy finding.
+                        "A String",
+                      ],
+                    },
+                  },
+                ],
+                "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+              },
+            ],
+            "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+          },
+          "priceAsset": { # An asset representing a list of price offers. # A price asset.
+            "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+            "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+              { # A single price offering within a PriceAsset.
+                "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                  "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                  "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                },
+                "unit": "A String", # The price unit of the price offering.
+              },
+            ],
+            "priceQualifier": "A String", # The price qualifier of the price asset.
+            "type": "A String", # Required. The type of the price asset.
+          },
+          "promotionAsset": { # A Promotion asset. # A promotion asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "discountModifier": "A String", # A modifier for qualification of the discount.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+            "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+            "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+              "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+              "currencyCode": "A String", # Three-character ISO 4217 currency code.
+            },
+            "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+            "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+              "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+              "type": "A String", # Barcode type used to generate barcode with the correct format.
+            },
+            "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+            "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+              "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+            },
+            "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+            "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+            "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+          "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+            "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+            "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+            "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+            "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+            "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+              { # Business Profile location data synced from the linked Business Profile account.
+                "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                  "A String",
+                ],
+                "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+              },
+            ],
+            "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+            "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+          },
+          "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+            "labels": [ # Labels used to group the page urls.
+              "A String",
+            ],
+            "pageUrl": "A String", # The webpage that advertisers want to target.
+          },
+          "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+            "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+          },
+          "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+            "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+              { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              },
+            ],
+            "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+            "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+            "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+            "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+            "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+          },
+          "source": "A String", # Output only. Source of the asset.
+          "status": "A String", # Output only. The status of the asset.
+          "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+            "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+            "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+              "A String",
+            ],
+          },
+          "textAsset": { # A Text asset. # Immutable. A text asset.
+            "text": "A String", # Text content of the text asset.
+          },
+          "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+          "type": "A String", # Output only. Type of the asset.
+          "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+            "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+            "youtubeVideoTitle": "A String", # YouTube video title.
+          },
+        },
+        "assetSet": { # An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. # Output only. Set if change_resource_type == ASSET_SET.
+          "businessProfileLocationGroup": { # Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. # Business Profile location group asset set data.
+            "dynamicBusinessProfileLocationGroupFilter": { # Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. # Filter for dynamic Business Profile location sets.
+              "businessNameFilter": { # Business Profile location group business name filter. # Used to filter Business Profile locations by business name.
+                "businessName": "A String", # Business name string to use for filtering.
+                "filterType": "A String", # The type of string matching to use when filtering with business_name.
+              },
+              "labelFilters": [ # Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Business Profile locations by listing ids.
+                "A String",
+              ],
+            },
+          },
+          "chainLocationGroup": { # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. # Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.
+            "dynamicChainLocationGroupFilters": [ # Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.
+              { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                  "A String",
+                ],
+              },
+            ],
+          },
+          "hotelPropertyData": { # For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. # Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.
+            "hotelCenterId": "A String", # Output only. The hotel center ID of the partner.
+            "partnerName": "A String", # Output only. Name of the hotel partner.
+          },
+          "id": "A String", # Output only. The ID of the asset set.
+          "locationGroupParentAssetSetId": "A String", # Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.
+          "locationSet": { # Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. # Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC.
+            "businessProfileLocationSet": { # Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. # Data used to configure a location set populated from Google Business Profile locations.
+              "businessAccountId": "A String", # Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.
+              "businessNameFilter": "A String", # Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.
+              "emailAddress": "A String", # Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.
+              "httpAuthorizationToken": "A String", # Required. Immutable. The HTTP authorization token used to obtain authorization.
+              "labelFilters": [ # Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.
+                "A String",
+              ],
+              "listingIdFilters": [ # Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.
+                "A String",
+              ],
+            },
+            "chainLocationSet": { # Data used to configure a location set populated with the specified chains. # Data used to configure a location on chain set populated with the specified chains.
+              "chains": [ # Required. A list of chain level filters, all filters are OR'ed together.
+                { # One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.
+                  "chainId": "A String", # Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.
+                  "locationAttributes": [ # Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.
+                    "A String",
+                  ],
+                },
+              ],
+              "relationshipType": "A String", # Required. Immutable. Relationship type the specified chains have with this advertiser.
+            },
+            "locationOwnershipType": "A String", # Required. Immutable. Location Ownership Type (owned location or affiliate location).
+            "mapsLocationSet": { # Wrapper for multiple maps location sync data # Only set if locations are synced based on selected maps locations
+              "mapsLocations": [ # Required. A list of maps location info that user manually synced in.
+                { # Wrapper for place ids
+                  "placeId": "A String", # Place ID of the Maps location.
+                },
+              ],
+            },
+          },
+          "merchantCenterFeed": { # Merchant ID and Feed Label from Google Merchant Center. # Merchant ID and Feed Label from Google Merchant Center.
+            "feedLabel": "A String", # Optional. Feed Label from Google Merchant Center.
+            "merchantId": "A String", # Required. Merchant ID from Google Merchant Center
+          },
+          "name": "A String", # Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.
+          "resourceName": "A String", # Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`
+          "status": "A String", # Output only. The status of the asset set. Read-only.
+          "type": "A String", # Required. Immutable. The type of the asset set. Required.
+        },
+        "assetSetAsset": { # AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. # Output only. Set if change_resource_type == ASSET_SET_ASSET.
+          "asset": "A String", # Immutable. The asset which this asset set asset is linking to.
+          "assetSet": "A String", # Immutable. The asset set which this asset set asset is linking to.
+          "resourceName": "A String", # Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`
+          "status": "A String", # Output only. The status of the asset set asset. Read-only.
+        },
+        "campaign": { # A campaign. # Output only. Set if change_resource_type == CAMPAIGN.
+          "accessibleBiddingStrategy": "A String", # Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.
+          "adServingOptimizationStatus": "A String", # The ad serving optimization status of the campaign.
+          "advertisingChannelSubType": "A String", # Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.
+          "advertisingChannelType": "A String", # Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.
+          "aiMaxSetting": { # Settings for AI Max in search campaigns. # Settings for AI Max in search campaigns.
+            "bundlingRequired": "A String", # Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.
+            "enableAiMax": True or False, # Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.
+          },
+          "appCampaignSetting": { # Campaign-level settings for App Campaigns. # The setting related to App Campaign.
+            "appId": "A String", # Immutable. A string that uniquely identifies a mobile application.
+            "appStore": "A String", # Immutable. The application store that distributes this specific app.
+            "biddingStrategyGoalType": "A String", # Represents the goal which the bidding strategy of this app campaign should optimize towards.
+          },
+          "assetAutomationSettings": [ # Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.
+            { # Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
+              "assetAutomationStatus": "A String", # The opt-in/out status of asset automation type.
+              "assetAutomationType": "A String", # The asset automation type advertiser would like to opt-in/out.
+            },
+          ],
+          "audienceSetting": { # Settings for the audience targeting. # Immutable. Setting for audience related features.
+            "useAudienceGrouped": True or False, # Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.
+          },
+          "baseCampaign": "A String", # Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.
+          "biddingStrategy": "A String", # The resource name of the portfolio bidding strategy used by the campaign.
+          "biddingStrategySystemStatus": "A String", # Output only. The system status of the campaign's bidding strategy.
+          "biddingStrategyType": "A String", # Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.
+          "brandGuidelines": { # Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.
+            "accentColor": "A String", # The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.
+            "mainColor": "A String", # The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.
+            "predefinedFontFamily": "A String", # The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.
+          },
+          "brandGuidelinesEnabled": True or False, # Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.
+          "campaignBudget": "A String", # The resource name of the campaign budget of the campaign.
+          "campaignGroup": "A String", # The resource name of the campaign group that this campaign belongs to.
+          "commission": { # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. # Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.
+            "commissionRateMicros": "A String", # Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).
+          },
+          "containsEuPoliticalAdvertising": "A String", # The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.
+          "demandGenCampaignSettings": { # Settings for Demand Gen campaign. # Settings for Demand Gen campaign.
+            "upgradedTargeting": True or False, # Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.
+          },
+          "dynamicSearchAdsSetting": { # The setting for controlling Dynamic Search Ads (DSA). # The setting for controlling Dynamic Search Ads (DSA).
+            "domainName": "A String", # Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com".
+            "languageCode": "A String", # Required. The language code specifying the language of the domain, for example, "en".
+            "useSuppliedUrlsOnly": True or False, # Whether the campaign uses advertiser supplied URLs exclusively.
+          },
+          "effectiveLabels": [ # Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.
+            "A String",
+          ],
+          "endDateTime": "A String", # The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.
+          "engineId": "A String", # Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead.
+          "excludedParentAssetFieldTypes": [ # The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.
+            "A String",
+          ],
+          "excludedParentAssetSetTypes": [ # The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.
+            "A String",
+          ],
+          "experimentType": "A String", # Output only. The type of campaign: normal, draft, or experiment.
+          "feedTypes": [ # Output only. Types of feeds that are attached directly to this campaign.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # Suffix used to append query parameters to landing pages that are served with parallel tracking.
+          "frequencyCaps": [ # A list that limits how often each user will see this campaign's ads.
+            { # A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.
+              "cap": 42, # Maximum number of events allowed during the time range by this cap.
+              "key": { # A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. # The key of a particular frequency cap. There can be no more than one frequency cap with the same key.
+                "eventType": "A String", # The type of event that the cap applies to (for example, impression).
+                "level": "A String", # The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.
+                "timeLength": 42, # Number of time units the cap lasts.
+                "timeUnit": "A String", # Unit of time the cap is defined at (for example, day, week).
+              },
+            },
+          ],
+          "geoTargetTypeSetting": { # Represents a collection of settings related to ads geotargeting. # The setting for ads geotargeting.
+            "negativeGeoTargetType": "A String", # The setting used for negative geotargeting in this particular campaign.
+            "positiveGeoTargetType": "A String", # The setting used for positive geotargeting in this particular campaign.
+          },
+          "hotelPropertyAssetSet": "A String", # Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.
+          "hotelSetting": { # Campaign-level settings for hotel ads. # Output only. The hotel setting for the campaign.
+            "hotelCenterId": "A String", # Output only. The linked Hotel Center account.
+          },
+          "id": "A String", # Output only. The ID of the campaign.
+          "keywordMatchType": "A String", # Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.
+          "labels": [ # Output only. The resource names of labels attached to this campaign.
+            "A String",
+          ],
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "listingType": "A String", # Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.
+          "localCampaignSetting": { # Campaign setting for local campaigns. # The setting for local campaign.
+            "locationSourceType": "A String", # The location source type for this local campaign.
+          },
+          "localServicesCampaignSettings": { # Settings for LocalServicesCampaign subresource. # The Local Services Campaign related settings.
+            "categoryBids": [ # Categorical level bids associated with MANUAL_CPA bidding strategy.
+              { # Category bids in LocalServicesReportingCampaignSettings.
+                "categoryId": "A String", # Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.
+                "manualCpaBidMicros": "A String", # Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.
+                "targetCpaBidMicros": "A String", # Target CPA bid for the category. Value is in micros and in the advertiser's currency.
+              },
+            ],
+          },
+          "manualCpa": { # Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. # Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns.
+          },
+          "manualCpc": { # Manual click-based bidding where user pays per click. # Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click.
+            "enhancedCpcEnabled": True or False, # Whether bids are to be enhanced based on conversion optimizer data.
+          },
+          "manualCpm": { # Manual impression-based bidding where user pays per thousand impressions. # Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions.
+          },
+          "manualCpv": { # View based bidding where user pays per video view. # A bidding strategy that pays a configurable amount per video view.
+          },
+          "maximizeConversionValue": { # An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. # Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetRoas": 3.14, # The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
+          },
+          "maximizeConversions": { # An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. # Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
+            "targetCpaMicros": "A String", # The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
+          },
+          "missingEuPoliticalAdvertisingDeclaration": True or False, # Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.
+          "name": "A String", # The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.
+          "networkSettings": { # The network settings for the campaign. # The network settings for the campaign.
+            "targetContentNetwork": True or False, # Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.
+            "targetGoogleSearch": True or False, # Whether ads will be served with google.com search results.
+            "targetGoogleTvNetwork": True or False, # Whether ads will be served on the Google TV network.
+            "targetPartnerSearchNetwork": True or False, # Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.
+            "targetSearchNetwork": True or False, # Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).
+            "targetYoutube": True or False, # Whether ads will be served on YouTube.
+          },
+          "optimizationGoalSetting": { # Optimization goal setting for this campaign, which includes a set of optimization goal types. # Optimization goal setting for this campaign, which includes a set of optimization goal types.
+            "optimizationGoalTypes": [ # The list of optimization goal types.
+              "A String",
+            ],
+          },
+          "optimizationScore": 3.14, # Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+          "paymentMode": "A String", # Payment mode for the campaign.
+          "percentCpc": { # A bidding strategy where bids are a fraction of the advertised price for some good or service. # Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.
+            "enhancedCpcEnabled": True or False, # Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.
+          },
+          "performanceMaxUpgrade": { # Information about a campaign being upgraded to Performance Max. # Output only. Information about campaigns being upgraded to Performance Max.
+            "performanceMaxCampaign": "A String", # Output only. The resource name of the Performance Max campaign the campaign is upgraded to.
+            "preUpgradeCampaign": "A String", # Output only. The resource name of the legacy campaign upgraded to Performance Max.
+            "status": "A String", # Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.
+          },
+          "pmaxCampaignSettings": { # Settings for Performance Max campaigns. # Settings for Performance Max campaign.
+            "brandTargetingOverrides": { # Overrides of brand targeting for various ad types. # Overrides of brand targeting for various ad types.
+              "ignoreExclusionsForShoppingAds": True or False, # If true, brand exclusions are ignored for Shopping ads.
+            },
+          },
+          "primaryStatus": "A String", # Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.
+          "primaryStatusReasons": [ # Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.
+            "A String",
+          ],
+          "realTimeBiddingSetting": { # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. # Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.
+            "optIn": True or False, # Whether the campaign is opted in to real-time bidding.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`
+          "selectiveOptimization": { # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. # Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.
+            "conversionActions": [ # The selected set of resource names for conversion actions for optimizing this campaign.
+              "A String",
+            ],
+          },
+          "selectiveOptimizationMode": "A String", # Selective optimization mode for this campaign.
+          "servingStatus": "A String", # Output only. The ad serving status of the campaign.
+          "shoppingSetting": { # The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. # The setting for controlling Shopping campaigns.
+            "advertisingPartnerIds": [ # The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.
+              "A String",
+            ],
+            "campaignPriority": 42, # Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.
+            "disableProductFeed": True or False, # Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.
+            "enableLocal": True or False, # Whether to include local products.
+            "feedLabel": "A String", # Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.
+            "merchantId": "A String", # ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.
+            "useVehicleInventory": True or False, # Immutable. Whether to target Vehicle Listing inventory.
+          },
+          "startDateTime": "A String", # The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.
+          "status": "A String", # The status of the campaign. When a new campaign is added, the status defaults to ENABLED.
+          "targetCpa": { # An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. # Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetCpaMicros": "A String", # Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpc": { # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. # An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.
+            "targetCpcMicros": "A String", # Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
+          },
+          "targetCpm": { # Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. # A bidding strategy that automatically optimizes cost per thousand impressions.
+          },
+          "targetImpressionShare": { # An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). # Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions.
+            "cpcBidCeilingMicros": "A String", # The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
+            "location": "A String", # The targeted location on the search results page.
+            "locationFractionMicros": "A String", # The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
+          },
+          "targetRoas": { # An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). # Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS).
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "cpcBidFloorMicros": "A String", # Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
+            "targetRoas": 3.14, # Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
+            "targetRoasTolerancePercentMillis": "A String", # The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
+          },
+          "targetSpend": { # An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. # Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget.
+            "cpcBidCeilingMicros": "A String", # Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
+            "targetSpendMicros": "A String", # Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
+          },
+          "targetingSetting": { # Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 # Setting for targeting related features.
+            "targetRestrictionOperations": [ # The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.
+              { # Operation to be performed on a target restriction list in a mutate.
+                "operator": "A String", # Type of list operation to perform.
+                "value": { # The list of per-targeting-dimension targeting settings. # The target restriction being added to or removed from the list.
+                  "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                  "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+                },
+              },
+            ],
+            "targetRestrictions": [ # The per-targeting-dimension setting to restrict the reach of your campaign or ad group.
+              { # The list of per-targeting-dimension targeting settings.
+                "bidOnly": True or False, # Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.
+                "targetingDimension": "A String", # The targeting dimension that these settings apply to.
+              },
+            ],
+          },
+          "thirdPartyIntegrationPartners": { # Container for Campaign level third party integration partners. # Third-Party integration partners.
+            "brandLiftIntegrationPartners": [ # Third party integration partners for Brand Lift verification for this Campaign.
+              { # Container for third party Brand Lift integration data for Campaign.
+                "brandLiftIntegrationPartner": "A String", # Allowed third party integration partners for Brand Lift verification.
+                "brandLiftIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "brandSafetyIntegrationPartners": [ # Third party integration partners for brand safety verification for this Campaign.
+              { # Container for third party brand safety integration data for Campaign.
+                "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+                "brandSafetyIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+            "reachIntegrationPartners": [ # Third party integration partners for reach verification for this Campaign.
+              { # Container for third party reach integration data for Campaign.
+                "reachIntegrationPartner": "A String", # Allowed third party integration partners for reach verification.
+                "reachIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+              },
+            ],
+            "viewabilityIntegrationPartners": [ # Third party integration partners for YouTube viewability verification for this Campaign.
+              { # Container for third party viewability integration data for Campaign.
+                "shareCost": True or False, # If true, then cost data will be shared with this vendor.
+                "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+                "viewabilityIntegrationPartnerData": { # Contains third party measurement partner related data for video campaigns. # Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns.
+                  "clientId": "A String", # The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.
+                  "thirdPartyPlacementId": "A String", # The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.
+                },
+              },
+            ],
+          },
+          "trackingSetting": { # Campaign-level settings for tracking information. # Output only. Campaign-level settings for tracking information.
+            "trackingUrl": "A String", # Output only. The url used for dynamic tracking.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelCampaignSettings": { # Settings for Travel campaign. # Settings for Travel campaign.
+            "travelAccountId": "A String", # Immutable. The Travel account ID associated with the Travel campaign.
+          },
+          "urlCustomParameters": [ # The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+          "vanityPharma": { # Describes how unbranded pharma ads will be displayed. # Describes how unbranded pharma ads will be displayed.
+            "vanityPharmaDisplayUrlMode": "A String", # The display mode for vanity pharma URLs.
+            "vanityPharmaText": "A String", # The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
+          },
+          "videoBrandSafetySuitability": "A String", # Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+        },
+        "campaignAsset": { # A link between a Campaign and an Asset. # Output only. Set if change_resource_type == CAMPAIGN_ASSET.
+          "asset": "A String", # Immutable. The asset which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which the asset is linked.
+          "fieldType": "A String", # Immutable. Role that the asset takes under the linked campaign. Required.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the campaign asset link.
+          "status": "A String", # Status of the campaign asset.
+        },
+        "campaignAssetSet": { # CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. # Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.
+          "assetSet": "A String", # Immutable. The asset set which is linked to the campaign.
+          "campaign": "A String", # Immutable. The campaign to which this asset set is linked.
+          "resourceName": "A String", # Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`
+          "status": "A String", # Output only. The status of the campaign asset set asset. Read-only.
+        },
+        "campaignBudget": { # A campaign budget. # Output only. Set if change_resource_type == CAMPAIGN_BUDGET.
+          "alignedBiddingStrategyId": "A String", # ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.
+          "amountMicros": "A String", # The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.
+          "deliveryMethod": "A String", # The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.
+          "explicitlyShared": True or False, # Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.
+          "hasRecommendedBudget": True or False, # Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.
+          "id": "A String", # Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.
+          "name": "A String", # The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
+          "period": "A String", # Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyClicks": "A String", # Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyCostMicros": "A String", # Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyInteractions": "A String", # Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.
+          "recommendedBudgetEstimatedChangeWeeklyViews": "A String", # Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.
+          "referenceCount": "A String", # Output only. The number of campaigns actively using the budget. This field is read-only.
+          "resourceName": "A String", # Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
+          "status": "A String", # Output only. The status of this campaign budget. This field is read-only.
+          "totalAmountMicros": "A String", # The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.
+          "type": "A String", # Immutable. The type of the campaign budget.
+        },
+        "campaignCriterion": { # A campaign criterion. # Output only. Set if change_resource_type == CAMPAIGN_CRITERION.
+          "adSchedule": { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. # Immutable. Ad Schedule.
+            "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          },
+          "ageRange": { # An age range criterion. # Immutable. Age range.
+            "type": "A String", # Type of the age range.
+          },
+          "bidModifier": 3.14, # The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.
+          "brandList": { # A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. # Immutable. Brand list campaign criterion.
+            "sharedSet": "A String", # Shared set resource name of the brand list.
+          },
+          "campaign": "A String", # Immutable. The campaign to which the criterion belongs.
+          "carrier": { # Represents a Carrier Criterion. # Immutable. Carrier.
+            "carrierConstant": "A String", # The Carrier constant resource name.
+          },
+          "combinedAudience": { # A combined audience criterion. # Immutable. Combined Audience.
+            "combinedAudience": "A String", # The CombinedAudience resource name.
+          },
+          "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+            "type": "A String", # Content label type, required for CREATE operations.
+          },
+          "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored during mutate.
+          "device": { # A device criterion. # Immutable. Device.
+            "type": "A String", # Type of the device.
+          },
+          "displayName": "A String", # Output only. The display name of the criterion. This field is ignored for mutates.
+          "extendedDemographic": { # Represents an extended demographic criterion. # Immutable. Extended demographic criterion.
+            "extendedDemographicId": "A String", # Taxonomy id of the extended demographic group.
+          },
+          "gender": { # A gender criterion. # Immutable. Gender.
+            "type": "A String", # Type of the gender.
+          },
+          "incomeRange": { # An income range criterion. # Immutable. Income range.
+            "type": "A String", # Type of the income range.
+          },
+          "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.
+            "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+          },
+          "keyword": { # A keyword criterion. # Immutable. Keyword.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+          "keywordTheme": { # A Smart Campaign keyword theme. # Immutable. Smart Campaign Keyword Theme.
+            "freeFormKeywordTheme": "A String", # Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.
+            "keywordThemeConstant": "A String", # The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+          },
+          "language": { # A language criterion. # Immutable. Language.
+            "languageConstant": "A String", # The language constant resource name.
+          },
+          "lastModifiedTime": "A String", # Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+          "lifeEvent": { # Represents a life event criterion. # Immutable. Life event campaign criterion.
+            "lifeEventId": "A String", # Taxonomy id of the life event.
+          },
+          "listingScope": { # A listing scope criterion. # Immutable. Listing scope.
+            "dimensions": [ # Scope of the campaign criterion.
+              { # Listing dimensions for listing group criterion.
+                "activityCity": { # The city where the travel activity is available. # The city where the travel activity is available.
+                  "value": "A String", # String value of the activity city. The Geo Target Constant resource name.
+                },
+                "activityCountry": { # The country where the travel activity is available. # The country where the travel activity is available.
+                  "value": "A String", # String value of the activity country. The Geo Target Constant resource name.
+                },
+                "activityId": { # Advertiser-specific activity ID. # Advertiser-specific activity ID.
+                  "value": "A String", # String value of the activity ID.
+                },
+                "activityRating": { # Rating of the activity as a number 1 to 5, where 5 is the best. # Rating of the activity as a number 1 to 5, where 5 is the best.
+                  "value": "A String", # Long value of the activity rating.
+                },
+                "activityState": { # The state where the travel activity is available. # The state where the travel activity is available.
+                  "value": "A String", # String value of the activity state. The Geo Target Constant resource name.
+                },
+                "hotelCity": { # City the hotel is located in. # City the hotel is located in.
+                  "cityCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelClass": { # Class of the hotel as a number of stars 1 to 5. # Class of the hotel as a number of stars 1 to 5.
+                  "value": "A String", # Long value of the hotel class.
+                },
+                "hotelCountryRegion": { # Country or Region the hotel is located in. # Country or Region the hotel is located in.
+                  "countryRegionCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "hotelId": { # Advertiser-specific hotel ID. # Advertiser-specific hotel ID.
+                  "value": "A String", # String value of the hotel ID.
+                },
+                "hotelState": { # State the hotel is located in. # State the hotel is located in.
+                  "stateCriterion": "A String", # The Geo Target Constant resource name.
+                },
+                "productBrand": { # Brand of the product. # Brand of a product offer.
+                  "value": "A String", # String value of the product brand.
+                },
+                "productCategory": { # Category of a product offer. # Category of a product offer.
+                  "categoryId": "A String", # ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436
+                  "level": "A String", # Level of the product category.
+                },
+                "productChannel": { # Locality of a product offer. # Locality of a product offer.
+                  "channel": "A String", # Value of the locality.
+                },
+                "productChannelExclusivity": { # Availability of a product offer. # Availability of a product offer.
+                  "channelExclusivity": "A String", # Value of the availability.
+                },
+                "productCondition": { # Condition of a product offer. # Condition of a product offer.
+                  "condition": "A String", # Value of the condition.
+                },
+                "productCustomAttribute": { # Custom attribute of a product offer. # Custom attribute of a product offer.
+                  "index": "A String", # Indicates the index of the custom attribute.
+                  "value": "A String", # String value of the product custom attribute.
+                },
+                "productGrouping": { # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product grouping.
+                },
+                "productItemId": { # Item id of a product offer. # Item id of a product offer.
+                  "value": "A String", # Value of the id.
+                },
+                "productLabels": { # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product labels.
+                },
+                "productLegacyCondition": { # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product legacy condition.
+                },
+                "productType": { # Type of a product offer. # Type of a product offer.
+                  "level": "A String", # Level of the type.
+                  "value": "A String", # Value of the type.
+                },
+                "productTypeFull": { # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. # Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.
+                  "value": "A String", # String value of the product full type.
+                },
+                "unknownListingDimension": { # Unknown listing dimension. # Unknown dimension. Set when no other listing dimension is set.
+                },
+              },
+            ],
+          },
+          "localServiceId": { # A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. # Immutable. GLS service campaign criterion.
+            "serviceId": "A String", # The criterion resource name.
+          },
+          "location": { # A location criterion. # Immutable. Location.
+            "geoTargetConstant": "A String", # The geo target constant resource name.
+          },
+          "locationGroup": { # A radius around a list of locations specified through a feed. # Immutable. Location Group
+            "enableCustomerLevelLocationAssetSet": True or False, # Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+            "feedItemSets": [ # FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.
+              "A String",
+            ],
+            "geoTargetConstants": [ # Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.
+              "A String",
+            ],
+            "locationGroupAssetSets": [ # AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.
+              "A String",
+            ],
+            "radius": "A String", # Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.
+            "radiusUnits": "A String", # Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.
+          },
+          "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile app category.
+            "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+          },
+          "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+            "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+            "name": "A String", # Name of this mobile application.
+          },
+          "mobileDevice": { # A mobile device criterion. # Immutable. Mobile Device.
+            "mobileDeviceConstant": "A String", # The mobile device constant resource name.
+          },
+          "negative": True or False, # Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
+          "operatingSystemVersion": { # Represents an operating system version to be targeted. # Immutable. Operating system version.
+            "operatingSystemVersionConstant": "A String", # The operating system version constant resource name.
+          },
+          "parentalStatus": { # A parental status criterion. # Immutable. Parental status.
+            "type": "A String", # Type of the parental status.
+          },
+          "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+            "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+          },
+          "proximity": { # A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. # Immutable. Proximity.
+            "address": { # Address for proximity criterion. # Full address.
+              "cityName": "A String", # Name of the city.
+              "countryCode": "A String", # Country code.
+              "postalCode": "A String", # Postal code.
+              "provinceCode": "A String", # Province or state code.
+              "provinceName": "A String", # Province or state name.
+              "streetAddress": "A String", # Street address line 1.
+              "streetAddress2": "A String", # Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.
+            },
+            "geoPoint": { # Geo point for proximity criterion. # Latitude and longitude.
+              "latitudeInMicroDegrees": 42, # Micro degrees for the latitude.
+              "longitudeInMicroDegrees": 42, # Micro degrees for the longitude.
+            },
+            "radius": 3.14, # The radius of the proximity.
+            "radiusUnits": "A String", # The unit of measurement of the radius. Default is KILOMETERS.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+          "status": "A String", # The status of the criterion.
+          "topic": { # A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # Immutable. Topic.
+            "path": [ # The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category.
+              "A String",
+            ],
+            "topicConstant": "A String", # The Topic Constant resource name.
+          },
+          "type": "A String", # Output only. The type of the criterion.
+          "userInterest": { # Represents a particular interest-based topic to be targeted. # Immutable. User Interest.
+            "userInterestCategory": "A String", # The UserInterest resource name.
+          },
+          "userList": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # Immutable. User List.
+            "userList": "A String", # The User List resource name.
+          },
+          "videoLineup": { # A Video lineup criterion. # Immutable. Video lineup criterion.
+            "videoLineupId": "A String", # ID for a Video lineup. Contact your Google business development representative for details.
+          },
+          "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+            "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+              { # Logical expression for targeting webpages of an advertiser's website.
+                "argument": "A String", # Argument of webpage targeting condition.
+                "operand": "A String", # Operand of webpage targeting condition.
+                "operator": "A String", # Operator of webpage targeting condition.
+              },
+            ],
+            "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+            "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+              "sampleUrls": [ # Webpage sample urls
+                "A String",
+              ],
+            },
+          },
+          "webpageList": { # Represents a list of webpage criteria. # Immutable. Webpage list. This criterion is not publicly available.
+            "sharedSet": "A String", # Shared set resource name of the webpage list.
+          },
+          "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+            "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+          },
+          "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+            "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+          },
+        },
+        "customerAsset": { # A link between a customer and an asset. # Output only. Set if change_resource_type == CUSTOMER_ASSET.
+          "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+          "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+          "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+          "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+            { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+              "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+                "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+                  "A String",
+                ],
+              },
+              "reason": "A String", # Provides the reason of this PrimaryStatus.
+              "status": "A String", # Provides the PrimaryStatus of this status detail.
+            },
+          ],
+          "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+            "A String",
+          ],
+          "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+          "source": "A String", # Output only. Source of the customer asset link.
+          "status": "A String", # Status of the customer asset.
+        },
+      },
+      "resourceChangeOperation": "A String", # Output only. The operation on the changed resource.
+      "resourceName": "A String", # Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}`
+      "userEmail": "A String", # Output only. The email of the user who made this change.
+    },
+    "changeStatus": { # Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change. # The ChangeStatus referenced in the query.
+      "adGroup": "A String", # Output only. The AdGroup affected by this change.
+      "adGroupAd": "A String", # Output only. The AdGroupAd affected by this change.
+      "adGroupAsset": "A String", # Output only. The AdGroupAsset affected by this change.
+      "adGroupBidModifier": "A String", # Output only. The AdGroupBidModifier affected by this change.
+      "adGroupCriterion": "A String", # Output only. The AdGroupCriterion affected by this change.
+      "asset": "A String", # Output only. The Asset affected by this change.
+      "assetGroup": "A String", # Output only. The AssetGroup affected by this change.
+      "assetSet": "A String", # Output only. The AssetSet affected by this change.
+      "campaign": "A String", # Output only. The Campaign affected by this change.
+      "campaignAsset": "A String", # Output only. The CampaignAsset affected by this change.
+      "campaignAssetSet": "A String", # Output only. The CampaignAssetSet affected by this change.
+      "campaignBudget": "A String", # Output only. The CampaignBudget affected by this change.
+      "campaignCriterion": "A String", # Output only. The CampaignCriterion affected by this change.
+      "campaignSharedSet": "A String", # Output only. The CampaignSharedSet affected by this change.
+      "combinedAudience": "A String", # Output only. The CombinedAudience affected by this change.
+      "customerAsset": "A String", # Output only. The CustomerAsset affected by this change.
+      "lastChangeDateTime": "A String", # Output only. Time at which the most recent change has occurred on this resource.
+      "resourceName": "A String", # Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id}/changeStatus/{change_status_id}`
+      "resourceStatus": "A String", # Output only. Represents the status of the changed resource.
+      "resourceType": "A String", # Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.
+      "sharedSet": "A String", # Output only. The SharedSet affected by this change.
+    },
+    "clickView": { # A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre). # The ClickView referenced in the query.
+      "adGroupAd": "A String", # Output only. The associated ad.
+      "areaOfInterest": { # Location criteria associated with a click. # Output only. The location criteria matching the area of interest associated with the impression.
+        "city": "A String", # The city location criterion associated with the impression.
+        "country": "A String", # The country location criterion associated with the impression.
+        "metro": "A String", # The metro location criterion associated with the impression.
+        "mostSpecific": "A String", # The most specific location criterion associated with the impression.
+        "region": "A String", # The region location criterion associated with the impression.
+      },
+      "campaignLocationTarget": "A String", # Output only. The associated campaign location target, if one exists.
+      "gclid": "A String", # Output only. The Google Click ID.
+      "keyword": "A String", # Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.
+      "keywordInfo": { # A keyword criterion. # Output only. Basic information about the associated keyword, if it exists.
+        "matchType": "A String", # The match type of the keyword.
+        "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+      },
+      "locationOfPresence": { # Location criteria associated with a click. # Output only. The location criteria matching the location of presence associated with the impression.
+        "city": "A String", # The city location criterion associated with the impression.
+        "country": "A String", # The country location criterion associated with the impression.
+        "metro": "A String", # The metro location criterion associated with the impression.
+        "mostSpecific": "A String", # The most specific location criterion associated with the impression.
+        "region": "A String", # The region location criterion associated with the impression.
+      },
+      "pageNumber": "A String", # Output only. Page number in search results where the ad was shown.
+      "resourceName": "A String", # Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+      "userList": "A String", # Output only. The associated user list, if one exists.
+    },
+    "combinedAudience": { # Describe a resource for combined audiences which includes different audiences. # The CombinedAudience referenced in the query.
+      "description": "A String", # Output only. Description of this combined audience.
+      "id": "A String", # Output only. ID of the combined audience.
+      "name": "A String", # Output only. Name of the combined audience. It should be unique across all combined audiences.
+      "resourceName": "A String", # Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id}/combinedAudience/{combined_audience_id}`
+      "status": "A String", # Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.
+    },
+    "contentCriterionView": { # A content criterion view. # The content criterion view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}`
+    },
+    "conversion": { # A conversion. # The event level conversion referenced in the query.
+      "adId": "A String", # Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
+      "advertiserConversionId": "A String", # Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions.
+      "assetFieldType": "A String", # Output only. Asset field type of the conversion event.
+      "assetId": "A String", # Output only. ID of the asset which was interacted with during the conversion event.
+      "attributionType": "A String", # Output only. What the conversion is attributed to: Visit or Keyword+Ad.
+      "clickId": "A String", # Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter.
+      "conversionDateTime": "A String", # Output only. The timestamp of the conversion event.
+      "conversionLastModifiedDateTime": "A String", # Output only. The timestamp of the last time the conversion was modified.
+      "conversionQuantity": "A String", # Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1.
+      "conversionRevenueMicros": "A String", # Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account.
+      "conversionVisitDateTime": "A String", # Output only. The timestamp of the visit that the conversion is attributed to.
+      "criterionId": "A String", # Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed.
+      "floodlightOrderId": "A String", # Output only. The Floodlight order ID provided by the advertiser for the conversion.
+      "floodlightOriginalRevenue": "A String", # Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications.
+      "id": "A String", # Output only. The ID of the conversion
+      "merchantId": "A String", # Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
+      "productChannel": "A String", # Output only. The sales channel of the product that was clicked on: Online or Local.
+      "productCountryCode": "A String", # Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on.
+      "productId": "A String", # Output only. The ID of the product clicked on.
+      "productLanguageCode": "A String", # Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
+      "productStoreId": "A String", # Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
+      "resourceName": "A String", # Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}`
+      "status": "A String", # Output only. The status of the conversion, either ENABLED or REMOVED..
+      "visitId": "A String", # Output only. The Search Ads 360 visit ID that the conversion is attributed to.
+    },
+    "conversionAction": { # A conversion action. # The conversion action referenced in the query.
+      "appId": "A String", # App ID for an app conversion action.
+      "attributionModelSettings": { # Settings related to this conversion action's attribution model. # Settings related to this conversion action's attribution model.
+        "attributionModel": "A String", # The attribution model type of this conversion action.
+        "dataDrivenModelStatus": "A String", # Output only. The status of the data-driven attribution model for the conversion action.
+      },
+      "category": "A String", # The category of conversions reported for this conversion action.
+      "clickThroughLookbackWindowDays": "A String", # The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.
+      "countingType": "A String", # How to count conversion events for the conversion action.
+      "creationTime": "A String", # Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.
+      "firebaseSettings": { # Settings related to a Firebase conversion action. # Output only. Firebase settings for Firebase conversion types.
+        "eventName": "A String", # Output only. The event name of a Firebase conversion.
+        "projectId": "A String", # Output only. The Firebase project ID of the conversion.
+        "propertyId": "A String", # Output only. The GA property ID of the conversion.
+        "propertyName": "A String", # Output only. The GA property name of the conversion.
+      },
+      "floodlightSettings": { # Settings related to a Floodlight conversion action. # Output only. Floodlight settings for Floodlight conversion types.
+        "activityGroupTag": "A String", # Output only. String used to identify a Floodlight activity group when reporting conversions.
+        "activityId": "A String", # Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).
+        "activityTag": "A String", # Output only. String used to identify a Floodlight activity when reporting conversions.
+      },
+      "googleAnalytics4Settings": { # Settings related to a Google Analytics 4 conversion action. # Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.
+        "eventName": "A String", # Output only. The name of the GA 4 event.
+        "propertyId": "A String", # Output only. The ID of the GA 4 property.
+        "propertyName": "A String", # Output only. The name of the GA 4 property.
+      },
+      "id": "A String", # Output only. The ID of the conversion action.
+      "includeInClientAccountConversionsMetric": True or False, # Whether this conversion action should be included in the "client_account_conversions" metric.
+      "includeInConversionsMetric": True or False, # Output only. Whether this conversion action should be included in the "conversions" metric.
+      "mobileAppVendor": "A String", # Output only. Mobile app vendor for an app conversion action.
+      "name": "A String", # The name of the conversion action. This field is required and should not be empty when creating new conversion actions.
+      "origin": "A String", # Output only. The conversion origin of this conversion action.
+      "ownerCustomer": "A String", # Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.
+      "phoneCallDurationSeconds": "A String", # The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.
+      "primaryForGoal": True or False, # If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.
+      "resourceName": "A String", # Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`
+      "status": "A String", # The status of this conversion action for conversion event accrual.
+      "tagSnippets": [ # Output only. The snippets used for tracking conversions.
+        { # The site tag and event snippet pair for a TrackingCodeType.
+          "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+          "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+          "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+          "type": "A String", # The type of the generated tag snippets for tracking conversions.
+        },
+      ],
+      "thirdPartyAppAnalyticsSettings": { # Settings related to a third party app analytics conversion action. # Output only. Third Party App Analytics settings for third party conversion types.
+        "eventName": "A String", # Output only. The event name of a third-party app analytics conversion.
+        "providerName": "A String", # Output only. Name of the third-party app analytics provider.
+      },
+      "type": "A String", # Immutable. The type of this conversion action.
+      "valueSettings": { # Settings related to the value for conversion events associated with this conversion action. # Settings related to the value for conversion events associated with this conversion action.
+        "alwaysUseDefaultValue": True or False, # Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.
+        "defaultCurrencyCode": "A String", # The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.
+        "defaultValue": 3.14, # The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.
+      },
+      "viewThroughLookbackWindowDays": "A String", # The maximum number of days which may elapse between an impression and a conversion without an interaction.
+    },
+    "conversionCustomVariable": { # A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 # The conversion custom variable referenced in the query.
+      "cardinality": "A String", # Output only. Cardinality of the conversion custom variable.
+      "customColumnIds": [ # Output only. The IDs of custom columns that use this conversion custom variable.
+        "A String",
+      ],
+      "family": "A String", # Output only. Family of the conversion custom variable.
+      "floodlightConversionCustomVariableInfo": { # Information for Search Ads 360 Floodlight Conversion Custom Variables. # Output only. Fields for Search Ads 360 floodlight conversion custom variables.
+        "floodlightVariableDataType": "A String", # Output only. Floodlight variable data type defined in Search Ads 360.
+        "floodlightVariableType": "A String", # Output only. Floodlight variable type defined in Search Ads 360.
+      },
+      "id": "A String", # Output only. The ID of the conversion custom variable.
+      "name": "A String", # Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.
+      "ownerCustomer": "A String", # Output only. The resource name of the customer that owns the conversion custom variable.
+      "resourceName": "A String", # Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`
+      "status": "A String", # The status of the conversion custom variable for conversion event accrual.
+      "tag": "A String", # Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4".
+    },
+    "conversionGoalCampaignConfig": { # Conversion goal settings for a Campaign. # The ConversionGoalCampaignConfig referenced in the query.
+      "campaign": "A String", # Immutable. The campaign with which this conversion goal campaign config is associated.
+      "customConversionGoal": "A String", # The custom conversion goal the campaign is using for optimization.
+      "goalConfigLevel": "A String", # The level of goal config the campaign is using.
+      "resourceName": "A String", # Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`
+      "searchAds360CustomConversionGoal": "A String", # The Search Ads 360 custom conversion goal the campaign is using for optimization.
+      "searchAds360GoalConfigLevel": "A String", # The level of Search Ads 360 goal config the campaign is using.
+    },
+    "conversionValueRule": { # A conversion value rule # The conversion value rule referenced in the query.
+      "action": { # Action applied when rule is applied. # Action applied when the rule is triggered.
+        "operation": "A String", # Specifies applied operation.
+        "value": 3.14, # Specifies applied value.
+      },
+      "audienceCondition": { # Condition on Audience dimension. # Condition for audience that must be satisfied for the value rule to apply.
+        "userInterests": [ # User Interests.
+          "A String",
+        ],
+        "userLists": [ # User Lists.
+          "A String",
+        ],
+      },
+      "deviceCondition": { # Condition on Device dimension. # Condition for device type that must be satisfied for the value rule to apply.
+        "deviceTypes": [ # Value for device type condition.
+          "A String",
+        ],
+      },
+      "geoLocationCondition": { # Condition on Geo dimension. # Condition for Geo location that must be satisfied for the value rule to apply.
+        "excludedGeoMatchType": "A String", # Excluded Geo location match type.
+        "excludedGeoTargetConstants": [ # Geo locations that advertisers want to exclude.
+          "A String",
+        ],
+        "geoMatchType": "A String", # Included Geo location match type.
+        "geoTargetConstants": [ # Geo locations that advertisers want to include.
+          "A String",
+        ],
+      },
+      "id": "A String", # Output only. The ID of the conversion value rule.
+      "itineraryCondition": { # Condition on Itinerary dimension. # Condition for itinerary that must be satisfied for the value rule to apply.
+        "advanceBookingWindow": { # Range for the number of days between the date of the booking and the start of the itinerary. # Range for the number of days between the date of the booking and the start of the itinerary.
+          "maxDays": 42, # Maximum number of days between the date of the booking the start date.
+          "minDays": 42, # Minimum number of days between the date of the booking the start date.
+        },
+        "travelLength": { # Range for the itinerary length in number of nights. # Range for the itinerary length in number of nights.
+          "maxNights": 42, # Maximum number of days between the start date and the end date.
+          "minNights": 42, # Minimum number of nights between the start date and the end date.
+        },
+        "travelStartDay": { # The days of the week on which an itinerary's travel can start. # The days of the week on which this itinerary's travel can start.
+          "friday": True or False, # The travel can start on Friday.
+          "monday": True or False, # The travel can start on Monday.
+          "saturday": True or False, # The travel can start on Saturday.
+          "sunday": True or False, # The travel can start on Sunday.
+          "thursday": True or False, # The travel can start on Thursday.
+          "tuesday": True or False, # The travel can start on Tuesday.
+          "wednesday": True or False, # The travel can start on Wednesday.
+        },
+      },
+      "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+      "resourceName": "A String", # Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
+      "status": "A String", # The status of the conversion value rule.
+    },
+    "conversionValueRuleSet": { # A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. # The conversion value rule set referenced in the query.
+      "attachmentType": "A String", # Immutable. Defines the scope where the conversion value rule set is attached.
+      "campaign": "A String", # The resource name of the campaign when the conversion value rule set is attached to a campaign.
+      "conversionActionCategories": [ # Immutable. The conversion action categories of the conversion value rule set.
+        "A String",
+      ],
+      "conversionValueRules": [ # Resource names of rules within the rule set.
+        "A String",
+      ],
+      "dimensions": [ # Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.
+        "A String",
+      ],
+      "id": "A String", # Output only. The ID of the conversion value rule set.
+      "ownerCustomer": "A String", # Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **
+      "resourceName": "A String", # Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`
+      "status": "A String", # Output only. The status of the conversion value rule set. ** Read-only **
+    },
+    "currencyConstant": { # A currency constant. # The currency constant referenced in the query.
+      "billableUnitMicros": "A String", # Output only. The billable unit for this currency. Billed amounts should be multiples of this value.
+      "code": "A String", # Output only. ISO 4217 three-letter currency code, for example, "USD"
+      "name": "A String", # Output only. Full English name of the currency.
+      "resourceName": "A String", # Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code}`
+      "symbol": "A String", # Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.
+    },
+    "customAudience": { # A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED # The CustomAudience referenced in the query.
+      "description": "A String", # Description of this custom audience.
+      "id": "A String", # Output only. ID of the custom audience.
+      "members": [ # List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.
+        { # A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.
+          "app": "A String", # A package name of Android apps which users installed such as com.google.example.
+          "keyword": "A String", # A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.
+          "memberType": "A String", # The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.
+          "placeCategory": "A String", # A place type described by a place category users visit.
+          "url": "A String", # An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.
+        },
+      ],
+      "name": "A String", # Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.
+      "resourceName": "A String", # Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`
+      "status": "A String", # Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.
+      "type": "A String", # Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences)
+    },
+    "customColumns": [ # The custom columns.
+      { # A generic data container.
+        "booleanValue": True or False, # A boolean.
+        "doubleValue": 3.14, # A double.
+        "floatValue": 3.14, # A float.
+        "int64Value": "A String", # An int64.
+        "stringValue": "A String", # A string.
+      },
+    ],
+    "customConversionGoal": { # Custom conversion goal that can make arbitrary conversion actions biddable. # The CustomConversionGoal referenced in the query.
+      "conversionActions": [ # Conversion actions that the custom conversion goal makes biddable.
+        "A String",
+      ],
+      "id": "A String", # Immutable. The ID for this custom conversion goal.
+      "name": "A String", # The name for this custom conversion goal.
+      "resourceName": "A String", # Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`
+      "status": "A String", # The status of the custom conversion goal.
+    },
+    "customInterest": { # A custom interest. This is a list of users by interest. # The CustomInterest referenced in the query.
+      "description": "A String", # Description of this custom interest audience.
+      "id": "A String", # Output only. Id of the custom interest.
+      "members": [ # List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.
+        { # A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.
+          "memberType": "A String", # The type of custom interest member, KEYWORD or URL.
+          "parameter": "A String", # Keyword text when member_type is KEYWORD or URL string when member_type is URL.
+        },
+      ],
+      "name": "A String", # Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.
+      "resourceName": "A String", # Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`
+      "status": "A String", # Status of this custom interest. Indicates whether the custom interest is enabled or removed.
+      "type": "A String", # Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.
+    },
+    "customer": { # A customer. # The customer referenced in the query.
+      "accountLevel": "A String", # Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.
+      "accountStatus": "A String", # Output only. Account status, for example, Enabled, Paused, Removed, etc.
+      "accountType": "A String", # Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.
+      "associateManagerDescriptiveName": "A String", # Output only. The descriptive name of the associate manager.
+      "associateManagerId": "A String", # Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.
+      "autoTaggingEnabled": True or False, # Whether auto-tagging is enabled for the customer.
+      "callReportingSetting": { # Call reporting setting for a customer. # Call reporting setting for a customer.
+        "callConversionAction": "A String", # Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.
+        "callConversionReportingEnabled": True or False, # Whether to enable call conversion reporting.
+        "callReportingEnabled": True or False, # Enable reporting of phone call events by redirecting them through Google System.
+      },
+      "containsEuPoliticalAdvertising": "A String", # Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.
+      "conversionTrackingSetting": { # A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. # Conversion tracking setting for a customer.
+        "acceptedCustomerDataTerms": True or False, # Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.
+        "conversionTrackingId": "A String", # Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.
+        "conversionTrackingStatus": "A String", # Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.
+        "crossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.
+        "enhancedConversionsForLeadsEnabled": True or False, # Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.
+        "googleAdsConversionCustomer": "A String", # The resource name of the customer where conversions are created and managed. This field is read-only.
+        "googleAdsCrossAccountConversionTrackingId": "A String", # Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.
+      },
+      "creationTime": "A String", # Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "currencyCode": "A String", # Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.
+      "customerAgreementSetting": { # Customer Agreement Setting for a customer. # Output only. Customer Agreement Setting for a customer.
+        "acceptedLeadFormTerms": True or False, # Output only. Whether the customer has accepted lead form term of service.
+      },
+      "descriptiveName": "A String", # Optional, non-unique descriptive name of the customer.
+      "doubleClickCampaignManagerSetting": { # DoubleClick Campaign Manager (DCM) setting for a manager customer. # Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.
+        "advertiserId": "A String", # Output only. ID of the Campaign Manager advertiser associated with this customer.
+        "networkId": "A String", # Output only. ID of the Campaign Manager network associated with this customer.
+        "timeZone": "A String", # Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.
+      },
+      "engineId": "A String", # Output only. ID of the account in the external engine account.
+      "finalUrlSuffix": "A String", # The URL template for appending params to the final URL.
+      "hasPartnersBadge": True or False, # Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.
+      "id": "A String", # Output only. The ID of the customer.
+      "imageAssetAutoMigrationDone": True or False, # Output only. True if feed based image has been migrated to asset based image.
+      "imageAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.
+      "lastModifiedTime": "A String", # Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "localServicesSettings": { # Settings for Local Services customer. # Output only. Settings for Local Services customer.
+        "granularInsuranceStatuses": [ # Output only. A read-only list of geo vertical level insurance statuses.
+          { # Insurance status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular insurance status, per geo + vertical.
+          },
+        ],
+        "granularLicenseStatuses": [ # Output only. A read-only list of geo vertical level license statuses.
+          { # License status at geo + vertical level.
+            "categoryId": "A String", # Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+            "geoCriterionId": "A String", # Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.
+            "verificationStatus": "A String", # Output only. Granular license status, per geo + vertical.
+          },
+        ],
+      },
+      "locationAssetAutoMigrationDone": True or False, # Output only. True if feed based location has been migrated to asset based location.
+      "locationAssetAutoMigrationDoneDateTime": "A String", # Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.
+      "manager": True or False, # Output only. Whether the customer is a manager.
+      "managerDescriptiveName": "A String", # Output only. The descriptive name of the manager.
+      "managerId": "A String", # Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.
+      "optimizationScore": 3.14, # Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only.
+      "optimizationScoreWeight": 3.14, # Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.
+      "payPerConversionEligibilityFailureReasons": [ # Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.
+        "A String",
+      ],
+      "remarketingSetting": { # Remarketing setting for a customer. # Output only. Remarketing setting for a customer.
+        "googleGlobalSiteTag": "A String", # Output only. The Google tag.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`
+      "status": "A String", # Output only. The status of the customer.
+      "subManagerDescriptiveName": "A String", # Output only. The descriptive name of the sub manager.
+      "subManagerId": "A String", # Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.
+      "testAccount": True or False, # Output only. Whether the customer is a test account.
+      "timeZone": "A String", # Immutable. The local timezone ID of the customer.
+      "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL out of parameters.
+      "videoBrandSafetySuitability": "A String", # Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.
+      "videoCustomer": { # Video specific information about a Customer. # Video specific information about a Customer.
+        "thirdPartyIntegrationPartners": { # Container for Customer level third party integration partners. # Third Party integration partners.
+          "brandLiftIntegrationPartners": [ # Allowed third party integration partners for Brand Lift verification.
+            { # Container for third party Brand Lift integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "brandLiftIntegrationPartner": "A String", # Allowed Third Party integration partners for Brand Lift verification.
+            },
+          ],
+          "brandSafetyIntegrationPartners": [ # Allowed third party integration partners for brand safety verification.
+            { # Container for third party brand safety integration data for Customer.
+              "brandSafetyIntegrationPartner": "A String", # Allowed third party integration partners for brand safety verification.
+            },
+          ],
+          "reachIntegrationPartners": [ # Allowed third party integration partners for reach verification.
+            { # Container for third party reach integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "reachIntegrationPartner": "A String", # Allowed Third Party integration partners for reach verification.
+            },
+          ],
+          "viewabilityIntegrationPartners": [ # Allowed third party integration partners for YouTube viewability verification.
+            { # Container for third party viewability integration data for Customer.
+              "allowShareCost": True or False, # If true, cost data can be shared with this vendor.
+              "viewabilityIntegrationPartner": "A String", # Allowed third party integration partners for YouTube viewability verification.
+            },
+          ],
+        },
+      },
+    },
+    "customerAsset": { # A link between a customer and an asset. # The customer asset referenced in the query.
+      "asset": "A String", # Required. Immutable. The asset which is linked to the customer.
+      "fieldType": "A String", # Required. Immutable. Role that the asset takes for the customer link.
+      "primaryStatus": "A String", # Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.
+      "primaryStatusDetails": [ # Output only. Provides the details of the primary status and its associated reasons.
+        { # Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.
+          "assetDisapproved": { # Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED # Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED
+            "offlineEvaluationErrorReasons": [ # Provides the quality evaluation disapproval reason of an asset.
+              "A String",
+            ],
+          },
+          "reason": "A String", # Provides the reason of this PrimaryStatus.
+          "status": "A String", # Provides the PrimaryStatus of this status detail.
+        },
+      ],
+      "primaryStatusReasons": [ # Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.
+        "A String",
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`
+      "source": "A String", # Output only. Source of the customer asset link.
+      "status": "A String", # Status of the customer asset.
+    },
+    "customerAssetSet": { # CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer. # The customer asset set referenced in the query.
+      "assetSet": "A String", # Immutable. The asset set which is linked to the customer.
+      "customer": "A String", # Immutable. The customer to which this asset set is linked.
+      "resourceName": "A String", # Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`
+      "status": "A String", # Output only. The status of the customer asset set asset. Read-only.
+    },
+    "customerClient": { # A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself. # The CustomerClient referenced in the query.
+      "appliedLabels": [ # Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`
+        "A String",
+      ],
+      "clientCustomer": "A String", # Output only. The resource name of the client-customer which is linked to the given customer. Read only.
+      "currencyCode": "A String", # Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.
+      "descriptiveName": "A String", # Output only. Descriptive name for the client. Read only.
+      "hidden": True or False, # Output only. Specifies whether this is a hidden account. Read only.
+      "id": "A String", # Output only. The ID of the client customer. Read only.
+      "level": "A String", # Output only. Distance between given customer and client. For self link, the level value will be 0. Read only.
+      "manager": True or False, # Output only. Identifies if the client is a manager. Read only.
+      "resourceName": "A String", # Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id}/customerClients/{client_customer_id}`
+      "status": "A String", # Output only. The status of the client customer. Read only.
+      "testAccount": True or False, # Output only. Identifies if the client is a test account. Read only.
+      "timeZone": "A String", # Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.
+    },
+    "customerClientLink": { # Represents customer client link relationship. # The CustomerClientLink referenced in the query.
+      "clientCustomer": "A String", # Immutable. The client customer linked to this customer.
+      "hidden": True or False, # The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false
+      "managerLinkId": "A String", # Output only. This is uniquely identifies a customer client link. Read only.
+      "resourceName": "A String", # Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+      "status": "A String", # This is the status of the link between client and manager.
+    },
+    "customerConversionGoal": { # Biddability control for conversion actions with a matching category and origin. # The CustomerConversionGoal referenced in the query.
+      "biddable": True or False, # The biddability of the customer conversion goal.
+      "category": "A String", # The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.
+      "origin": "A String", # The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.
+      "resourceName": "A String", # Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`
+    },
+    "customerCustomizer": { # A customizer value for the associated CustomizerAttribute at the Customer level. # The customer customizer referenced in the query.
+      "customizerAttribute": "A String", # Required. Immutable. The customizer attribute which is linked to the customer.
+      "resourceName": "A String", # Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`
+      "status": "A String", # Output only. The status of the customer customizer attribute.
+      "value": { # A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. # Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute.
+        "stringValue": "A String", # Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.
+        "type": "A String", # Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.
+      },
+    },
+    "customerLabel": { # Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. # The customer label referenced in the query.
+      "customer": "A String", # Output only. The resource name of the customer to which the label is attached. Read only.
+      "label": "A String", # Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.
+      "resourceName": "A String", # Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`
+    },
+    "customerLifecycleGoal": { # Account level customer lifecycle goal settings. # The customer lifecycle goal referenced in the query.
+      "customerAcquisitionGoalValueSettings": { # Lifecycle goal value settings. # Output only. Customer acquisition goal customer level value settings.
+        "highLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.
+        "value": 3.14, # Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.
+      },
+      "ownerCustomer": "A String", # Output only. The resource name of the customer which owns the lifecycle goal.
+      "resourceName": "A String", # Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`
+    },
+    "customerManagerLink": { # Represents customer-manager link relationship. # The CustomerManagerLink referenced in the query.
+      "managerCustomer": "A String", # Output only. The manager customer linked to the customer.
+      "managerLinkId": "A String", # Output only. ID of the customer-manager link. This field is read only.
+      "resourceName": "A String", # Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+      "startTime": "A String", # Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "status": "A String", # Status of the link between the customer and the manager.
+    },
+    "customerNegativeCriterion": { # A negative criterion for exclusions at the customer level. # The customer negative criterion referenced in the query.
+      "contentLabel": { # Content Label for category exclusion. # Immutable. ContentLabel.
+        "type": "A String", # Content label type, required for CREATE operations.
+      },
+      "id": "A String", # Output only. The ID of the criterion.
+      "ipBlock": { # An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 # Immutable. IpBlock. You can exclude up to 500 IP addresses per account.
+        "ipAddress": "A String", # The IP address or the CIDR block to be excluded.
+      },
+      "mobileAppCategory": { # A mobile app category criterion. # Immutable. MobileAppCategory.
+        "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+      },
+      "mobileApplication": { # A mobile application criterion. # Immutable. MobileApplication.
+        "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+        "name": "A String", # Name of this mobile application.
+      },
+      "negativeKeywordList": { # A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. # Immutable. NegativeKeywordList.
+        "sharedSet": "A String", # The NegativeKeywordListInfo shared set resource name.
+      },
+      "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+        "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+      },
+      "placementList": { # A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. # Immutable. PlacementList.
+        "sharedSet": "A String", # The PlacementListInfo shared set resource name.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+      "type": "A String", # Output only. The type of the criterion.
+      "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+      },
+      "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+        "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+      },
+    },
+    "customerSearchTermInsight": { # This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. # The customer search term insight referenced in the query.
+      "categoryLabel": "A String", # Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.
+      "id": "A String", # Output only. The ID of the insight.
+      "resourceName": "A String", # Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id}/customerSearchTermInsights/{category_id}`
+    },
+    "customerUserAccess": { # Represents the permission of a single user onto a single customer. # The CustomerUserAccess referenced in the query.
+      "accessCreationDateTime": "A String", # Output only. The customer user access creation time. Read only field The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "accessRole": "A String", # Access role of the user.
+      "emailAddress": "A String", # Output only. Email address of the user. Read only field
+      "inviterUserEmailAddress": "A String", # Output only. The email address of the inviter user. Read only field
+      "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`
+      "userId": "A String", # Output only. User id of the user with the customer access. Read only field
+    },
+    "customerUserAccessInvitation": { # Represent an invitation to a new user on this customer account. # The CustomerUserAccessInvitation referenced in the query.
+      "accessRole": "A String", # Immutable. Access role of the user.
+      "creationDateTime": "A String", # Output only. Time invitation was created. This field is read-only. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "emailAddress": "A String", # Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.
+      "invitationId": "A String", # Output only. The ID of the invitation. This field is read-only.
+      "invitationStatus": "A String", # Output only. Invitation status of the user.
+      "resourceName": "A String", # Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`
+    },
+    "customizerAttribute": { # A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. # The customizer attribute referenced in the query.
+      "id": "A String", # Output only. The ID of the customizer attribute.
+      "name": "A String", # Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).
+      "resourceName": "A String", # Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`
+      "status": "A String", # Output only. The status of the customizer attribute.
+      "type": "A String", # Immutable. The type of the customizer attribute.
+    },
+    "dataLink": { # Represents the data sharing connection between # The data link referenced in the query.
+      "dataLinkId": "A String", # Output only. The ID of the data link. This field is read only.
+      "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+      "resourceName": "A String", # Immutable. Resource name of the product data link. DataLink resource names have the form: `
+      "status": "A String", # Output only. The status of the data link.
+      "type": "A String", # Output only. The type of the data.
+      "youtubeVideo": { # The identifier for YouTube video # Immutable. A data link to YouTube video.
+        "channelId": "A String", # Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA".
+        "videoId": "A String", # Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s".
+      },
+    },
+    "detailContentSuitabilityPlacementView": { # A detail content suitability placement view. # The detail content suitability placement view referenced in the query.
+      "displayName": "A String", # Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+      "placement": "A String", # Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id.
+      "placementType": "A String", # Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
+      "resourceName": "A String", # Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}`
+      "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+    },
+    "detailPlacementView": { # A view with metrics aggregated by ad group and URL or YouTube video. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations. # The detail placement view referenced in the query.
+      "displayName": "A String", # Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+      "groupPlacementTargetUrl": "A String", # Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
+      "placement": "A String", # Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.
+      "placementType": "A String", # Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.
+      "resourceName": "A String", # Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+      "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+    },
+    "detailedDemographic": { # A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts. # The detailed demographic referenced in the query.
+      "availabilities": [ # Output only. Availability information of the detailed demographic.
+        { # Information of category availability, per advertising channel.
+          "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+            "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+              "A String",
+            ],
+            "advertisingChannelType": "A String", # Channel type the category is available to.
+            "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+            "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+          },
+          "locale": [ # Locales that are available to the category for the channel.
+            { # Information about which locales a category is available in.
+              "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+              "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+              "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+            },
+          ],
+        },
+      ],
+      "id": "A String", # Output only. The ID of the detailed demographic.
+      "launchedToAll": True or False, # Output only. True if the detailed demographic is launched to all channels and locales.
+      "name": "A String", # Output only. The name of the detailed demographic. For example,"Highest Level of Educational Attainment"
+      "parent": "A String", # Output only. The parent of the detailed_demographic.
+      "resourceName": "A String", # Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`
+    },
+    "displayKeywordView": { # A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics. # The display keyword view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+    },
+    "distanceView": { # A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance. # The distance view referenced in the query.
+      "distanceBucket": "A String", # Output only. Grouping of user distance from location extensions.
+      "metricSystem": True or False, # Output only. True if the DistanceBucket is using the metric system, false otherwise.
+      "resourceName": "A String", # Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id}/distanceViews/1~{distance_bucket}`
+    },
+    "dynamicSearchAdsSearchTermView": { # A dynamic search ads search term view. # The dynamic search ads search term view referenced in the query.
+      "hasMatchingKeyword": True or False, # Output only. True if query is added to targeted keywords. This field is read-only.
+      "hasNegativeKeyword": True or False, # Output only. True if query matches a negative keyword. This field is read-only.
+      "hasNegativeUrl": True or False, # Output only. True if query matches a negative url. This field is read-only.
+      "headline": "A String", # Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only.
+      "landingPage": "A String", # Output only. The dynamically selected landing page URL of the impression. This field is read-only.
+      "pageUrl": "A String", # Output only. The URL of page feed item served for the impression. This field is read-only.
+      "resourceName": "A String", # Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`
+      "searchTerm": "A String", # Output only. Search term This field is read-only.
+    },
+    "expandedLandingPageView": { # A landing page view with metrics aggregated at the expanded final URL level. # The expanded landing page view referenced in the query.
+      "expandedFinalUrl": "A String", # Output only. The final URL that clicks are directed to.
+      "resourceName": "A String", # Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`
+    },
+    "experiment": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The experiment referenced in the query.
+      "description": "A String", # The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.
+      "endDate": "A String", # Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18
+      "experimentId": "A String", # Output only. The ID of the experiment. Read only.
+      "goals": [ # The goals of this experiment.
+        { # A metric goal for an experiment.
+          "direction": "A String", # The metric direction of the goal. For example, increase, decrease, no change.
+          "metric": "A String", # The metric of the goal. For example, clicks, impressions, cost, conversions, etc.
+        },
+      ],
+      "longRunningOperation": "A String", # Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.
+      "name": "A String", # Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.
+      "promoteStatus": "A String", # Output only. The status of the experiment promotion process.
+      "resourceName": "A String", # Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`
+      "startDate": "A String", # Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14
+      "status": "A String", # The Advertiser-chosen status of this experiment.
+      "suffix": "A String", # For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.
+      "syncEnabled": True or False, # Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.
+      "type": "A String", # Required. The product/feature that uses this experiment.
+    },
+    "experimentArm": { # A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. # The experiment arm referenced in the query.
+      "assetGroups": [ # List of asset groups in the experiment arm.
+        { # Holds the asset groups included in an arm of an Optimize Assets experiment.
+          "assetGroup": "A String", # Asset group resource name.
+          "assetGroupAssets": [ # List of asset group assets under the asset group.
+            { # Holds the details of an asset within an asset group for an Optimize Assets experiment arm.
+              "asset": "A String", # Asset resource name of the asset group asset.
+              "fieldType": "A String", # Field type of the asset group asset.
+            },
+          ],
+        },
+      ],
+      "campaigns": [ # List of campaigns in the trial arm. The max length is one.
+        "A String",
+      ],
+      "control": True or False, # Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.
+      "experiment": "A String", # Immutable. The experiment to which the ExperimentArm belongs.
+      "inDesignCampaigns": [ # Output only. The in design campaigns in the treatment experiment arm.
+        "A String",
+      ],
+      "name": "A String", # Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.
+      "resourceName": "A String", # Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`
+      "trafficSplit": "A String", # Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.
+    },
+    "finalUrlExpansionAssetView": { # FinalUrlExpansionAssetView Resource. # The final url expansion asset view referenced in the query.
+      "adGroup": "A String", # Output only. Ad Group in which FinalUrlExpansionAsset served.
+      "asset": "A String", # Output only. The ID of the asset.
+      "assetGroup": "A String", # Output only. Asset Group in which FinalUrlExpansionAsset served.
+      "campaign": "A String", # Output only. Campaign in which the asset served.
+      "fieldType": "A String", # Output only. The field type of the asset.
+      "finalUrl": "A String", # Output only. Final URL of the FinalUrlExpansionAsset.
+      "resourceName": "A String", # Output only. The resource name of the FinalUrlExpansionAsset.
+      "status": "A String", # Output only. Status of the FinalUrlExpansionAsset.
+    },
+    "genderView": { # A gender view. The gender_view resource reflects the effective serving state, rather than what criteria were added. An ad group without gender criteria by default shows to all genders, so all genders appear in gender_view with stats. # The gender view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+    },
+    "geoTargetConstant": { # A geo target constant. # The geo target constant referenced in the query.
+      "canonicalName": "A String", # Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.
+      "countryCode": "A String", # Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.
+      "id": "A String", # Output only. The ID of the geo target constant.
+      "name": "A String", # Output only. Geo target constant English name.
+      "parentGeoTarget": "A String", # Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`
+      "resourceName": "A String", # Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`
+      "status": "A String", # Output only. Geo target constant status.
+      "targetType": "A String", # Output only. Geo target constant target type.
+    },
+    "geographicView": { # A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country. # The geographic view referenced in the query.
+      "countryCriterionId": "A String", # Output only. Criterion Id for the country.
+      "locationType": "A String", # Output only. Type of the geo targeting of the campaign.
+      "resourceName": "A String", # Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+    },
+    "goal": { # Representation of goals. # The goal in the query.
+      "goalId": "A String", # Output only. The ID of this goal.
+      "goalType": "A String", # Output only. The type of this goal.
+      "optimizationEligibility": "A String", # Output only. Indicates if this goal is eligible for campaign optimization.
+      "ownerCustomer": "A String", # Output only. The resource name of the goal owner customer.
+      "resourceName": "A String", # Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`
+      "retentionGoalSettings": { # Retention goal settings. # Retention goal settings.
+        "valueSettings": { # Lifecycle goal optimization value settings. # Retention goal value settings.
+          "additionalHighLifetimeValue": 3.14, # High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.
+          "additionalValue": 3.14, # Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.
+        },
+      },
+    },
+    "groupContentSuitabilityPlacementView": { # A group content suitability placement view. # The group content suitability placement view referenced in the query.
+      "displayName": "A String", # Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+      "placement": "A String", # Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id.
+      "placementType": "A String", # Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.
+      "resourceName": "A String", # Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}`
+      "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+    },
+    "groupPlacementView": { # A group placement view. # The group placement view referenced in the query.
+      "displayName": "A String", # Output only. Domain name for websites and YouTube channel name for YouTube channels.
+      "placement": "A String", # Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID.
+      "placementType": "A String", # Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.
+      "resourceName": "A String", # Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+      "targetUrl": "A String", # Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.
+    },
+    "hotelGroupView": { # A hotel group view. # The hotel group view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+    },
+    "hotelPerformanceView": { # A hotel performance view. # The hotel performance view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id}/hotelPerformanceView`
+    },
+    "hotelReconciliation": { # A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads. # The hotel reconciliation referenced in the query.
+      "billed": True or False, # Output only. Whether a given booking has been billed. Once billed, a booking can't be modified.
+      "campaign": "A String", # Output only. The resource name for the Campaign associated with the conversion.
+      "checkInDate": "A String", # Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
+      "checkOutDate": "A String", # Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.
+      "commissionId": "A String", # Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay.
+      "hotelCenterId": "A String", # Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.
+      "hotelId": "A String", # Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.
+      "orderId": "A String", # Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag.
+      "reconciledValueMicros": "A String", # Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.
+      "resourceName": "A String", # Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id}/hotelReconciliations/{commission_id}`
+      "status": "A String", # Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.
+    },
+    "incomeRangeView": { # An income range view. # The income range view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}`
+    },
+    "keywordPlan": { # A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. # The keyword plan referenced in the query.
+      "forecastPeriod": { # The forecasting period associated with the keyword plan. # The date period used for forecasting the plan.
+        "dateInterval": "A String", # A future date range relative to the current date used for forecasting.
+        "dateRange": { # A date range. # The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive.
+          "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+          "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+        },
+      },
+      "id": "A String", # Output only. The ID of the keyword plan.
+      "name": "A String", # The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.
+      "resourceName": "A String", # Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+    },
+    "keywordPlanAdGroup": { # A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. # The keyword plan ad group referenced in the query.
+      "cpcBidMicros": "A String", # A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.
+      "id": "A String", # Output only. The ID of the keyword plan ad group.
+      "keywordPlanCampaign": "A String", # The keyword plan campaign to which this ad group belongs.
+      "name": "A String", # The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.
+      "resourceName": "A String", # Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+    },
+    "keywordPlanAdGroupKeyword": { # A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. # The keyword plan ad group referenced in the query.
+      "cpcBidMicros": "A String", # A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.
+      "id": "A String", # Output only. The ID of the Keyword Plan keyword.
+      "keywordPlanAdGroup": "A String", # The Keyword Plan ad group to which this keyword belongs.
+      "matchType": "A String", # The keyword match type.
+      "negative": True or False, # Immutable. If true, the keyword is negative.
+      "resourceName": "A String", # Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
+      "text": "A String", # The keyword text.
+    },
+    "keywordPlanCampaign": { # A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. # The keyword plan campaign referenced in the query.
+      "cpcBidMicros": "A String", # A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+      "geoTargets": [ # The geo targets. Max number allowed: 20.
+        { # A geo target.
+          "geoTargetConstant": "A String", # Required. The resource name of the geo target.
+        },
+      ],
+      "id": "A String", # Output only. The ID of the Keyword Plan campaign.
+      "keywordPlan": "A String", # The keyword plan this campaign belongs to.
+      "keywordPlanNetwork": "A String", # Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
+      "languageConstants": [ # The languages targeted for the Keyword Plan campaign. Max allowed: 1.
+        "A String",
+      ],
+      "name": "A String", # The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
+      "resourceName": "A String", # Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+    },
+    "keywordPlanCampaignKeyword": { # A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. # The keyword plan campaign keyword referenced in the query.
+      "id": "A String", # Output only. The ID of the Keyword Plan negative keyword.
+      "keywordPlanCampaign": "A String", # The Keyword Plan campaign to which this negative keyword belongs.
+      "matchType": "A String", # The keyword match type.
+      "negative": True or False, # Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.
+      "resourceName": "A String", # Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
+      "text": "A String", # The keyword text.
+    },
+    "keywordThemeConstant": { # A Smart Campaign keyword theme constant. # The keyword theme constant referenced in the query.
+      "countryCode": "A String", # Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized.
+      "displayName": "A String", # Output only. The display name of the keyword theme or sub keyword theme.
+      "languageCode": "A String", # Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized.
+      "resourceName": "A String", # Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+    },
+    "keywordView": { # A keyword view. # The keyword view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+    },
+    "label": { # A label. # The label referenced in the query.
+      "id": "A String", # Output only. ID of the label. Read only.
+      "name": "A String", # The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.
+      "resourceName": "A String", # Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`
+      "status": "A String", # Output only. Status of the label. Read only.
+      "textLabel": { # A type of label displaying text on a colored background. # A type of label displaying text on a colored background.
+        "backgroundColor": "A String", # Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.
+        "description": "A String", # A short description of the label. The length must be no more than 200 characters.
+      },
+    },
+    "landingPageView": { # A landing page view with metrics aggregated at the unexpanded final URL level. # The landing page view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`
+      "unexpandedFinalUrl": "A String", # Output only. The advertiser-specified final URL.
+    },
+    "languageConstant": { # A language. # The language constant referenced in the query.
+      "code": "A String", # Output only. The language code, for example, "en_US", "en_AU", "es", "fr", etc.
+      "id": "A String", # Output only. The ID of the language constant.
+      "name": "A String", # Output only. The full name of the language in English, for example, "English (US)", "Spanish", etc.
+      "resourceName": "A String", # Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id}`
+      "targetable": True or False, # Output only. Whether the language is targetable.
+    },
+    "leadFormSubmissionData": { # Data from lead form submissions. # The lead form user submission referenced in the query.
+      "adGroup": "A String", # Output only. AdGroup associated with the submitted lead form.
+      "adGroupAd": "A String", # Output only. AdGroupAd associated with the submitted lead form.
+      "asset": "A String", # Output only. Asset associated with the submitted lead form.
+      "campaign": "A String", # Output only. Campaign associated with the submitted lead form.
+      "customLeadFormSubmissionFields": [ # Output only. Submission data associated with a custom lead form.
+        { # Fields in the submitted custom question
+          "fieldValue": "A String", # Output only. Field value for custom question response, maximum number of characters is 70.
+          "questionText": "A String", # Output only. Question text for custom question, maximum number of characters is 300.
+        },
+      ],
+      "gclid": "A String", # Output only. Google Click Id associated with the submissed lead form.
+      "id": "A String", # Output only. ID of this lead form submission.
+      "leadFormSubmissionFields": [ # Output only. Submission data associated with a lead form.
+        { # Fields in the submitted lead form.
+          "fieldType": "A String", # Output only. Field type for lead form fields.
+          "fieldValue": "A String", # Output only. Field value for lead form fields.
+        },
+      ],
+      "resourceName": "A String", # Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}`
+      "submissionDateTime": "A String", # Output only. The date and time at which the lead form was submitted. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00".
+    },
+    "lifeEvent": { # A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones. # The life event referenced in the query.
+      "availabilities": [ # Output only. Availability information of the life event.
+        { # Information of category availability, per advertising channel.
+          "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+            "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+              "A String",
+            ],
+            "advertisingChannelType": "A String", # Channel type the category is available to.
+            "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+            "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+          },
+          "locale": [ # Locales that are available to the category for the channel.
+            { # Information about which locales a category is available in.
+              "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+              "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+              "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+            },
+          ],
+        },
+      ],
+      "id": "A String", # Output only. The ID of the life event.
+      "launchedToAll": True or False, # Output only. True if the life event is launched to all channels and locales.
+      "name": "A String", # Output only. The name of the life event, for example,"Recently Moved"
+      "parent": "A String", # Output only. The parent of the life_event.
+      "resourceName": "A String", # Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}`
+    },
+    "localServicesEmployee": { # A local services employee resource. # The local services employee referenced in the query.
+      "categoryIds": [ # Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.
+        "A String",
+      ],
+      "creationDateTime": "A String", # Output only. Timestamp of employee creation. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "emailAddress": "A String", # Output only. Email address of the employee.
+      "fellowships": [ # Output only. The institutions where the employee has completed their fellowship.
+        { # Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.
+          "completionYear": 42, # Output only. Year of completion.
+          "institutionName": "A String", # Output only. Name of the instutition at which the fellowship was completed.
+        },
+      ],
+      "firstName": "A String", # Output only. First name of the employee.
+      "id": "A String", # Output only. The ID of the employee.
+      "jobTitle": "A String", # Output only. Job title for this employee, such as "Senior partner" in legal verticals.
+      "languagesSpoken": [ # Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages
+        "A String",
+      ],
+      "lastName": "A String", # Output only. Last name of the employee.
+      "middleName": "A String", # Output only. Middle name of the employee.
+      "nationalProviderIdNumber": "A String", # Output only. NPI id associated with the employee.
+      "residencies": [ # Output only. The institutions where the employee has completed their residency.
+        { # Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician.
+          "completionYear": 42, # Output only. Year of completion.
+          "institutionName": "A String", # Output only. Name of the institution at which the residency was completed.
+        },
+      ],
+      "resourceName": "A String", # Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesEmployees/{gls_employee_id}`
+      "status": "A String", # Output only. Employee status, such as DELETED or ENABLED.
+      "type": "A String", # Output only. Employee type.
+      "universityDegrees": [ # Output only. A list of degrees this employee has obtained, and wants to feature.
+        { # A list of degrees this employee has obtained, and wants to feature.
+          "degree": "A String", # Output only. Name of the degree obtained.
+          "graduationYear": 42, # Output only. Year of graduation.
+          "institutionName": "A String", # Output only. Name of the university at which the degree was obtained.
+        },
+      ],
+      "yearStartedPracticing": 42, # Output only. The year that this employee started practicing in this field.
+    },
+    "localServicesLead": { # Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads # The local services lead referenced in the query.
+      "categoryId": "A String", # Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids
+      "contactDetails": { # Fields containing consumer contact details. # Output only. Lead's contact details.
+        "consumerName": "A String", # Output only. Consumer name if consumer provided name from Message or Booking form on google.com
+        "email": "A String", # Output only. Consumer email address.
+        "phoneNumber": "A String", # Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.
+      },
+      "creationDateTime": "A String", # Output only. The date time at which lead was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "creditDetails": { # Represents the credit details of a lead. # Output only. Credit details of the lead.
+        "creditState": "A String", # Output only. Credit state of the lead.
+        "creditStateLastUpdateDateTime": "A String", # Output only. The date time when the credit state of the lead was last updated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      },
+      "id": "A String", # Output only. ID of this Lead.
+      "leadCharged": True or False, # Output only. True if the advertiser was charged for the lead.
+      "leadFeedbackSubmitted": True or False, # Output only. True if the advertiser submitted feedback for the lead.
+      "leadStatus": "A String", # Output only. Current status of lead.
+      "leadType": "A String", # Output only. Type of Local Services lead: phone, message, booking, etc.
+      "locale": "A String", # Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales
+      "note": { # Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description. # Output only. Note added by advertiser for the lead.
+        "description": "A String", # Output only. Content of lead note.
+        "editDateTime": "A String", # Output only. The date time when lead note was edited. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      },
+      "resourceName": "A String", # Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id}/localServicesLead/{local_services_lead_id}`
+      "serviceId": "A String", # Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.
+    },
+    "localServicesLeadConversation": { # Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads # The local services lead conversationreferenced in the query.
+      "conversationChannel": "A String", # Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.
+      "eventDateTime": "A String", # Output only. The date time at which lead conversation was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "id": "A String", # Output only. ID of this Lead Conversation.
+      "lead": "A String", # Output only. Resource name of Lead associated to the Lead Conversation.
+      "messageDetails": { # Represents details of text message in case of email, message or SMS. # Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS.
+        "attachmentUrls": [ # Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.
+          "A String",
+        ],
+        "text": "A String", # Output only. Textual content of the message.
+      },
+      "participantType": "A String", # Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.
+      "phoneCallDetails": { # Represents details of a phone call conversation. # Output only. Details of phone call conversation in case of PHONE_CALL.
+        "callDurationMillis": "A String", # Output only. The duration (in milliseconds) of the phone call (end to end).
+        "callRecordingUrl": "A String", # Output only. URL to the call recording audio file.
+      },
+      "resourceName": "A String", # Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}`
+    },
+    "localServicesVerificationArtifact": { # A local services verification resource. # The local services verification artifact referenced in the query.
+      "artifactType": "A String", # Output only. The type of the verification artifact.
+      "backgroundCheckVerificationArtifact": { # specific to local services background check. # Output only. A background check verification artifact.
+        "caseUrl": "A String", # Output only. URL to access background case.
+        "finalAdjudicationDateTime": "A String", # Output only. The timestamp when this background check case result was adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      },
+      "businessRegistrationCheckVerificationArtifact": { # specific to a local services business registration check. # Output only. A business registration check verification artifact.
+        "checkId": "A String", # Output only. The id of the check, such as vat_tax_id, representing "VAT Tax ID" requirement.
+        "registrationDocument": { # specific to a local services business registration document. # Output only. Message storing document info for the business.
+          "documentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded business registration document.
+            "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+          },
+        },
+        "registrationNumber": { # specific to a local services business registration number. # Output only. Message storing government issued number for the business.
+          "number": "A String", # Output only. Government-issued number for the business.
+        },
+        "registrationType": "A String", # Output only. The type of business registration check (number, document).
+        "rejectionReason": "A String", # Output only. Registration document rejection reason.
+      },
+      "creationDateTime": "A String", # Output only. The timestamp when this verification artifact was created. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+      "id": "A String", # Output only. The ID of the verification artifact.
+      "insuranceVerificationArtifact": { # specific to a local services insurance. # Output only. An insurance verification artifact.
+        "amountMicros": "A String", # Output only. Insurance amount. This is measured in "micros" of the currency mentioned in the insurance document.
+        "expirationDateTime": "A String", # Output only. The timestamp when this insurance expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "insuranceDocumentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded insurance document.
+          "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+        },
+        "rejectionReason": "A String", # Output only. Insurance document's rejection reason.
+      },
+      "licenseVerificationArtifact": { # specific to a local services license. # Output only. A license verification artifact.
+        "expirationDateTime": "A String", # Output only. The timestamp when this license expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+        "licenseDocumentReadonly": { # A Local Services Document with read only accessible data. # Output only. The readonly field containing the information for an uploaded license document.
+          "documentUrl": "A String", # URL to access an already uploaded Local Services document.
+        },
+        "licenseNumber": "A String", # Output only. License number.
+        "licenseType": "A String", # Output only. License type / name.
+        "licenseeFirstName": "A String", # Output only. First name of the licensee.
+        "licenseeLastName": "A String", # Output only. Last name of the licensee.
+        "rejectionReason": "A String", # Output only. License rejection reason.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}`
+      "status": "A String", # Output only. The status of the verification artifact.
+    },
+    "locationInterestView": { # A location interest view summarizes the performance of adgroup location interest criteria. # The location interest view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}`
+    },
+    "locationView": { # A location view summarizes the performance of campaigns by a Location criterion. # The location view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+    },
+    "managedPlacementView": { # A managed placement view. # The managed placement view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+    },
+    "matchedLocationInterestView": { # A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns. # The matched location interest view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}`
+    },
+    "mediaFile": { # A media file. # The media file referenced in the query.
+      "audio": { # Encapsulates an Audio. # Output only. Encapsulates an Audio.
+        "adDurationMillis": "A String", # Output only. The duration of the Audio in milliseconds.
+      },
+      "fileSize": "A String", # Output only. The size of the media file in bytes.
+      "id": "A String", # Output only. The ID of the media file.
+      "image": { # Encapsulates an Image. # Immutable. Encapsulates an Image.
+        "data": "A String", # Immutable. Raw image data.
+        "fullSizeImageUrl": "A String", # Output only. The url to the full size version of the image.
+        "previewSizeImageUrl": "A String", # Output only. The url to the preview size version of the image.
+      },
+      "mediaBundle": { # Represents a ZIP archive media the content of which contains HTML5 assets. # Immutable. A ZIP archive media the content of which contains HTML5 assets.
+        "data": "A String", # Immutable. Raw zipped data.
+        "url": "A String", # Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.
+      },
+      "mimeType": "A String", # Output only. The mime type of the media file.
+      "name": "A String", # Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media.
+      "resourceName": "A String", # Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id}/mediaFiles/{media_file_id}`
+      "sourceUrl": "A String", # Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.
+      "type": "A String", # Immutable. Type of the media file.
+      "video": { # Encapsulates a Video. # Immutable. Encapsulates a Video.
+        "adDurationMillis": "A String", # Output only. The duration of the Video in milliseconds.
+        "advertisingIdCode": "A String", # Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials.
+        "isciCode": "A String", # Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.
+        "youtubeVideoId": "A String", # Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix "https://www.youtube.com/watch?v=" to this ID will get the YouTube streaming URL for this video.
+      },
+    },
+    "metrics": { # Metrics data. # The metrics.
+      "absoluteTopImpressionPercentage": 3.14, # Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.
+      "allConversions": 3.14, # The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.
+      "allConversionsByConversionDate": 3.14, # The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+      "allConversionsFromClickToCall": 3.14, # The number of times people clicked the "Call" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.
+      "allConversionsFromDirections": 3.14, # The number of times people clicked a "Get directions" button to navigate to a business after clicking an ad. This metric applies to feed items only.
+      "allConversionsFromInteractionsRate": 3.14, # All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions.
+      "allConversionsFromInteractionsValuePerInteraction": 3.14, # The value of all conversions from interactions divided by the total number of interactions.
+      "allConversionsFromMenu": 3.14, # The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.
+      "allConversionsFromOrder": 3.14, # The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.
+      "allConversionsFromOtherEngagement": 3.14, # The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only.
+      "allConversionsFromStoreVisit": 3.14, # Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.
+      "allConversionsFromStoreWebsite": 3.14, # The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.
+      "allConversionsValue": 3.14, # The value of all conversions.
+      "allConversionsValueByConversionDate": 3.14, # The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+      "allConversionsValuePerCost": 3.14, # The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).
+      "averageCartSize": 3.14, # Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.
+      "averageCost": 3.14, # The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.
+      "averageCpc": 3.14, # The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "averageCpm": 3.14, # Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "averageImpressionFrequencyPerUser": 3.14, # The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
+      "averageOrderValueMicros": "A String", # Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.
+      "averageQualityScore": 3.14, # The average quality score.
+      "clicks": "A String", # The number of clicks.
+      "clientAccountConversions": 3.14, # The number of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+      "clientAccountConversionsValue": 3.14, # The value of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+      "clientAccountCrossSellCostOfGoodsSoldMicros": "A String", # Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountCrossSellGrossProfitMicros": "A String", # Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountCrossSellRevenueMicros": "A String", # Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountCrossSellUnitsSold": 3.14, # Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
+      "clientAccountLeadCostOfGoodsSoldMicros": "A String", # Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountLeadGrossProfitMicros": "A String", # Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountLeadRevenueMicros": "A String", # Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "clientAccountLeadUnitsSold": 3.14, # Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
+      "clientAccountViewThroughConversions": "A String", # The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.
+      "contentBudgetLostImpressionShare": 3.14, # The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "contentImpressionShare": 3.14, # The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+      "contentRankLostImpressionShare": 3.14, # The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "conversionCustomMetrics": [ # The conversion custom metrics.
+        { # A generic data container.
+          "booleanValue": True or False, # A boolean.
+          "doubleValue": 3.14, # A double.
+          "floatValue": 3.14, # A float.
+          "int64Value": "A String", # An int64.
+          "stringValue": "A String", # A string.
+        },
+      ],
+      "conversions": 3.14, # The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+      "conversionsByConversionDate": 3.14, # The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in date column means the conversion date.
+      "conversionsFromInteractionsRate": 3.14, # Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion.
+      "conversionsFromInteractionsValuePerInteraction": 3.14, # The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+      "conversionsValue": 3.14, # The sum of conversion values for the conversions included in the "conversions" field. This metric is useful only if you entered a value for your conversion actions.
+      "conversionsValueByConversionDate": 3.14, # The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date.
+      "conversionsValuePerCost": 3.14, # The value of biddable conversion divided by the total cost of conversion eligible interactions.
+      "costMicros": "A String", # The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "costOfGoodsSoldMicros": "A String", # Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.
+      "costPerAllConversions": 3.14, # The cost of ad interactions divided by all conversions.
+      "costPerConversion": 3.14, # Average conversion eligible cost per biddable conversion.
+      "costPerCurrentModelAttributedConversion": 3.14, # The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.
+      "crossDeviceConversions": 3.14, # Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in all_conversions.
+      "crossDeviceConversionsByConversionDate": 3.14, # The number of cross-device conversions by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+      "crossDeviceConversionsValue": 3.14, # The sum of the value of cross-device conversions.
+      "crossDeviceConversionsValueByConversionDate": 3.14, # The sum of cross-device conversions value by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+      "crossSellCostOfGoodsSoldMicros": "A String", # Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "crossSellGrossProfitMicros": "A String", # Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "crossSellRevenueMicros": "A String", # Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "crossSellUnitsSold": 3.14, # Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.
+      "ctr": 3.14, # The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).
+      "generalInvalidClickRate": 3.14, # The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.
+      "generalInvalidClicks": "A String", # Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.
+      "grossProfitMargin": 3.14, # Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.
+      "grossProfitMicros": "A String", # Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.
+      "historicalCreativeQualityScore": "A String", # The creative historical quality score.
+      "historicalLandingPageQualityScore": "A String", # The quality of historical landing page experience.
+      "historicalQualityScore": "A String", # The historical quality score.
+      "historicalSearchPredictedCtr": "A String", # The historical search predicted click through rate (CTR).
+      "impressions": "A String", # Count of how often your ad has appeared on a search results page or website on the Google Network.
+      "interactionEventTypes": [ # The types of payable and free interactions.
+        "A String",
+      ],
+      "interactionRate": 3.14, # How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.
+      "interactions": "A String", # The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.
+      "invalidClickRate": 3.14, # The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.
+      "invalidClicks": "A String", # Number of clicks Google considers illegitimate and doesn't charge you for.
+      "leadCostOfGoodsSoldMicros": "A String", # Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "leadGrossProfitMicros": "A String", # Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "leadRevenueMicros": "A String", # Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause
+      "leadUnitsSold": 3.14, # Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.
+      "mobileFriendlyClicksPercentage": 3.14, # The percentage of mobile clicks that go to a mobile-friendly page.
+      "orders": 3.14, # Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data.
+      "rawEventConversionMetrics": [ # The raw event conversion metrics.
+        { # A generic data container.
+          "booleanValue": True or False, # A boolean.
+          "doubleValue": 3.14, # A double.
+          "floatValue": 3.14, # A float.
+          "int64Value": "A String", # An int64.
+          "stringValue": "A String", # A string.
+        },
+      ],
+      "revenueMicros": "A String", # Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.
+      "searchAbsoluteTopImpressionShare": 3.14, # The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See https://support.google.com/sa360/answer/9566729 for details. Any value below 0.1 is reported as 0.0999.
+      "searchBudgetLostAbsoluteTopImpressionShare": 3.14, # The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchBudgetLostImpressionShare": 3.14, # The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchBudgetLostTopImpressionShare": 3.14, # The number estimating how often your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchClickShare": 3.14, # The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+      "searchExactMatchImpressionShare": 3.14, # The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+      "searchImpressionShare": 3.14, # The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.
+      "searchRankLostAbsoluteTopImpressionShare": 3.14, # The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchRankLostImpressionShare": 3.14, # The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchRankLostTopImpressionShare": 3.14, # The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
+      "searchTopImpressionShare": 3.14, # The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.
+      "topImpressionPercentage": 3.14, # The percent of your ad impressions that are shown adjacent to the top organic search results.
+      "uniqueUsers": "A String", # The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.
+      "unitsSold": 3.14, # Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data.
+      "valuePerAllConversions": 3.14, # The value of all conversions divided by the number of all conversions.
+      "valuePerAllConversionsByConversionDate": 3.14, # The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.
+      "valuePerConversion": 3.14, # The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth.
+      "valuePerConversionsByConversionDate": 3.14, # Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date.
+      "visits": 3.14, # Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page.
+    },
+    "mobileAppCategoryConstant": { # A mobile application category constant. # The mobile app category constant referenced in the query.
+      "id": 42, # Output only. The ID of the mobile app category constant.
+      "name": "A String", # Output only. Mobile app category name.
+      "resourceName": "A String", # Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id}`
+    },
+    "mobileDeviceConstant": { # A mobile device constant. # The mobile device constant referenced in the query.
+      "id": "A String", # Output only. The ID of the mobile device constant.
+      "manufacturerName": "A String", # Output only. The manufacturer of the mobile device.
+      "name": "A String", # Output only. The name of the mobile device.
+      "operatingSystemName": "A String", # Output only. The operating system of the mobile device.
+      "resourceName": "A String", # Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id}`
+      "type": "A String", # Output only. The type of mobile device.
+    },
+    "offlineConversionUploadClientSummary": { # Offline conversion upload summary at customer level. # Offline conversion upload summary at customer level.
+      "alerts": [ # Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
+        { # Alert for offline conversion client summary.
+          "error": { # Possible errors for offline conversion client summary. # Output only. Error for offline conversion client alert.
+            "collectionSizeError": "A String", # Output only. Collection size error.
+            "conversionAdjustmentUploadError": "A String", # Output only. Conversion adjustment upload error.
+            "conversionUploadError": "A String", # Output only. Conversion upload error.
+            "dateError": "A String", # Output only. Date error.
+            "distinctError": "A String", # Output only. Distinct error.
+            "fieldError": "A String", # Output only. Field error.
+            "mutateError": "A String", # Output only. Mutate error.
+            "notAllowlistedError": "A String", # Output only. Not allowlisted error.
+            "stringFormatError": "A String", # Output only. String format error.
+            "stringLengthError": "A String", # Output only. String length error.
+          },
+          "errorPercentage": 3.14, # Output only. Percentage of the error, the range of this field should be [0, 1.0].
+        },
+      ],
+      "client": "A String", # Output only. Client type of the upload event.
+      "dailySummaries": [ # Output only. Summary of history stats by last N days.
+        { # Historical upload summary, grouped by upload date or job.
+          "failedCount": "A String", # Output only. Total count of failed event.
+          "jobId": "A String", # Output only. Dimension key for last N jobs.
+          "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+          "successfulCount": "A String", # Output only. Total count of successful event.
+          "uploadDate": "A String", # Output only. Dimension key for last N days.
+        },
+      ],
+      "jobSummaries": [ # Output only. Summary of history stats by last N jobs.
+        { # Historical upload summary, grouped by upload date or job.
+          "failedCount": "A String", # Output only. Total count of failed event.
+          "jobId": "A String", # Output only. Dimension key for last N jobs.
+          "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+          "successfulCount": "A String", # Output only. Total count of successful event.
+          "uploadDate": "A String", # Output only. Dimension key for last N days.
+        },
+      ],
+      "lastUploadDateTime": "A String", # Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
+      "pendingEventCount": "A String", # Output only. Total count of pending uploaded events.
+      "pendingRate": 3.14, # Output only. The ratio of total pending events to total events.
+      "resourceName": "A String", # Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}`
+      "status": "A String", # Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.
+      "successRate": 3.14, # Output only. Successful rate.
+      "successfulEventCount": "A String", # Output only. Total count of successful uploaded events.
+      "totalEventCount": "A String", # Output only. Total count of uploaded events.
+    },
+    "offlineConversionUploadConversionActionSummary": { # Offline conversion upload summary at conversion action level. # Offline conversion upload summary at conversion type level.
+      "alerts": [ # Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.
+        { # Alert for offline conversion client summary.
+          "error": { # Possible errors for offline conversion client summary. # Output only. Error for offline conversion client alert.
+            "collectionSizeError": "A String", # Output only. Collection size error.
+            "conversionAdjustmentUploadError": "A String", # Output only. Conversion adjustment upload error.
+            "conversionUploadError": "A String", # Output only. Conversion upload error.
+            "dateError": "A String", # Output only. Date error.
+            "distinctError": "A String", # Output only. Distinct error.
+            "fieldError": "A String", # Output only. Field error.
+            "mutateError": "A String", # Output only. Mutate error.
+            "notAllowlistedError": "A String", # Output only. Not allowlisted error.
+            "stringFormatError": "A String", # Output only. String format error.
+            "stringLengthError": "A String", # Output only. String length error.
+          },
+          "errorPercentage": 3.14, # Output only. Percentage of the error, the range of this field should be [0, 1.0].
+        },
+      ],
+      "client": "A String", # Output only. Client type of the upload event.
+      "conversionActionId": "A String", # Output only. Conversion action id.
+      "conversionActionName": "A String", # Output only. The name of the conversion action.
+      "dailySummaries": [ # Output only. Summary of history stats by last N days.
+        { # Historical upload summary, grouped by upload date or job.
+          "failedCount": "A String", # Output only. Total count of failed event.
+          "jobId": "A String", # Output only. Dimension key for last N jobs.
+          "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+          "successfulCount": "A String", # Output only. Total count of successful event.
+          "uploadDate": "A String", # Output only. Dimension key for last N days.
+        },
+      ],
+      "jobSummaries": [ # Output only. Summary of history stats by last N jobs.
+        { # Historical upload summary, grouped by upload date or job.
+          "failedCount": "A String", # Output only. Total count of failed event.
+          "jobId": "A String", # Output only. Dimension key for last N jobs.
+          "pendingCount": "A String", # Output only. Total count of pending uploaded event.
+          "successfulCount": "A String", # Output only. Total count of successful event.
+          "uploadDate": "A String", # Output only. Dimension key for last N days.
+        },
+      ],
+      "lastUploadDateTime": "A String", # Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account.
+      "pendingEventCount": "A String", # Output only. Total count of pending uploaded events.
+      "resourceName": "A String", # Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}`
+      "status": "A String", # Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.
+      "successfulEventCount": "A String", # Output only. Total count of successful uploaded events.
+      "totalEventCount": "A String", # Output only. Total count of uploaded events.
+    },
+    "offlineUserDataJob": { # A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using # The offline user data job referenced in the query.
+      "customerMatchUserListMetadata": { # Metadata for customer match user list. # Immutable. Metadata for data updates to a CRM-based user list.
+        "consent": { # Consent # The consent setting for all the users in this job.
+          "adPersonalization": "A String", # This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.
+          "adUserData": "A String", # This represents consent for ad user data.
+        },
+        "userList": "A String", # The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.
+      },
+      "externalId": "A String", # Immutable. User specified job ID.
+      "failureReason": "A String", # Output only. Reason for the processing failure, if status is FAILED.
+      "id": "A String", # Output only. ID of this offline user data job.
+      "operationMetadata": { # Metadata of offline user data job. # Output only. Metadata of offline user data job depicting match rate range.
+        "matchRateRange": "A String", # Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED".
+      },
+      "resourceName": "A String", # Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`
+      "status": "A String", # Output only. Status of the job.
+      "storeSalesMetadata": { # Metadata for Store Sales Direct. # Immutable. Metadata for store sales data update.
+        "customKey": "A String", # Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.
+        "loyaltyFraction": 3.14, # This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).
+        "thirdPartyMetadata": { # Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration. # Metadata for a third party Store Sales upload.
+          "advertiserUploadDateTime": "A String", # Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+          "bridgeMapVersionId": "A String", # Version of partner IDs to be used for uploads. Required.
+          "partnerId": "A String", # ID of the third party partner updating the transaction feed.
+          "partnerMatchFraction": 3.14, # The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).
+          "partnerUploadFraction": 3.14, # The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).
+          "validTransactionFraction": 3.14, # The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).
+        },
+        "transactionUploadFraction": 3.14, # This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.
+      },
+      "type": "A String", # Immutable. Type of the job.
+    },
+    "operatingSystemVersionConstant": { # A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms # The operating system version constant referenced in the query.
+      "id": "A String", # Output only. The ID of the operating system version.
+      "name": "A String", # Output only. Name of the operating system.
+      "operatorType": "A String", # Output only. Determines whether this constant represents a single version or a range of versions.
+      "osMajorVersion": 42, # Output only. The OS Major Version number.
+      "osMinorVersion": 42, # Output only. The OS Minor Version number.
+      "resourceName": "A String", # Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id}`
+    },
+    "paidOrganicSearchTermView": { # A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level. # The paid organic search term view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ {ad_group_id}~{URL-base64 search term}`
+      "searchTerm": "A String", # Output only. The search term.
+    },
+    "parentalStatusView": { # A parental status view. # The parental status view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+    },
+    "perStoreView": { # A per store view. This view provides per store impression reach and local action conversion stats for advertisers. # The per store view referenced in the query.
+      "address1": "A String", # Output only. First line of the store's address.
+      "address2": "A String", # Output only. Second line of the store's address.
+      "businessName": "A String", # Output only. The name of the business.
+      "city": "A String", # Output only. The city where the store is located.
+      "countryCode": "A String", # Output only. The two-letter country code for the store's location (e.g., "US").
+      "phoneNumber": "A String", # Output only. The phone number of the store.
+      "placeId": "A String", # Output only. The place ID of the per store view.
+      "postalCode": "A String", # Output only. The postal code of the store's address.
+      "province": "A String", # Output only. The province or state of the store's address.
+      "resourceName": "A String", # Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id}/perStoreViews/{place_id}`
+    },
+    "performanceMaxPlacementView": { # A view with impression metrics for Performance Max campaign placements. # The performance max placement view referenced in the query.
+      "displayName": "A String", # Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.
+      "placement": "A String", # Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.
+      "placementType": "A String", # Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.
+      "resourceName": "A String", # Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}`
+      "targetUrl": "A String", # Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.
+    },
+    "productCategoryConstant": { # A Product Category. # The product category referenced in the query.
+      "categoryId": "A String", # Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436.
+      "level": "A String", # Output only. Level of the product category.
+      "localizations": [ # Output only. List of all available localizations of the product category.
+        { # Localization for the product category.
+          "languageCode": "A String", # Output only. Two-letter ISO 639-1 language code of the localized category.
+          "regionCode": "A String", # Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.
+          "value": "A String", # Output only. The name of the category in the specified locale.
+        },
+      ],
+      "productCategoryConstantParent": "A String", # Output only. Resource name of the parent product category.
+      "resourceName": "A String", # Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level}~{category_id}`
+      "state": "A String", # Output only. State of the product category.
+    },
+    "productGroupView": { # A product group view. # The product group view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+    },
+    "productLink": { # Represents the data sharing connection between # The product link referenced in the query.
+      "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link.
+        "customer": "A String", # Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.
+      },
+      "dataPartner": { # The identifier for Data Partner account. # Immutable. Data partner link.
+        "dataPartnerId": "A String", # Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.
+      },
+      "googleAds": { # The identifier for Google Ads account. # Immutable. Google Ads link.
+        "customer": "A String", # Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.
+      },
+      "merchantCenter": { # The identifier for Google Merchant Center account # Immutable. Google Merchant Center link.
+        "merchantCenterId": "A String", # Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.
+      },
+      "productLinkId": "A String", # Output only. The ID of the link. This field is read only.
+      "resourceName": "A String", # Immutable. Resource name of the product link. ProductLink resource names have the form: ` `
+      "type": "A String", # Output only. The type of the linked product.
+    },
+    "productLinkInvitation": { # Represents an invitation for data sharing connection between a Google Ads account and another account. # The product link invitation in the query.
+      "advertisingPartner": { # The identifier for the Advertising Partner Google Ads account. # Output only. Advertising Partner link invitation.
+        "customer": "A String", # Immutable. The resource name of the advertising partner Google Ads account. This field is read only.
+      },
+      "hotelCenter": { # The identifier for Hotel account. # Output only. Hotel link invitation.
+        "hotelCenterId": "A String", # Output only. The hotel center id of the hotel account. This field is read only
+      },
+      "merchantCenter": { # The identifier for Merchant Center Account. # Output only. Merchant Center link invitation.
+        "merchantCenterId": "A String", # Output only. The Merchant Center id of the Merchant account. This field is read only
+      },
+      "productLinkInvitationId": "A String", # Output only. The ID of the product link invitation. This field is read only.
+      "resourceName": "A String", # Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`
+      "status": "A String", # Output only. The status of the product link invitation. This field is read only.
+      "type": "A String", # Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.
+    },
+    "qualifyingQuestion": { # Qualifying Questions for Lead Form. # The qualifying question referenced in the query.
+      "locale": "A String", # Output only. The locale of the qualifying question.
+      "qualifyingQuestionId": "A String", # Output only. The id of the qualifying question.
+      "resourceName": "A String", # Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId}'
+      "text": "A String", # Output only. The qualifying question.
+    },
+    "recommendation": { # A recommendation. # The recommendation referenced in the query.
+      "adGroup": "A String", # Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
+      "callAssetRecommendation": { # The call asset recommendation. # Output only. The call asset recommendation.
+      },
+      "calloutAssetRecommendation": { # The callout asset recommendation. # Output only. The callout asset recommendation.
+        "recommendedCampaignCalloutAssets": [ # Output only. New callout extension assets recommended at the campaign level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+        "recommendedCustomerCalloutAssets": [ # Output only. New callout extension assets recommended at the customer level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+      },
+      "campaign": "A String", # Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,
+      "campaignBudget": "A String", # Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET
+      "campaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "campaigns": [ # Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET
+        "A String",
+      ],
+      "customAudienceOptInRecommendation": { # The Custom Audience Opt In recommendation. # Output only. The custom audience opt in recommendation.
+        "keywords": [ # Output only. The list of keywords to use for custom audience creation.
+          { # A keyword criterion.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        ],
+      },
+      "dismissed": True or False, # Output only. Whether the recommendation is dismissed or not.
+      "displayExpansionOptInRecommendation": { # The Display Expansion opt-in recommendation. # Output only. The Display Expansion opt-in recommendation.
+      },
+      "dynamicImageExtensionOptInRecommendation": { # Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads. # Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.
+      },
+      "enhancedCpcOptInRecommendation": { # The Enhanced Cost-Per-Click Opt-In recommendation. # Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
+      },
+      "forecastingCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The forecasting campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "forecastingSetTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The forecasting set target CPA recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+      },
+      "forecastingSetTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The forecasting set target ROAS recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+      },
+      "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact on account performance as a result of applying the recommendation.
+        "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+          "clicks": 3.14, # Output only. Number of ad clicks.
+          "conversions": 3.14, # Output only. Number of conversions.
+          "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+          "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+          "impressions": 3.14, # Output only. Number of ad impressions.
+          "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+        },
+        "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+          "clicks": 3.14, # Output only. Number of ad clicks.
+          "conversions": 3.14, # Output only. Number of conversions.
+          "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+          "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+          "impressions": 3.14, # Output only. Number of ad impressions.
+          "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+        },
+      },
+      "improveDemandGenAdStrengthRecommendation": { # The improve Demand Gen ad strength recommendation. # Output only. The improve Demand Gen ad strength recommendation.
+        "ad": "A String", # Output only. The resource name of the ad that can be improved.
+        "adStrength": "A String", # Output only. The current ad strength.
+        "demandGenAssetActionItems": [ # Output only. A list of recommendations to improve the ad strength.
+          "A String",
+        ],
+      },
+      "improveGoogleTagCoverageRecommendation": { # Recommendation to deploy Google Tag on more pages. # Output only. Recommendation to deploy Google Tag on more pages.
+      },
+      "improvePerformanceMaxAdStrengthRecommendation": { # Recommendation to improve the asset group strength of a Performance Max campaign to an "Excellent" rating. # Output only. The improve Performance Max ad strength recommendation.
+        "adStrength": "A String", # Output only. The current ad strength score of the asset group.
+        "assetGroup": "A String", # Output only. The asset group resource name.
+      },
+      "keywordMatchTypeRecommendation": { # The keyword match type recommendation. # Output only. The keyword match type recommendation.
+        "keyword": { # A keyword criterion. # Output only. The existing keyword where the match type should be more broad.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "recommendedMatchType": "A String", # Output only. The recommended new match type.
+      },
+      "keywordRecommendation": { # The keyword recommendation. # Output only. The keyword recommendation.
+        "keyword": { # A keyword criterion. # Output only. The recommended keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "recommendedCpcBidMicros": "A String", # Output only. The recommended CPC (cost-per-click) bid.
+        "searchTerms": [ # Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.
+          { # Information about a search term as related to a keyword recommendation.
+            "estimatedWeeklySearchCount": "A String", # Output only. Estimated number of historical weekly searches for this search term.
+            "text": "A String", # Output only. The text of the search term.
+          },
+        ],
+      },
+      "leadFormAssetRecommendation": { # The lead form asset recommendation. # Output only. The lead form asset recommendation.
+      },
+      "lowerTargetRoasRecommendation": { # Recommendation to lower Target ROAS. # Output only. Recommendation to lower Target ROAS.
+        "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+          "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+          "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+          "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+        },
+      },
+      "marginalRoiCampaignBudgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The marginal ROI campaign budget recommendation.
+        "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+          { # The impact estimates for a given budget amount.
+            "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+          },
+        ],
+        "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+      },
+      "maximizeClicksOptInRecommendation": { # The Maximize Clicks opt-in recommendation. # Output only. The MaximizeClicks Opt-In recommendation.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount. Only set if the current budget is too high.
+      },
+      "maximizeConversionValueOptInRecommendation": { # Recommendation to opt into Maximize Conversion Value bidding strategy. # Output only. The Maximize Conversion Value opt-in recommendation.
+      },
+      "maximizeConversionsOptInRecommendation": { # The Maximize Conversions Opt-In recommendation. # Output only. The MaximizeConversions Opt-In recommendation.
+        "recommendedBudgetAmountMicros": "A String", # Output only. The recommended new budget amount.
+      },
+      "migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { # The Dynamic Search Ads to Performance Max migration recommendation. # Output only. The Dynamic Search Ads to Performance Max migration recommendation.
+        "applyLink": "A String", # Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.
+      },
+      "moveUnusedBudgetRecommendation": { # The move unused budget recommendation. # Output only. The move unused budget recommendation.
+        "budgetRecommendation": { # The budget recommendation for budget constrained campaigns. # Output only. The recommendation for the constrained budget to increase.
+          "budgetOptions": [ # Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.
+            { # The impact estimates for a given budget amount.
+              "budgetAmountMicros": "A String", # Output only. The budget amount for this option.
+              "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if budget is changed to amount specified in this option.
+                "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+                "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                  "clicks": 3.14, # Output only. Number of ad clicks.
+                  "conversions": 3.14, # Output only. Number of conversions.
+                  "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                  "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                  "impressions": 3.14, # Output only. Number of ad impressions.
+                  "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+                },
+              },
+            },
+          ],
+          "currentBudgetAmountMicros": "A String", # Output only. The current budget amount in micros.
+          "recommendedBudgetAmountMicros": "A String", # Output only. The recommended budget amount in micros.
+        },
+        "excessCampaignBudget": "A String", # Output only. The excess budget's resource_name.
+      },
+      "optimizeAdRotationRecommendation": { # The Optimize Ad Rotation recommendation. # Output only. The Optimize Ad Rotation recommendation.
+      },
+      "performanceMaxFinalUrlOptInRecommendation": { # Recommendation to turn on Final URL expansion for your Performance Max campaigns. # Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.
+      },
+      "performanceMaxOptInRecommendation": { # The Performance Max Opt In recommendation. # Output only. The Performance Max Opt In recommendation.
+      },
+      "raiseTargetCpaBidTooLowRecommendation": { # The raise target CPA bid too low recommendation. # Output only. The raise target CPA bid too low recommendation.
+        "averageTargetCpaMicros": "A String", # Output only. The current average target CPA of the campaign, in micros of customer local currency.
+        "recommendedTargetMultiplier": 3.14, # Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.
+      },
+      "raiseTargetCpaRecommendation": { # Recommendation to raise Target CPA. # Output only. Recommendation to raise Target CPA.
+        "appBiddingGoal": "A String", # Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.
+        "targetAdjustment": { # Information of a target adjustment recommendation. # Output only. The relevant information describing the recommended target adjustment.
+          "currentAverageTargetMicros": "A String", # Output only. The current average target of the campaign or portfolio targeted by this recommendation.
+          "recommendedTargetMultiplier": 3.14, # Output only. The factor by which we recommend the target to be adjusted by.
+          "sharedSet": "A String", # Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.
+        },
+      },
+      "refreshCustomerMatchListRecommendation": { # The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list. # Output only. The refresh customer list recommendation.
+        "daysSinceLastRefresh": "A String", # Output only. Days since last refresh.
+        "ownerAccount": { # Wrapper for information about a Google Ads account. # Output only. The owner account. This is the account that should update the customer list.
+          "customerId": "A String", # Output only. The customer ID of the account.
+          "descriptiveName": "A String", # Output only. The descriptive name of the account.
+        },
+        "targetingAccountsCount": "A String", # Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.
+        "topSpendingAccount": [ # Output only. The top spending account.
+          { # Wrapper for information about a Google Ads account.
+            "customerId": "A String", # Output only. The customer ID of the account.
+            "descriptiveName": "A String", # Output only. The descriptive name of the account.
+          },
+        ],
+        "userListId": "A String", # Output only. The user list ID.
+        "userListName": "A String", # Output only. The name of the list.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`
+      "responsiveSearchAdAssetRecommendation": { # The add responsive search ad asset recommendation. # Output only. The responsive search ad asset recommendation.
+        "currentAd": { # An ad. # Output only. The current ad to be updated.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "recommendedAssets": { # An ad. # Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdImproveAdStrengthRecommendation": { # The responsive search ad improve ad strength recommendation. # Output only. The responsive search ad improve ad strength recommendation.
+        "currentAd": { # An ad. # Output only. The current ad to be updated.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "recommendedAd": { # An ad. # Output only. The updated ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "responsiveSearchAdRecommendation": { # The add responsive search ad recommendation. # Output only. The add responsive search ad recommendation.
+        "ad": { # An ad. # Output only. Recommended ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+      },
+      "searchPartnersOptInRecommendation": { # The Search Partners Opt-In recommendation. # Output only. The Search Partners Opt-In recommendation.
+      },
+      "setTargetCpaRecommendation": { # The set target CPA recommendations. # Output only. The set target CPA recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended target CPA.
+      },
+      "setTargetRoasRecommendation": { # The forecasting set target ROAS recommendation. # Output only. The set target ROAS recommendation.
+        "campaignBudget": { # A campaign budget shared amongst various budget recommendation types. # Output only. The campaign budget.
+          "currentAmountMicros": "A String", # Output only. Current budget amount.
+          "newStartDate": "A String", # Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.
+          "recommendedNewAmountMicros": "A String", # Output only. Recommended budget amount.
+        },
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+      },
+      "shoppingAddAgeGroupRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add age group recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddColorRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add color recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddGenderRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add gender recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddGtinRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add GTIN recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddMoreIdentifiersRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add more identifiers recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingAddProductsToCampaignRecommendation": { # The shopping recommendation to add products to a Shopping Campaign Inventory. # Output only. The shopping add products to campaign recommendation.
+        "feedLabel": "A String", # Output only. The feed label for the campaign.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "reason": "A String", # Output only. The reason why no products are attached to the campaign.
+      },
+      "shoppingAddSizeRecommendation": { # The shopping recommendation to add an attribute to offers that are demoted because it is missing. # Output only. The shopping add size recommendation.
+        "demotedOffersCount": "A String", # Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.
+        "feedLabel": "A String", # Output only. The campaign feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "offersCount": "A String", # Output only. The number of online, servable offers.
+      },
+      "shoppingFixDisapprovedProductsRecommendation": { # The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory. # Output only. The shopping fix disapproved products recommendation.
+        "disapprovedProductsCount": "A String", # Output only. The numbers of products of the campaign that are disapproved.
+        "feedLabel": "A String", # Output only. The feed label for the campaign.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "productsCount": "A String", # Output only. The number of products of the campaign.
+      },
+      "shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix Merchant Center account suspension warning recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingFixSuspendedMerchantCenterAccountRecommendation": { # The shopping recommendation to fix Merchant Center account suspension issues. # Output only. The shopping fix suspended Merchant Center account recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the campaign for which the suspension happened.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { # The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns. # Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.
+        "feedLabel": "A String", # Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+      },
+      "shoppingTargetAllOffersRecommendation": { # The shopping recommendation to create a catch-all campaign that targets all offers. # Output only. The shopping target all offers recommendation.
+        "feedLabel": "A String", # Output only. The offer feed label.
+        "merchant": { # The Merchant Center account details. # Output only. The details of the Merchant Center account.
+          "id": "A String", # Output only. The Merchant Center account ID.
+          "multiClient": True or False, # Output only. Whether the Merchant Center account is a Multi-Client account (MCA).
+          "name": "A String", # Output only. The name of the Merchant Center account.
+        },
+        "untargetedOffersCount": "A String", # Output only. The number of untargeted offers.
+      },
+      "sitelinkAssetRecommendation": { # The sitelink asset recommendation. # Output only. The sitelink asset recommendation.
+        "recommendedCampaignSitelinkAssets": [ # Output only. New sitelink assets recommended at the campaign level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+        "recommendedCustomerSitelinkAssets": [ # Output only. New sitelink assets recommended at the customer level.
+          { # Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.
+            "appDeepLinkAsset": { # An app deep link asset # Immutable. An app deep link asset.
+              "appDeepLinkUri": "A String", # The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).
+            },
+            "bookOnGoogleAsset": { # A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. # A book on google asset.
+            },
+            "businessMessageAsset": { # A business message asset. # A business message asset.
+              "callToAction": { # Display information that encourages the user to take action. # A call to action for the business message asset.
+                "callToActionDescription": "A String", # Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.
+                "callToActionSelection": "A String", # Required. Pre-defined call to action text.
+              },
+              "facebookMessengerInfo": { # Facebook Messenger information to use for messaging. # Facebook Messenger.
+                "pageName": "A String", # Required. Facebook page name used for starting a chat on Facebook Messenger.
+              },
+              "messageProvider": "A String", # Required. Message provider of the business message asset.
+              "starterMessage": "A String", # Required. A welcome message to prompt the user to initiate a conversation.
+              "whatsappInfo": { # Whatsapp information to use for messaging. # Whatsapp.
+                "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+                "phoneNumber": "A String", # Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.
+              },
+              "zaloInfo": { # Zalo information to use for messaging. # Zalo.
+                "customName": "A String", # Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.
+                "oaId": "A String", # Zalo Official Account ID of the advertiser.
+              },
+            },
+            "callAsset": { # A Call asset. # A call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "countryCode": "A String", # Required. Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "phoneNumber": "A String", # Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+            },
+            "callToActionAsset": { # A call to action asset. # Immutable. A call to action asset.
+              "callToAction": "A String", # Call to action.
+            },
+            "calloutAsset": { # A Callout asset. # A callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # Required. The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "creationTime": "A String", # Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+            "demandGenCarouselCardAsset": { # A Demand Gen Carousel Card asset. # Immutable. A Demand Gen carousel card asset.
+              "callToActionText": "A String", # Call to action text.
+              "headline": "A String", # Required. Headline of the carousel card.
+              "marketingImageAsset": "A String", # Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.
+              "portraitMarketingImageAsset": "A String", # Asset resource name of the associated 4:5 portrait marketing image.
+              "squareMarketingImageAsset": "A String", # Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.
+            },
+            "dynamicCustomAsset": { # A dynamic custom asset. # A dynamic custom asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Sedans, 4 door sedans.
+                "A String",
+              ],
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.
+              "id": "A String", # Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.
+              "id2": "A String", # ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "itemAddress": "A String", # Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "itemCategory": "A String", # Item category, for example, Sedans.
+              "itemDescription": "A String", # Item description, for example, Best selling mid-size car.
+              "itemSubtitle": "A String", # Item subtitle, for example, At your Mountain View dealership.
+              "itemTitle": "A String", # Required. Item title, for example, Mid-size sedan. Required.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.
+              "similarIds": [ # Similar IDs.
+                "A String",
+              ],
+            },
+            "dynamicEducationAsset": { # A Dynamic Education asset. # A dynamic education asset.
+              "address": "A String", # School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Nursing certification, Health, Mountain View.
+                "A String",
+              ],
+              "imageUrl": "A String", # Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits and must be unique.
+              "programDescription": "A String", # Program description, for example, Nursing Certification.
+              "programId": "A String", # Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "programName": "A String", # Required. Program name, for example, Nursing. Required.
+              "schoolName": "A String", # School name, for example, Mountain View School of Nursing.
+              "similarProgramIds": [ # Similar program IDs.
+                "A String",
+              ],
+              "subject": "A String", # Subject of study, for example, Health.
+              "thumbnailImageUrl": "A String", # Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.
+            },
+            "dynamicFlightsAsset": { # A dynamic flights asset. # A dynamic flights asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "customMapping": "A String", # A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32".
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "flightDescription": "A String", # Required. Flight description, for example, Book your ticket. Required.
+              "flightPrice": "A String", # Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "flightSalePrice": "A String", # Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "similarDestinationIds": [ # Similar destination IDs, for example, PAR,LON.
+                "A String",
+              ],
+            },
+            "dynamicHotelsAndRentalsAsset": { # A dynamic hotels and rentals asset. # A dynamic hotels and rentals asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Hotel suite.
+              "contextualKeywords": [ # Contextual keywords, for example, Mountain View "Hotels", South Bay hotels.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Close to SJC Airport.
+              "destinationName": "A String", # Destination name, for example, Downtown Mountain View.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "propertyId": "A String", # Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "propertyName": "A String", # Required. Property name, for example, Mountain View Hotel. Required.
+              "salePrice": "A String", # ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarPropertyIds": [ # Similar property IDs.
+                "A String",
+              ],
+              "starRating": "A String", # Star rating. Must be a number between 1 to 5, inclusive.
+            },
+            "dynamicJobsAsset": { # A dynamic jobs asset. # A dynamic jobs asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "contextualKeywords": [ # Contextual keywords, for example, Software engineering job.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, Apply your technical skills.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "jobCategory": "A String", # Job category, for example, Technical.
+              "jobId": "A String", # Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "jobSubtitle": "A String", # Job subtitle, for example, Level II.
+              "jobTitle": "A String", # Required. Job title, for example, Software engineer. Required.
+              "locationId": "A String", # Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.
+              "salary": "A String", # Salary, for example, $100,000.
+              "similarJobIds": [ # Similar job IDs, for example, 1275.
+                "A String",
+              ],
+            },
+            "dynamicLocalAsset": { # A dynamic local asset. # A dynamic local asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Food.
+              "contextualKeywords": [ # Contextual keywords, for example, Save groceries coupons.
+                "A String",
+              ],
+              "dealId": "A String", # Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "dealName": "A String", # Required. Deal name, for example, 50% off at Mountain View Grocers. Required.
+              "description": "A String", # Description, for example, Save on your weekly bill.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDealIds": [ # Similar deal IDs, for example, 1275.
+                "A String",
+              ],
+              "subtitle": "A String", # Subtitle, for example, Groceries.
+            },
+            "dynamicRealEstateAsset": { # A dynamic real estate asset. # A dynamic real estate asset.
+              "address": "A String", # Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "cityName": "A String", # City name, for example, Mountain View, California.
+              "contextualKeywords": [ # Contextual keywords, for example, For sale; Houses for sale.
+                "A String",
+              ],
+              "description": "A String", # Description, for example, 3 beds, 2 baths, 1568 sq. ft.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "listingId": "A String", # Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "listingName": "A String", # Required. Listing name, for example, Boulevard Bungalow. Required.
+              "listingType": "A String", # Listing type, for example, For sale.
+              "price": "A String", # Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.
+              "propertyType": "A String", # Property type, for example, House.
+              "similarListingIds": [ # Similar listing IDs.
+                "A String",
+              ],
+            },
+            "dynamicTravelAsset": { # A dynamic travel asset. # A dynamic travel asset.
+              "androidAppLink": "A String", # Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.
+              "category": "A String", # Category, for example, Express.
+              "contextualKeywords": [ # Contextual keywords, for example, Paris trains.
+                "A String",
+              ],
+              "destinationAddress": "A String", # Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.
+              "destinationId": "A String", # Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.
+              "destinationName": "A String", # Destination name, for example, Paris.
+              "formattedPrice": "A String", # Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.
+              "formattedSalePrice": "A String", # Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.
+              "imageUrl": "A String", # Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.
+              "iosAppLink": "A String", # iOS deep link, for example, exampleApp://content/page.
+              "iosAppStoreId": "A String", # iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.
+              "originId": "A String", # Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.
+              "originName": "A String", # Origin name, for example, London.
+              "price": "A String", # Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.
+              "salePrice": "A String", # Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.
+              "similarDestinationIds": [ # Similar destination IDs, for example, NYC.
+                "A String",
+              ],
+              "title": "A String", # Required. Title, for example, Book your train ticket. Required.
+            },
+            "engineStatus": "A String", # Output only. The Engine Status for an asset.
+            "fieldTypePolicySummaries": [ # Output only. Policy information for the asset for each FieldType.
+              { # Contains policy information for an asset under AssetFieldType context.
+                "assetFieldType": "A String", # Output only. FieldType of this asset.
+                "assetSource": "A String", # Output only. Source of this asset.
+                "policySummaryInfo": { # Contains policy information for an asset. # Output only. Policy summary.
+                  "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+                },
+              },
+            ],
+            "finalMobileUrls": [ # A list of possible final mobile URLs after all cross domain redirects.
+              "A String",
+            ],
+            "finalUrlSuffix": "A String", # URL template for appending params to landing page URLs served with parallel tracking.
+            "finalUrls": [ # A list of possible final URLs after all cross domain redirects.
+              "A String",
+            ],
+            "hotelCalloutAsset": { # An asset representing a hotel callout. # A hotel callout asset.
+              "languageCode": "A String", # Required. The language of the hotel callout. Represented as BCP 47 language tag.
+              "text": "A String", # Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.
+            },
+            "hotelPropertyAsset": { # A hotel property asset. # Immutable. A hotel property asset.
+              "hotelAddress": "A String", # Address of the hotel. Read-only.
+              "hotelName": "A String", # Name of the hotel. Read-only.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.
+            },
+            "id": "A String", # Output only. The ID of the asset.
+            "imageAsset": { # An Image asset. # Output only. An image asset.
+              "data": "A String", # The raw bytes data of an image. This field is mutate only.
+              "fileSize": "A String", # File size of the image asset in bytes.
+              "fullSize": { # Metadata for an image at a certain size, either original or resized. # Metadata for this image at its original size.
+                "heightPixels": "A String", # Height of the image.
+                "url": "A String", # A URL that returns the image with this height and width.
+                "widthPixels": "A String", # Width of the image.
+              },
+              "mimeType": "A String", # MIME type of the image asset.
+            },
+            "lastModifiedTime": "A String", # Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+            "leadFormAsset": { # A Lead Form asset. # A lead form asset.
+              "backgroundImageAsset": "A String", # Asset resource name of the background image. The image dimensions must be exactly 1200x628.
+              "businessName": "A String", # Required. The name of the business being advertised.
+              "callToActionDescription": "A String", # Required. Text giving a clear value proposition of what users expect once they expand the form.
+              "callToActionType": "A String", # Required. Pre-defined display text that encourages user to expand the form.
+              "customDisclosure": "A String", # Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.
+              "customQuestionFields": [ # Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.
+                { # One custom question input field instance within a form.
+                  "customQuestionText": "A String", # The exact custom question field text (for example, "What kind of vehicle do you have?").
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "deliveryMethods": [ # Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.
+                { # A configuration of how leads are delivered to the advertiser.
+                  "webhook": { # Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. # Webhook method of delivery.
+                    "advertiserWebhookUrl": "A String", # Webhook url specified by advertiser to send the lead.
+                    "googleSecret": "A String", # Anti-spoofing secret set by the advertiser as part of the webhook payload.
+                    "payloadSchemaVersion": "A String", # The schema version that this delivery instance will use.
+                  },
+                },
+              ],
+              "description": "A String", # Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.
+              "desiredIntent": "A String", # Chosen intent for the lead form, for example, more volume or more qualified.
+              "fields": [ # Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.
+                { # One input field instance within a form.
+                  "hasLocationAnswer": True or False, # Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level.
+                  "inputType": "A String", # Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?".
+                  "singleChoiceAnswers": { # Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. # Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed.
+                    "answers": [ # List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.
+                      "A String",
+                    ],
+                  },
+                },
+              ],
+              "headline": "A String", # Required. Headline of the expanded form to describe what the form is asking for or facilitating.
+              "postSubmitCallToActionType": "A String", # Pre-defined display text that encourages user action after the form is submitted.
+              "postSubmitDescription": "A String", # Detailed description shown after form submission that describes how the advertiser will follow up with the user.
+              "postSubmitHeadline": "A String", # Headline of text shown after form submission that describes how the advertiser will follow up with the user.
+              "privacyPolicyUrl": "A String", # Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.
+            },
+            "locationAsset": { # A location asset. # Output only. A location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "mediaBundleAsset": { # A MediaBundle asset. # Immutable. A media bundle asset.
+              "data": "A String", # Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.
+            },
+            "mobileAppAsset": { # An asset representing a mobile app. # A mobile app asset.
+              "appId": "A String", # Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS.
+              "appStore": "A String", # Required. The application store that distributes this specific app.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "name": "A String", # Optional name of the asset.
+            "orientation": "A String", # Output only. Orientation of the asset. This is only supported for image and video assets.
+            "pageFeedAsset": { # A Page Feed asset. # A page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # Required. The webpage that advertisers want to target.
+            },
+            "policySummary": { # Contains policy information for an asset. # Output only. Policy information for the asset.
+              "approvalStatus": "A String", # Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.
+              "policyTopicEntries": [ # Output only. The list of policy findings for this asset.
+                { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                  "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                    { # Describes the effect on serving that a policy topic entry will have.
+                      "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                        "countries": [ # Countries in which serving is restricted.
+                          { # Indicates that a resource's ability to serve in a particular country is constrained.
+                            "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                          },
+                        ],
+                        "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                      },
+                      "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                      },
+                    },
+                  ],
+                  "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                    { # Additional information that explains a policy finding.
+                      "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                        "urlTypes": [ # The set of URLs that did not match each other.
+                          "A String",
+                        ],
+                      },
+                      "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                        "device": "A String", # The type of device that failed to load the URL.
+                        "dnsErrorType": "A String", # The type of DNS error.
+                        "expandedUrl": "A String", # The full URL that didn't work.
+                        "httpErrorCode": "A String", # The HTTP error code.
+                        "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                      },
+                      "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                        "destinationTexts": [ # List of text found in the resource's destination page.
+                          "A String",
+                        ],
+                      },
+                      "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                      "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                        "texts": [ # The fragments of text from the resource that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                      "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                        "websites": [ # Websites that caused the policy finding.
+                          "A String",
+                        ],
+                      },
+                    },
+                  ],
+                  "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                  "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                },
+              ],
+              "reviewStatus": "A String", # Output only. Where in the review process this asset is.
+            },
+            "priceAsset": { # An asset representing a list of price offers. # A price asset.
+              "languageCode": "A String", # Required. The language of the price asset. Represented as BCP 47 language tag.
+              "priceOfferings": [ # The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.
+                { # A single price offering within a PriceAsset.
+                  "description": "A String", # Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "finalMobileUrl": "A String", # The final mobile URL after all cross domain redirects.
+                  "finalUrl": "A String", # Required. The final URL after all cross domain redirects.
+                  "header": "A String", # Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.
+                  "price": { # Represents a price in a particular currency. # Required. The price value of the price offering.
+                    "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                    "currencyCode": "A String", # Three-character ISO 4217 currency code.
+                  },
+                  "unit": "A String", # The price unit of the price offering.
+                },
+              ],
+              "priceQualifier": "A String", # The price qualifier of the price asset.
+              "type": "A String", # Required. The type of the price asset.
+            },
+            "promotionAsset": { # A Promotion asset. # A promotion asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "discountModifier": "A String", # A modifier for qualification of the discount.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "languageCode": "A String", # The language of the promotion. Represented as BCP 47 language tag.
+              "moneyAmountOff": { # Represents a price in a particular currency. # Money amount off for discount in the promotion. Either this or percent_off is required.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "occasion": "A String", # The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.
+              "ordersOverAmount": { # Represents a price in a particular currency. # The amount the total order needs to be for the user to be eligible for the promotion.
+                "amountMicros": "A String", # Amount in micros. One million is equivalent to one unit.
+                "currencyCode": "A String", # Three-character ISO 4217 currency code.
+              },
+              "percentOff": "A String", # Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.
+              "promotionBarcodeInfo": { # Barcode info to generate promotion barcode. # Barcode info used to generate promotion barcode for user to be eligible for the promotion.
+                "barcodeContent": "A String", # Promotion message to be encoded in the barcode.
+                "type": "A String", # Barcode type used to generate barcode with the correct format.
+              },
+              "promotionCode": "A String", # A code the user should use in order to be eligible for the promotion.
+              "promotionQrCodeInfo": { # QR code info to generate promotion QR code. # QR code info used to generate promotion QR code for user to be eligible for the promotion.
+                "qrCodeContent": "A String", # Promotion message to be encoded in the QR code.
+              },
+              "promotionTarget": "A String", # Required. A freeform description of what the promotion is targeting.
+              "redemptionEndDate": "A String", # Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "redemptionStartDate": "A String", # Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "termsAndConditionsText": "A String", # Terms and conditions of the promotion.
+              "termsAndConditionsUri": "A String", # URI to the terms and conditions of the promotion.
+            },
+            "resourceName": "A String", # Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`
+            "searchAds360CallAsset": { # A unified call asset. # Output only. A unified call asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "callConversionAction": "A String", # The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+              "callConversionReportingState": "A String", # Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.
+              "callOnly": True or False, # Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.
+              "callTrackingEnabled": True or False, # Whether the call should be enabled on call tracking. Applies to Microsoft Ads.
+              "countryCode": "A String", # Two-letter country code of the phone number. Examples: 'US', 'us'.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "phoneNumber": "A String", # The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360CalloutAsset": { # A unified callout asset. # Output only. A unified callout asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "calloutText": "A String", # The callout text. The length of this string should be between 1 and 25, inclusive.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "useSearcherTimeZone": True or False, # Whether to show the asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "searchAds360LocationAsset": { # A unified location asset. # Output only. A unified location asset.
+              "businessProfileLocations": [ # The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.
+                { # Business Profile location data synced from the linked Business Profile account.
+                  "labels": [ # Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.
+                    "A String",
+                  ],
+                  "listingId": "A String", # Listing ID of this Business Profile location. This is synced from the linked Business Profile account.
+                  "storeCode": "A String", # Business Profile store code of this location. This is synced from the Business Profile account.
+                },
+              ],
+              "locationOwnershipType": "A String", # The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.
+              "placeId": "A String", # Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.
+            },
+            "searchAds360PageFeedAsset": { # A Unified Page Feed asset. # Output only. A unified page feed asset.
+              "labels": [ # Labels used to group the page urls.
+                "A String",
+              ],
+              "pageUrl": "A String", # The webpage that advertisers want to target.
+            },
+            "searchAds360SitelinkAsset": { # A unified sitelink asset. # Output only. A unified sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "mobilePreferred": True or False, # Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+              "trackingId": "A String", # ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.
+              "useSearcherTimeZone": True or False, # Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.
+            },
+            "sitelinkAsset": { # A Sitelink asset. # A sitelink asset.
+              "adScheduleTargets": [ # List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.
+                { # Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.
+                  "dayOfWeek": "A String", # Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endHour": 42, # Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "endMinute": "A String", # Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startHour": 42, # Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                  "startMinute": "A String", # Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.
+                },
+              ],
+              "description1": "A String", # First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.
+              "description2": "A String", # Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.
+              "endDate": "A String", # Last date of when this asset is effective and still serving, in yyyy-MM-dd format.
+              "linkText": "A String", # Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.
+              "startDate": "A String", # Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.
+            },
+            "source": "A String", # Output only. Source of the asset.
+            "status": "A String", # Output only. The status of the asset.
+            "structuredSnippetAsset": { # A Structured Snippet asset. # A structured snippet asset.
+              "header": "A String", # Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers
+              "values": [ # Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.
+                "A String",
+              ],
+            },
+            "textAsset": { # A Text asset. # Immutable. A text asset.
+              "text": "A String", # Text content of the text asset.
+            },
+            "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+            "type": "A String", # Output only. Type of the asset.
+            "urlCustomParameters": [ # A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.
+              { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+                "key": "A String", # The key matching the parameter tag name.
+                "value": "A String", # The value to be substituted.
+              },
+            ],
+            "youtubeVideoAsset": { # A YouTube asset. # Immutable. A YouTube video asset.
+              "youtubeVideoId": "A String", # YouTube video id. This is the 11 character string value used in the YouTube video URL.
+              "youtubeVideoTitle": "A String", # YouTube video title.
+            },
+          },
+        ],
+      },
+      "targetCpaOptInRecommendation": { # The Target CPA opt-in recommendation. # Output only. The TargetCPA opt-in recommendation.
+        "options": [ # Output only. The available goals and corresponding options for Target CPA strategy.
+          { # The Target CPA opt-in option with impact estimate.
+            "goal": "A String", # Output only. The goal achieved by this option.
+            "impact": { # The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. # Output only. The impact estimate if this option is selected.
+              "baseMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Base metrics at the time the recommendation was generated.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+              "potentialMetrics": { # Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. # Output only. Estimated metrics if the recommendation is applied.
+                "clicks": 3.14, # Output only. Number of ad clicks.
+                "conversions": 3.14, # Output only. Number of conversions.
+                "conversionsValue": 3.14, # Output only. Sum of the conversion value of the conversions.
+                "costMicros": "A String", # Output only. Cost (in micros) for advertising, in the local currency for the account.
+                "impressions": 3.14, # Output only. Number of ad impressions.
+                "videoViews": 3.14, # Output only. Number of video views for a video ad campaign.
+              },
+            },
+            "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.
+            "targetCpaMicros": "A String", # Output only. Average CPA target.
+          },
+        ],
+        "recommendedTargetCpaMicros": "A String", # Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.
+      },
+      "targetRoasOptInRecommendation": { # The Target ROAS opt-in recommendation. # Output only. The Target ROAS opt-in recommendation.
+        "recommendedTargetRoas": 3.14, # Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.
+        "requiredCampaignBudgetAmountMicros": "A String", # Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.
+      },
+      "textAdRecommendation": { # The text ad recommendation. # Output only. Add expanded text ad recommendation.
+        "ad": { # An ad. # Output only. Recommended ad.
+          "addedByGoogleAds": True or False, # Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.
+          "appAd": { # An app ad. # Details pertaining to an app ad.
+            "appDeepLink": { # An app deep link used inside an ad. # An app deep link asset that may be used with the ad.
+              "asset": "A String", # The Asset resource name of this app deep link asset.
+            },
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "html5MediaBundles": [ # List of media bundle assets that may be used with the ad.
+              { # A media bundle asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this media bundle.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "mandatoryAdText": { # A text asset used inside an ad. # Mandatory ad text.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "youtubeVideos": [ # List of YouTube video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appEngagementAd": { # App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. # Details pertaining to an app engagement ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image assets that may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "videos": [ # List of video assets that may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "appPreRegistrationAd": { # App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. # Details pertaining to an app pre-registration ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "images": [ # List of image asset IDs whose images may be displayed with the ad.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # List of YouTube video asset IDs whose videos may be displayed with the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "demandGenCarouselAd": { # A Demand Gen carousel ad. # Details pertaining to a Demand Gen carousel ad.
+            "businessName": "A String", # Required. The Advertiser/brand name.
+            "callToActionText": "A String", # Call to action text.
+            "carouselCards": [ # Required. Carousel cards that will display with the ad. Min 2 max 10.
+              { # A Demand Gen carousel card asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this discovery carousel card.
+              },
+            ],
+            "description": { # A text asset used inside an ad. # Required. The descriptive text of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Headline of the ad.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenMultiAssetAd": { # A Demand Gen multi asset ad. # Details pertaining to a Demand Gen multi asset ad.
+            "businessName": "A String", # The Advertiser/brand name. Maximum display width is 25. Required.
+            "callToActionText": "A String", # Call to action text.
+            "descriptions": [ # The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "portraitMarketingImages": [ # Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "tallPortraitMarketingImages": [ # Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+          },
+          "demandGenProductAd": { # A Demand Gen product ad. # Details pertaining to a Demand Gen product ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToAction": { # A call to action asset used inside an ad. # Asset of type CallToActionAsset used for the "Call To Action" button.
+              "asset": "A String", # The Asset resource name of this call to action asset.
+            },
+            "description": { # A text asset used inside an ad. # Required. Text asset used for the description.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "headline": { # A text asset used inside an ad. # Required. Text asset used for the short headline.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "logoImage": { # An image asset used inside an ad. # Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              "asset": "A String", # The Asset resource name of this image.
+            },
+          },
+          "demandGenVideoResponsiveAd": { # A Demand Gen video responsive ad. # Details pertaining to a Demand Gen video responsive ad.
+            "breadcrumb1": "A String", # First part of text that appears in the ad with the displayed URL.
+            "breadcrumb2": "A String", # Second part of text that appears in the ad with the displayed URL.
+            "businessName": { # A text asset used inside an ad. # Required. The advertiser/brand name.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "callToActions": [ # Assets of type CallToActionAsset used for the "Call To Action" button.
+              { # A call to action asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this call to action asset.
+              },
+            ],
+            "companionBanners": [ # List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "descriptions": [ # List of text assets used for the description.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets used for the short headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadlines": [ # List of text assets used for the long headline.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "videos": [ # List of YouTube video assets used for the ad.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "devicePreference": "A String", # The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.
+          "displayUploadAd": { # A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. # Details pertaining to a display upload ad.
+            "displayUploadProductType": "A String", # The product type of this ad. See comments on the enum for details.
+            "mediaBundle": { # A media bundle asset used inside an ad. # A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information.
+              "asset": "A String", # The Asset resource name of this media bundle.
+            },
+          },
+          "displayUrl": "A String", # The URL that appears in the ad description for some ad formats.
+          "expandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+          },
+          "expandedTextAd": { # An expanded text ad. # Details pertaining to an expanded text ad.
+            "description": "A String", # The description of the ad.
+            "description2": "A String", # The second description of the ad.
+            "headlinePart1": "A String", # The first part of the ad's headline.
+            "headlinePart2": "A String", # The second part of the ad's headline.
+            "headlinePart3": "A String", # The third part of the ad's headline.
+            "path1": "A String", # The text that can appear alongside the ad's displayed URL.
+            "path2": "A String", # Additional text that can appear alongside the ad's displayed URL.
+          },
+          "finalAppUrls": [ # A list of final app URLs that will be used on mobile if the user has the specific app installed.
+            { # A URL for deep linking into an app for the given operating system.
+              "osType": "A String", # The operating system targeted by this URL. Required.
+              "url": "A String", # The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required.
+            },
+          ],
+          "finalMobileUrls": [ # The list of possible final mobile URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "finalUrlSuffix": "A String", # The suffix to use when constructing a final URL.
+          "finalUrls": [ # The list of possible final URLs after all cross-domain redirects for the ad.
+            "A String",
+          ],
+          "hotelAd": { # A hotel ad. # Details pertaining to a hotel ad.
+          },
+          "id": "A String", # Output only. The ID of the ad.
+          "imageAd": { # An image ad. # Immutable. Details pertaining to an Image ad.
+            "adIdToCopyImageFrom": "A String", # An ad ID to copy the image from.
+            "data": "A String", # Raw image data as bytes.
+            "imageAsset": { # An image asset used inside an ad. # The image assets used for the ad.
+              "asset": "A String", # The Asset resource name of this image.
+            },
+            "imageUrl": "A String", # URL of the full size image.
+            "mimeType": "A String", # The mime type of the image.
+            "name": "A String", # The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.
+            "pixelHeight": "A String", # Height in pixels of the full size image.
+            "pixelWidth": "A String", # Width in pixels of the full size image.
+            "previewImageUrl": "A String", # URL of the preview size image.
+            "previewPixelHeight": "A String", # Height in pixels of the preview size image.
+            "previewPixelWidth": "A String", # Width in pixels of the preview size image.
+          },
+          "legacyAppInstallAd": { # A legacy app install ad that only can be used by a few select customers. # Immutable. Details pertaining to a legacy app install ad.
+            "appId": "A String", # The ID of the mobile app.
+            "appStore": "A String", # The app store the mobile app is available in.
+            "description1": "A String", # The first description line of the ad.
+            "description2": "A String", # The second description line of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "legacyResponsiveDisplayAd": { # A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. # Details pertaining to a legacy responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The business name in the ad.
+            "callToActionText": "A String", # The call-to-action text for the ad.
+            "description": "A String", # The description of the ad.
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "logoImage": "A String", # The MediaFile resource name of the logo image used in the ad.
+            "longHeadline": "A String", # The long version of the ad's headline.
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImage": "A String", # The MediaFile resource name of the marketing image used in the ad.
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "shortHeadline": "A String", # The short version of the ad's headline.
+            "squareLogoImage": "A String", # The MediaFile resource name of the square logo image used in the ad.
+            "squareMarketingImage": "A String", # The MediaFile resource name of the square marketing image used in the ad.
+          },
+          "localAd": { # A local ad. # Details pertaining to a local ad.
+            "callToActions": [ # List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "marketingImages": [ # List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "path1": "A String", # First part of optional text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+            "videos": [ # List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "name": "A String", # Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.
+          "productAd": { # A Search Ads 360 product ad. # Immutable. Details pertaining to a product ad.
+          },
+          "resourceName": "A String", # Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`
+          "responsiveDisplayAd": { # A responsive display ad. # Details pertaining to a responsive display ad.
+            "accentColor": "A String", # The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "allowFlexibleColor": True or False, # Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.
+            "businessName": "A String", # The advertiser/brand name. Maximum display width is 25.
+            "callToActionText": "A String", # The call-to-action text for the ad. Maximum display width is 30.
+            "controlSpec": { # Specification for various creative controls for a responsive display ad. # Specification for various creative controls.
+              "enableAssetEnhancements": True or False, # Whether the advertiser has opted into the asset enhancements feature.
+              "enableAutogenVideo": True or False, # Whether the advertiser has opted into auto-gen video feature.
+            },
+            "descriptions": [ # Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "formatSetting": "A String", # Specifies which format the ad will be served in. Default is ALL_FORMATS.
+            "headlines": [ # Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "logoImages": [ # Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "longHeadline": { # A text asset used inside an ad. # A required long format headline. The maximum length is 90 characters.
+              "assetPerformanceLabel": "A String", # The performance label of this text asset.
+              "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+              "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                "policyTopicEntries": [ # The list of policy findings for this asset.
+                  { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                    "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                      { # Describes the effect on serving that a policy topic entry will have.
+                        "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                          "countries": [ # Countries in which serving is restricted.
+                            { # Indicates that a resource's ability to serve in a particular country is constrained.
+                              "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                            },
+                          ],
+                          "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                        },
+                        "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                        },
+                      },
+                    ],
+                    "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                      { # Additional information that explains a policy finding.
+                        "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                          "urlTypes": [ # The set of URLs that did not match each other.
+                            "A String",
+                          ],
+                        },
+                        "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                          "device": "A String", # The type of device that failed to load the URL.
+                          "dnsErrorType": "A String", # The type of DNS error.
+                          "expandedUrl": "A String", # The full URL that didn't work.
+                          "httpErrorCode": "A String", # The HTTP error code.
+                          "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                        },
+                        "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                          "destinationTexts": [ # List of text found in the resource's destination page.
+                            "A String",
+                          ],
+                        },
+                        "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                        "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                          "texts": [ # The fragments of text from the resource that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                        "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                          "websites": [ # Websites that caused the policy finding.
+                            "A String",
+                          ],
+                        },
+                      },
+                    ],
+                    "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                    "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                  },
+                ],
+                "reviewStatus": "A String", # Where in the review process this asset.
+              },
+              "text": "A String", # Asset text.
+            },
+            "mainColor": "A String", # The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.
+            "marketingImages": [ # Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "pricePrefix": "A String", # Prefix before price. For example, 'as low as'.
+            "promoText": "A String", # Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.
+            "squareLogoImages": [ # Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "squareMarketingImages": [ # Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.
+              { # An image asset used inside an ad.
+                "asset": "A String", # The Asset resource name of this image.
+              },
+            ],
+            "youtubeVideos": [ # Optional YouTube videos for the ad. A maximum of 5 videos can be specified.
+              { # A video asset used inside an ad.
+                "adVideoAssetInfo": { # Contains info fields for AdVideoAssets. # Contains info fields for this AdVideoAsset.
+                  "adVideoAssetFeatureControl": { # YouTube Video Asset feature controls. # Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts.
+                    "allowYoutubeComments": True or False, # Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.
+                  },
+                },
+                "asset": "A String", # The Asset resource name of this video.
+              },
+            ],
+          },
+          "responsiveSearchAd": { # A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 # Details pertaining to a responsive search ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # First part of text that can be appended to the URL in the ad.
+            "path2": "A String", # Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.
+          },
+          "searchAds360ExpandedDynamicSearchAd": { # An expanded dynamic search ad. # Immutable. Details pertaining to an expanded dynamic search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+          },
+          "searchAds360ExpandedTextAd": { # A Search Ads 360 expanded text ad. # Immutable. Details pertaining to an expanded text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+            "headline2": "A String", # The second headline of the ad.
+            "headline3": "A String", # The third headline of the ad.
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360ResponsiveSearchAd": { # A Search Ads 360 responsive search ad. # Immutable. Details pertaining to a responsive search ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "descriptions": [ # List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets for headlines. When the ad serves the headlines will be selected from this list.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "path1": "A String", # Text appended to the auto-generated visible URL with a delimiter.
+            "path2": "A String", # Text appended to path1 with a delimiter.
+          },
+          "searchAds360TextAd": { # A Search Ads 360 text ad. # Immutable. Details pertaining to a text ad.
+            "adTrackingId": "A String", # The tracking id of the ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "displayMobileUrl": "A String", # The displayed mobile URL of the ad.
+            "displayUrl": "A String", # The displayed URL of the ad.
+            "headline": "A String", # The headline of the ad.
+          },
+          "shoppingComparisonListingAd": { # A Shopping Comparison Listing ad. # Details pertaining to a Shopping Comparison Listing ad.
+            "headline": "A String", # Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.
+          },
+          "shoppingProductAd": { # A standard Shopping ad. # Details pertaining to a Shopping product ad.
+          },
+          "shoppingSmartAd": { # A Smart Shopping ad. # Details pertaining to a Smart Shopping ad.
+          },
+          "smartCampaignAd": { # A Smart campaign ad. # Details pertaining to a Smart campaign ad.
+            "descriptions": [ # List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+            "headlines": [ # List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.
+              { # A text asset used inside an ad.
+                "assetPerformanceLabel": "A String", # The performance label of this text asset.
+                "pinnedField": "A String", # The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.
+                "policySummaryInfo": { # Contains policy information for an asset inside an ad. # The policy summary of this text asset.
+                  "approvalStatus": "A String", # The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.
+                  "policyTopicEntries": [ # The list of policy findings for this asset.
+                    { # Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.
+                      "constraints": [ # Indicates how serving of this resource may be affected (for example, not serving in a country).
+                        { # Describes the effect on serving that a policy topic entry will have.
+                          "certificateDomainMismatchInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where the resource's domain is not covered by the certificates associated with it.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "certificateMissingInCountryList": { # A list of countries where a resource's serving is constrained. # Countries where a certificate is required for serving.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "countryConstraintList": { # A list of countries where a resource's serving is constrained. # Countries where the resource cannot serve.
+                            "countries": [ # Countries in which serving is restricted.
+                              { # Indicates that a resource's ability to serve in a particular country is constrained.
+                                "countryCriterion": "A String", # Geo target constant resource name of the country in which serving is constrained.
+                              },
+                            ],
+                            "totalTargetedCountries": 42, # Total number of countries targeted by the resource.
+                          },
+                          "resellerConstraint": { # Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. # Reseller constraint.
+                          },
+                        },
+                      ],
+                      "evidences": [ # Additional information that explains policy finding (for example, the brand name for a trademark finding).
+                        { # Additional information that explains a policy finding.
+                          "destinationMismatch": { # Evidence of mismatches between the URLs of a resource. # Mismatch between the destinations of a resource's URLs.
+                            "urlTypes": [ # The set of URLs that did not match each other.
+                              "A String",
+                            ],
+                          },
+                          "destinationNotWorking": { # Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. # Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.
+                            "device": "A String", # The type of device that failed to load the URL.
+                            "dnsErrorType": "A String", # The type of DNS error.
+                            "expandedUrl": "A String", # The full URL that didn't work.
+                            "httpErrorCode": "A String", # The HTTP error code.
+                            "lastCheckedDateTime": "A String", # The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+                          },
+                          "destinationTextList": { # A list of strings found in a destination page that caused a policy finding. # The text in the destination of the resource that is causing a policy finding.
+                            "destinationTexts": [ # List of text found in the resource's destination page.
+                              "A String",
+                            ],
+                          },
+                          "languageCode": "A String", # The language the resource was detected to be written in. This is an IETF language tag such as "en-US".
+                          "textList": { # A list of fragments of text that violated a policy. # List of evidence found in the text of a resource.
+                            "texts": [ # The fragments of text from the resource that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                          "websiteList": { # A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. # List of websites linked with this resource.
+                            "websites": [ # Websites that caused the policy finding.
+                              "A String",
+                            ],
+                          },
+                        },
+                      ],
+                      "topic": "A String", # Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time.
+                      "type": "A String", # Describes the negative or positive effect this policy will have on serving.
+                    },
+                  ],
+                  "reviewStatus": "A String", # Where in the review process this asset.
+                },
+                "text": "A String", # Asset text.
+              },
+            ],
+          },
+          "systemManagedResourceSource": "A String", # Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.
+          "textAd": { # A text ad. # Immutable. Details pertaining to a text ad.
+            "description1": "A String", # The first line of the ad's description.
+            "description2": "A String", # The second line of the ad's description.
+            "headline": "A String", # The headline of the ad.
+          },
+          "trackingUrlTemplate": "A String", # The URL template for constructing a tracking URL.
+          "travelAd": { # A travel ad. # Details pertaining to a travel ad.
+          },
+          "type": "A String", # Output only. The type of ad.
+          "urlCollections": [ # Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.
+            { # Collection of urls that is tagged with a unique identifier.
+              "finalMobileUrls": [ # A list of possible final mobile URLs.
+                "A String",
+              ],
+              "finalUrls": [ # A list of possible final URLs.
+                "A String",
+              ],
+              "trackingUrlTemplate": "A String", # URL template for constructing a tracking URL.
+              "urlCollectionId": "A String", # Unique identifier for this UrlCollection instance.
+            },
+          ],
+          "urlCustomParameters": [ # The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.
+            { # A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+              "key": "A String", # The key matching the parameter tag name.
+              "value": "A String", # The value to be substituted.
+            },
+          ],
+        },
+        "autoApplyDate": "A String", # Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.
+        "creationDate": "A String", # Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.
+      },
+      "type": "A String", # Output only. The type of recommendation.
+      "upgradeLocalCampaignToPerformanceMaxRecommendation": { # The Upgrade Local campaign to Performance Max campaign recommendation. # Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.
+      },
+      "upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { # The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation. # Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.
+        "merchantId": "A String", # Output only. ID of Merchant Center account.
+        "salesCountryCode": "A String", # Output only. Country whose products from merchant's inventory should be included.
+      },
+      "useBroadMatchKeywordRecommendation": { # The use broad match keyword recommendation. # Output only. The use broad match keyword recommendation.
+        "campaignKeywordsCount": "A String", # Output only. Total number of keywords in the campaign.
+        "campaignUsesSharedBudget": True or False, # Output only. Whether the associated campaign uses a shared budget.
+        "keyword": [ # Output only. Sample of keywords to be expanded to Broad Match.
+          { # A keyword criterion.
+            "matchType": "A String", # The match type of the keyword.
+            "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+          },
+        ],
+        "requiredCampaignBudgetAmountMicros": "A String", # Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.
+        "suggestedKeywordsCount": "A String", # Output only. Total number of keywords to be expanded to Broad Match in the campaign.
+      },
+    },
+    "recommendationSubscription": { # Recommendation Subscription resource # The recommendation subscription referenced in the query.
+      "createDateTime": "A String", # Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+      "modifyDateTime": "A String", # Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
+      "resourceName": "A String", # Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`
+      "status": "A String", # Required. Status of the subscription, either enabled or paused.
+      "type": "A String", # Required. Immutable. The type of recommendation subscribed to.
+    },
+    "remarketingAction": { # A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. # The remarketing action referenced in the query.
+      "id": "A String", # Output only. Id of the remarketing action.
+      "name": "A String", # The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.
+      "resourceName": "A String", # Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+      "tagSnippets": [ # Output only. The snippets used for tracking remarketing actions.
+        { # The site tag and event snippet pair for a TrackingCodeType.
+          "eventSnippet": "A String", # The event snippet that works with the site tag to track actions that should be counted as conversions.
+          "globalSiteTag": "A String", # The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.
+          "pageFormat": "A String", # The format of the web page where the tracking tag and snippet will be installed, for example, HTML.
+          "type": "A String", # The type of the generated tag snippets for tracking conversions.
+        },
+      ],
+    },
+    "searchAds360Campaign": { # A Search Ads 360 campaign. # The Search Ads 360 campaign referenced in the query.
+      "productAttributionFilterType": "A String", # The type of product attribution filtering to apply to this campaign.
+      "resourceName": "A String", # Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`
+    },
+    "searchTermView": { # A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead. # The search term view referenced in the query.
+      "adGroup": "A String", # Output only. The ad group the search term served in.
+      "resourceName": "A String", # Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`
+      "searchTerm": "A String", # Output only. The search term.
+      "status": "A String", # Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.
+    },
+    "segments": { # Segment only fields. # The segments.
+      "adFormatType": "A String", # Ad Format type.
+      "adNetworkType": "A String", # Ad network type.
+      "assetInteractionTarget": { # An AssetInteractionTarget segment. # Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with.
+        "asset": "A String", # The asset resource name.
+        "interactionOnThisAsset": True or False, # Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.
+      },
+      "conversionAction": "A String", # Resource name of the conversion action.
+      "conversionActionCategory": "A String", # Conversion action category.
+      "conversionActionName": "A String", # Conversion action name.
+      "conversionCustomDimensions": [ # The conversion custom dimensions.
+        { # A generic data container.
+          "booleanValue": True or False, # A boolean.
+          "doubleValue": 3.14, # A double.
+          "floatValue": 3.14, # A float.
+          "int64Value": "A String", # An int64.
+          "stringValue": "A String", # A string.
+        },
+      ],
+      "date": "A String", # Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17.
+      "dayOfWeek": "A String", # Day of the week, for example, MONDAY.
+      "device": "A String", # Device to which metrics apply.
+      "geoTargetCity": "A String", # Resource name of the geo target constant that represents a city.
+      "geoTargetCountry": "A String", # Resource name of the geo target constant that represents a country.
+      "geoTargetMetro": "A String", # Resource name of the geo target constant that represents a metro.
+      "geoTargetPostalCode": "A String", # Resource name of the geo target constant that represents a postal code.
+      "geoTargetRegion": "A String", # Resource name of the geo target constant that represents a region.
+      "hour": 42, # Hour of day as a number between 0 and 23, inclusive.
+      "keyword": { # A Keyword criterion segment. # Keyword criterion.
+        "adGroupCriterion": "A String", # The AdGroupCriterion resource name.
+        "info": { # A keyword criterion. # Keyword info.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+      },
+      "month": "A String", # Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.
+      "productBiddingCategoryLevel1": "A String", # Bidding category (level 1) of the product.
+      "productBiddingCategoryLevel2": "A String", # Bidding category (level 2) of the product.
+      "productBiddingCategoryLevel3": "A String", # Bidding category (level 3) of the product.
+      "productBiddingCategoryLevel4": "A String", # Bidding category (level 4) of the product.
+      "productBiddingCategoryLevel5": "A String", # Bidding category (level 5) of the product.
+      "productBrand": "A String", # Brand of the product.
+      "productChannel": "A String", # Channel of the product.
+      "productChannelExclusivity": "A String", # Channel exclusivity of the product.
+      "productCondition": "A String", # Condition of the product.
+      "productCountry": "A String", # Resource name of the geo target constant for the country of sale of the product.
+      "productCustomAttribute0": "A String", # Custom attribute 0 of the product.
+      "productCustomAttribute1": "A String", # Custom attribute 1 of the product.
+      "productCustomAttribute2": "A String", # Custom attribute 2 of the product.
+      "productCustomAttribute3": "A String", # Custom attribute 3 of the product.
+      "productCustomAttribute4": "A String", # Custom attribute 4 of the product.
+      "productItemId": "A String", # Item ID of the product.
+      "productLanguage": "A String", # Resource name of the language constant for the language of the product.
+      "productSoldBiddingCategoryLevel1": "A String", # Bidding category (level 1) of the product sold.
+      "productSoldBiddingCategoryLevel2": "A String", # Bidding category (level 2) of the product sold.
+      "productSoldBiddingCategoryLevel3": "A String", # Bidding category (level 3) of the product sold.
+      "productSoldBiddingCategoryLevel4": "A String", # Bidding category (level 4) of the product sold.
+      "productSoldBiddingCategoryLevel5": "A String", # Bidding category (level 5) of the product sold.
+      "productSoldBrand": "A String", # Brand of the product sold.
+      "productSoldCondition": "A String", # Condition of the product sold.
+      "productSoldCustomAttribute0": "A String", # Custom attribute 0 of the product sold.
+      "productSoldCustomAttribute1": "A String", # Custom attribute 1 of the product sold.
+      "productSoldCustomAttribute2": "A String", # Custom attribute 2 of the product sold.
+      "productSoldCustomAttribute3": "A String", # Custom attribute 3 of the product sold.
+      "productSoldCustomAttribute4": "A String", # Custom attribute 4 of the product sold.
+      "productSoldItemId": "A String", # Item ID of the product sold.
+      "productSoldTitle": "A String", # Title of the product sold.
+      "productSoldTypeL1": "A String", # Type (level 1) of the product sold.
+      "productSoldTypeL2": "A String", # Type (level 2) of the product sold.
+      "productSoldTypeL3": "A String", # Type (level 3) of the product sold.
+      "productSoldTypeL4": "A String", # Type (level 4) of the product sold.
+      "productSoldTypeL5": "A String", # Type (level 5) of the product sold.
+      "productStoreId": "A String", # Store ID of the product.
+      "productTitle": "A String", # Title of the product.
+      "productTypeL1": "A String", # Type (level 1) of the product.
+      "productTypeL2": "A String", # Type (level 2) of the product.
+      "productTypeL3": "A String", # Type (level 3) of the product.
+      "productTypeL4": "A String", # Type (level 4) of the product.
+      "productTypeL5": "A String", # Type (level 5) of the product.
+      "quarter": "A String", # Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.
+      "rawEventConversionDimensions": [ # The raw event conversion dimensions.
+        { # A generic data container.
+          "booleanValue": True or False, # A boolean.
+          "doubleValue": 3.14, # A double.
+          "floatValue": 3.14, # A float.
+          "int64Value": "A String", # An int64.
+          "stringValue": "A String", # A string.
+        },
+      ],
+      "verticalAdsEventParticipantDisplayNames": "A String", # The display names of participants in an event listing, like performers, speakers, or teams.
+      "verticalAdsHotelClass": "A String", # The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.
+      "verticalAdsListing": "A String", # The listing associated with a listing impression, click or conversion.
+      "verticalAdsListingBrand": "A String", # The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.
+      "verticalAdsListingCity": "A String", # The city where the vertical ads listing is located.
+      "verticalAdsListingCountry": "A String", # The country where the vertical ads listing is located.
+      "verticalAdsListingRegion": "A String", # The region where the vertical ads listing is located.
+      "verticalAdsPartnerAccount": "A String", # A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.
+      "verticalAdsVertical": "A String", # Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.
+      "week": "A String", # Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd.
+      "year": 42, # Year, formatted as yyyy.
+    },
+    "sharedCriterion": { # A criterion belonging to a shared set. # The shared set referenced in the query.
+      "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+        "displayName": "A String", # Output only. A text representation of a brand.
+        "entityId": "A String", # The Commercial KG MID for the brand.
+        "primaryUrl": "A String", # Output only. The primary url of a brand.
+        "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+        "status": "A String", # Output only. The status of a brand.
+      },
+      "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+      "keyword": { # A keyword criterion. # Immutable. Keyword.
+        "matchType": "A String", # The match type of the keyword.
+        "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+      },
+      "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+        "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+      },
+      "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+        "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+        "name": "A String", # Name of this mobile application.
+      },
+      "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+      "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+        "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+      },
+      "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+      "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+      "type": "A String", # Output only. The type of the criterion.
+      "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+        "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+        "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+        "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+        "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+        "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+      },
+      "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+        "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          { # Logical expression for targeting webpages of an advertiser's website.
+            "argument": "A String", # Argument of webpage targeting condition.
+            "operand": "A String", # Operand of webpage targeting condition.
+            "operator": "A String", # Operator of webpage targeting condition.
+          },
+        ],
+        "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+        "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+        "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+          "sampleUrls": [ # Webpage sample urls
+            "A String",
+          ],
+        },
+      },
+      "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+        "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+      },
+      "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+        "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+      },
+    },
+    "sharedSet": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # The shared set referenced in the query.
+      "id": "A String", # Output only. The ID of this shared set. Read only.
+      "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+      "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+      "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+      "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+      "status": "A String", # Output only. The status of this shared set. Read only.
+      "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+      "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+    },
+    "shoppingPerformanceView": { # Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from "Product attributes" in the report editor. For example, selecting the "Brand" column is equivalent to selecting `segments.product_brand`. # The shopping performance view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id}/shoppingPerformanceView`
+    },
+    "shoppingProduct": { # A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed. # The shopping product referenced in the query.
+      "adGroup": "A String", # Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`.
+      "availability": "A String", # Output only. The availability of the product as provided by the merchant.
+      "brand": "A String", # Output only. The brand of the product as provided by the merchant.
+      "campaign": "A String", # Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.
+      "categoryLevel1": "A String", # Output only. The category level 1 of the product.
+      "categoryLevel2": "A String", # Output only. The category level 2 of the product.
+      "categoryLevel3": "A String", # Output only. The category level 3 of the product.
+      "categoryLevel4": "A String", # Output only. The category level 4 of the product.
+      "categoryLevel5": "A String", # Output only. The category level 5 of the product.
+      "channel": "A String", # Output only. The product channel describing the locality of the product.
+      "channelExclusivity": "A String", # Output only. The channel exclusivity of the product as provided by the merchant.
+      "condition": "A String", # Output only. The condition of the product as provided by the merchant.
+      "currencyCode": "A String", # Output only. The currency code as provided by the merchant, in ISO 4217 format.
+      "customAttribute0": "A String", # Output only. The custom attribute 0 of the product as provided by the merchant.
+      "customAttribute1": "A String", # Output only. The custom attribute 1 of the product as provided by the merchant.
+      "customAttribute2": "A String", # Output only. The custom attribute 2 of the product as provided by the merchant.
+      "customAttribute3": "A String", # Output only. The custom attribute 3 of the product as provided by the merchant.
+      "customAttribute4": "A String", # Output only. The custom attribute 4 of the product as provided by the merchant.
+      "effectiveMaxCpcMicros": "A String", # Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update.
+      "feedLabel": "A String", # Output only. The product feed label as provided by the merchant.
+      "issues": [ # Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
+        { # An issue affecting whether a product can show in ads.
+          "adsSeverity": "A String", # Output only. The severity of the issue in Google Ads.
+          "affectedRegions": [ # Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.
+            "A String",
+          ],
+          "attributeName": "A String", # Output only. The name of the product's attribute, if any, that triggered the issue.
+          "description": "A String", # Output only. The short description of the issue in English.
+          "detail": "A String", # Output only. The detailed description of the issue in English.
+          "documentation": "A String", # Output only. The URL of the Help Center article for the issue.
+          "errorCode": "A String", # Output only. The error code that identifies the issue.
+        },
+      ],
+      "itemId": "A String", # Output only. The item id of the product as provided by the merchant.
+      "languageCode": "A String", # Output only. The language code as provided by the merchant, in BCP 47 format.
+      "merchantCenterId": "A String", # Output only. The id of the merchant that owns the product.
+      "multiClientAccountId": "A String", # Output only. The id of the Multi Client Account of the merchant, if present.
+      "priceMicros": "A String", # Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000).
+      "productImageUri": "A String", # Output only. The URI of the product image as provided by the merchant.
+      "productTypeLevel1": "A String", # Output only. The product type level 1 as provided by the merchant.
+      "productTypeLevel2": "A String", # Output only. The product type level 2 as provided by the merchant.
+      "productTypeLevel3": "A String", # Output only. The product type level 3 as provided by the merchant.
+      "productTypeLevel4": "A String", # Output only. The product type level 4 as provided by the merchant.
+      "productTypeLevel5": "A String", # Output only. The product type level 5 as provided by the merchant.
+      "resourceName": "A String", # Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}`
+      "status": "A String", # Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.
+      "targetCountries": [ # Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.
+        "A String",
+      ],
+      "title": "A String", # Output only. The title of the product as provided by the merchant.
+    },
+    "smartCampaignSearchTermView": { # A Smart campaign search term view. # The Smart campaign search term view referenced in the query.
+      "campaign": "A String", # Output only. The Smart campaign the search term served in.
+      "resourceName": "A String", # Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`
+      "searchTerm": "A String", # Output only. The search term.
+    },
+    "smartCampaignSetting": { # Settings for configuring Smart campaigns. # The Smart campaign setting referenced in the query.
+      "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+        "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+      },
+      "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+      "businessName": "A String", # The name of the business.
+      "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+      "campaign": "A String", # Output only. The campaign to which these settings apply.
+      "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+      "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+        "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+        "phoneNumber": "A String", # Phone number of the smart campaign.
+      },
+      "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+    },
+    "targetingExpansionView": { # A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting. # The Targeting expansion view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}`
+    },
+    "thirdPartyAppAnalyticsLink": { # A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer. # The AccountLink referenced in the query.
+      "resourceName": "A String", # Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}`
+      "shareableLinkId": "A String", # Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.
+    },
+    "topicConstant": { # Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). # The topic constant referenced in the query.
+      "id": "A String", # Output only. The ID of the topic.
+      "path": [ # Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {"Pets & Animals", "Pets", "Dogs"} represents the "Pets & Animals/Pets/Dogs" category. List of available topic categories at https://developers.google.com/google-ads/api/reference/data/verticals
+        "A String",
+      ],
+      "resourceName": "A String", # Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id}`
+      "topicConstantParent": "A String", # Output only. Resource name of parent of the topic constant.
+    },
+    "topicView": { # A topic view. # The topic view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+    },
+    "travelActivityGroupView": { # A travel activity group view. # The travel activity group view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}`
+    },
+    "travelActivityPerformanceView": { # A travel activity performance view. # The travel activity performance view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id}/travelActivityPerformanceView`
+    },
+    "userInterest": { # A user interest: a particular interest-based vertical to be targeted. # The user interest referenced in the query.
+      "availabilities": [ # Output only. Availability information of the user interest.
+        { # Information of category availability, per advertising channel.
+          "channel": { # Information of advertising channel type and subtypes a category is available in. # Channel types and subtypes that are available to the category.
+            "advertisingChannelSubType": [ # Channel subtypes under the channel type the category is available to.
+              "A String",
+            ],
+            "advertisingChannelType": "A String", # Channel type the category is available to.
+            "availabilityMode": "A String", # Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).
+            "includeDefaultChannelSubType": True or False, # Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.
+          },
+          "locale": [ # Locales that are available to the category for the channel.
+            { # Information about which locales a category is available in.
+              "availabilityMode": "A String", # Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).
+              "countryCode": "A String", # The ISO-3166-1 alpha-2 country code associated with the category.
+              "languageCode": "A String", # ISO 639-1 code of the language associated with the category.
+            },
+          ],
+        },
+      ],
+      "launchedToAll": True or False, # Output only. True if the user interest is launched to all channels and locales.
+      "name": "A String", # Output only. The name of the user interest.
+      "resourceName": "A String", # Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id}/userInterests/{user_interest_id}`
+      "taxonomyType": "A String", # Output only. Taxonomy type of the user interest.
+      "userInterestId": "A String", # Output only. The ID of the user interest.
+      "userInterestParent": "A String", # Output only. The parent of the user interest.
+    },
+    "userList": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # The user list referenced in the query.
+      "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+      "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+      "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+        "actions": [ # Actions associated with this user list.
+          { # Represents an action type used for building remarketing user lists.
+            "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+            "remarketingAction": "A String", # A remarketing action.
+          },
+        ],
+      },
+      "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+      "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+        "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+        "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+        "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+      },
+      "description": "A String", # Description of this user list.
+      "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+      "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+      "id": "A String", # Output only. Id of the user list.
+      "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+      "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+        "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+          { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+            "operator": "A String", # The logical operator of the rule.
+            "ruleOperands": [ # The list of operands of the rule.
+              { # Operand of logical user list that consists of a user list.
+                "userList": "A String", # Resource name of a user list as an operand.
+              },
+            ],
+          },
+        ],
+      },
+      "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+        "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+          "A String",
+        ],
+        "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+        "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+          "A String",
+        ],
+      },
+      "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+      "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+      "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+      "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+      "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+      "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+      "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+        "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+          "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+            { # Flexible rule that wraps the common rule and a lookback window.
+              "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+              "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                  { # A group of rule items.
+                    "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                      { # An atomic rule item.
+                        "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                          "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                          "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                          "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                        },
+                        "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                        "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                          "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                          "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                        },
+                        "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                          "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                          "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                        },
+                      },
+                    ],
+                  },
+                ],
+                "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+              },
+            },
+          ],
+          "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+            { # Flexible rule that wraps the common rule and a lookback window.
+              "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+              "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                  { # A group of rule items.
+                    "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                      { # An atomic rule item.
+                        "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                          "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                          "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                          "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                        },
+                        "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                        "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                          "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                          "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                        },
+                        "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                          "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                          "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                        },
+                      },
+                    ],
+                  },
+                ],
+                "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+              },
+            },
+          ],
+          "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+        },
+        "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+      },
+      "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+        "seedUserList": "A String", # Seed UserList from which this list is derived.
+      },
+      "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+      "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+      "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+      "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+      "type": "A String", # Output only. Type of this list. This field is read-only.
+    },
+    "userListCustomerType": { # A user list customer type # The user list customer type in the query.
+      "customerTypeCategory": "A String", # Immutable. The user list customer type category
+      "resourceName": "A String", # Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`
+      "userList": "A String", # Immutable. The resource name for the user list this user list customer type is associated with
+    },
+    "userLocationView": { # A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country. # The user location view referenced in the query.
+      "countryCriterionId": "A String", # Output only. Criterion Id for the country.
+      "resourceName": "A String", # Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`
+      "targetingLocation": True or False, # Output only. Indicates whether location was targeted or not.
+    },
+    "video": { # The video referenced in the query.
+      "channelId": "A String", # Output only. The owner channel id of the video.
+      "durationMillis": "A String", # Output only. The duration of the video in milliseconds.
+      "id": "A String", # Output only. The ID of the video.
+      "resourceName": "A String", # Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id}/videos/{video_id}`
+      "title": "A String", # Output only. The title of the video.
+    },
+    "visit": { # A visit. # The event level visit referenced in the query.
+      "adId": "A String", # Output only. Ad ID. A value of 0 indicates that the ad is unattributed.
+      "assetFieldType": "A String", # Output only. Asset field type of the visit event.
+      "assetId": "A String", # Output only. ID of the asset which was interacted with during the visit event.
+      "clickId": "A String", # Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter.
+      "criterionId": "A String", # Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed.
+      "id": "A String", # Output only. The ID of the visit.
+      "merchantId": "A String", # Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.
+      "productChannel": "A String", # Output only. The sales channel of the product that was clicked on: Online or Local.
+      "productCountryCode": "A String", # Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on.
+      "productId": "A String", # Output only. The ID of the product clicked on.
+      "productLanguageCode": "A String", # Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.
+      "productStoreId": "A String", # Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.
+      "resourceName": "A String", # Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}`
+      "visitDateTime": "A String", # Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
+    },
+    "webpageView": { # A webpage view. # The webpage view referenced in the query.
+      "resourceName": "A String", # Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`
+    },
+  },
+  "totalResultsCount": "A String", # Total number of results that match the query ignoring the LIMIT clause.
+}
+
+ +
+ search_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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.sharedCriteria.html b/docs/dyn/searchads360_v23.customers.sharedCriteria.html new file mode 100644 index 0000000000..c92345b856 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.sharedCriteria.html @@ -0,0 +1,249 @@ + + + +

Search Ads 360 Reporting API . customers . sharedCriteria

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose shared criteria are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SharedCriterionService.MutateSharedCriteria.
+  "operations": [ # Required. The list of operations to perform on individual shared criteria.
+    { # A single operation (create, remove) on an shared criterion.
+      "create": { # A criterion belonging to a shared set. # Create operation: No resource name is expected for the new shared criterion.
+        "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+          "displayName": "A String", # Output only. A text representation of a brand.
+          "entityId": "A String", # The Commercial KG MID for the brand.
+          "primaryUrl": "A String", # Output only. The primary url of a brand.
+          "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+          "status": "A String", # Output only. The status of a brand.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+        "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+        "type": "A String", # Output only. The type of the criterion.
+        "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+          "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+          "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+          "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+          "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+          "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a shared criterion mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the shared criterion mutate.
+      "resourceName": "A String", # Returned for successful operations.
+      "sharedCriterion": { # A criterion belonging to a shared set. # The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "brand": { # Represents a Brand Criterion used for targeting based on commercial knowledge graph. # Immutable. Brand.
+          "displayName": "A String", # Output only. A text representation of a brand.
+          "entityId": "A String", # The Commercial KG MID for the brand.
+          "primaryUrl": "A String", # Output only. The primary url of a brand.
+          "rejectionReason": "A String", # Output only. The rejection reason when a brand status is REJECTED.
+          "status": "A String", # Output only. The status of a brand.
+        },
+        "criterionId": "A String", # Output only. The ID of the criterion. This field is ignored for mutates.
+        "keyword": { # A keyword criterion. # Immutable. Keyword.
+          "matchType": "A String", # The match type of the keyword.
+          "text": "A String", # The text of the keyword (at most 80 characters and 10 words).
+        },
+        "mobileAppCategory": { # A mobile app category criterion. # Immutable. Mobile App Category.
+          "mobileAppCategoryConstant": "A String", # The mobile app category constant resource name.
+        },
+        "mobileApplication": { # A mobile application criterion. # Immutable. Mobile application.
+          "appId": "A String", # A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
+          "name": "A String", # Name of this mobile application.
+        },
+        "negative": True or False, # Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
+        "placement": { # A placement criterion. This can be used to modify bids for sites when targeting the content network. # Immutable. Placement.
+          "url": "A String", # URL of the placement. For example, "http://www.domain.com".
+        },
+        "resourceName": "A String", # Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+        "sharedSet": "A String", # Immutable. The shared set to which the shared criterion belongs.
+        "type": "A String", # Output only. The type of the criterion.
+        "verticalAdsItemGroupRule": { # A criterion to represent a single item group rule in Vertical Ads. # Immutable. Vertical ads item group rule.
+          "cityCriterionId": "A String", # The resource name of the Geo Target Constant for the city.
+          "countryCriterionId": "A String", # The resource name of the Geo Target Constant for the country.
+          "hotelClass": "A String", # Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
+          "itemCode": "A String", # The id specifying a particular Vertical Ad listing.
+          "regionCriterionId": "A String", # The resource name of the Geo Target Constant for the region.
+        },
+        "webpage": { # Represents a criterion for targeting webpages of an advertiser's website. # Immutable. Webpage.
+          "conditions": [ # Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
+            { # Logical expression for targeting webpages of an advertiser's website.
+              "argument": "A String", # Argument of webpage targeting condition.
+              "operand": "A String", # Operand of webpage targeting condition.
+              "operator": "A String", # Operator of webpage targeting condition.
+            },
+          ],
+          "coveragePercentage": 3.14, # Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
+          "criterionName": "A String", # The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
+          "sample": { # List of sample urls that match the website target # List of sample urls that match the website target. This field is read-only.
+            "sampleUrls": [ # Webpage sample urls
+              "A String",
+            ],
+          },
+        },
+        "youtubeChannel": { # A YouTube Channel criterion. # Immutable. YouTube Channel.
+          "channelId": "A String", # The YouTube uploader channel id or the channel code of a YouTube channel.
+        },
+        "youtubeVideo": { # A YouTube Video criterion. # Immutable. YouTube Video.
+          "videoId": "A String", # YouTube video id as it appears on the YouTube watch page.
+        },
+      },
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.sharedSets.html b/docs/dyn/searchads360_v23.customers.sharedSets.html new file mode 100644 index 0000000000..708fbe453b --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.sharedSets.html @@ -0,0 +1,166 @@ + + + +

Search Ads 360 Reporting API . customers . sharedSets

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose shared sets are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SharedSetService.MutateSharedSets.
+  "operations": [ # Required. The list of operations to perform on individual shared sets.
+    { # A single operation (create, update, remove) on an shared set.
+      "create": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Create operation: No resource name is expected for the new shared set.
+        "id": "A String", # Output only. The ID of this shared set. Read only.
+        "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+        "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+        "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+        "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "status": "A String", # Output only. The status of this shared set. Read only.
+        "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+        "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`
+      "update": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # Update operation: The shared set is expected to have a valid resource name.
+        "id": "A String", # Output only. The ID of this shared set. Read only.
+        "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+        "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+        "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+        "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "status": "A String", # Output only. The status of this shared set. Read only.
+        "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+        "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a shared set mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the shared set mutate.
+      "resourceName": "A String", # Returned for successful operations.
+      "sharedSet": { # SharedSets are used for sharing criterion exclusions across multiple campaigns. # The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "id": "A String", # Output only. The ID of this shared set. Read only.
+        "memberCount": "A String", # Output only. The number of shared criteria within this shared set. Read only.
+        "name": "A String", # The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.
+        "referenceCount": "A String", # Output only. The number of campaigns associated with this shared set. Read only.
+        "resourceName": "A String", # Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`
+        "status": "A String", # Output only. The status of this shared set. Read only.
+        "type": "A String", # Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.
+        "verticalAdsItemVerticalType": "A String", # Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.
+      },
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.smartCampaignSettings.html b/docs/dyn/searchads360_v23.customers.smartCampaignSettings.html new file mode 100644 index 0000000000..d3b590697f --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.smartCampaignSettings.html @@ -0,0 +1,203 @@ + + + +

Search Ads 360 Reporting API . customers . smartCampaignSettings

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ getSmartCampaignStatus(resourceName, x__xgafv=None)

+

Returns the status of the requested Smart campaign.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Updates Smart campaign settings for campaigns.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ getSmartCampaignStatus(resourceName, x__xgafv=None) +
Returns the status of the requested Smart campaign.
+
+Args:
+  resourceName: string, Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of. (required)
+  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 SmartCampaignSettingService.GetSmartCampaignStatus.
+  "eligibleDetails": { # Details related to Smart campaigns that are eligible to serve. # Details related to Smart campaigns that are eligible to serve.
+    "endDateTime": "A String", # The timestamp of when the campaign will end, if applicable. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
+    "lastImpressionDateTime": "A String", # The timestamp of the last impression observed in the last 48 hours for this campaign. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
+  },
+  "endedDetails": { # Details related to Smart campaigns that have ended. # Details related to Smart campaigns that have ended.
+    "endDateTime": "A String", # The timestamp of when the campaign ended. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
+  },
+  "notEligibleDetails": { # Details related to Smart campaigns that are not eligible to serve. # Details related to Smart campaigns that are ineligible to serve.
+    "notEligibleReason": "A String", # The reason why the Smart campaign is not eligible to serve.
+  },
+  "pausedDetails": { # Details related to paused Smart campaigns. # Details related to paused Smart campaigns.
+    "pausedDateTime": "A String", # The timestamp of when the campaign was last paused. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
+  },
+  "removedDetails": { # Details related to removed Smart campaigns. # Details related to removed Smart campaigns.
+    "removedDateTime": "A String", # The timestamp of when the campaign was removed. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.
+  },
+  "smartCampaignStatus": "A String", # The status of this Smart campaign.
+}
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Updates Smart campaign settings for campaigns.
+
+Args:
+  customerId: string, Required. The ID of the customer whose Smart campaign settings are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SmartCampaignSettingService.MutateSmartCampaignSettings.
+  "operations": [ # Required. The list of operations to perform on individual Smart campaign settings.
+    { # A single operation to update Smart campaign settings for a campaign.
+      "update": { # Settings for configuring Smart campaigns. # Update operation: The Smart campaign setting must specify a valid resource name.
+        "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+          "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+        },
+        "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+        "businessName": "A String", # The name of the business.
+        "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+        "campaign": "A String", # Output only. The campaign to which these settings apply.
+        "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+        "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+          "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+          "phoneNumber": "A String", # Phone number of the smart campaign.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "responseContentType": "A String", # The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 campaign mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the Smart campaign setting mutate.
+      "resourceName": "A String", # Returned for successful operations.
+      "smartCampaignSetting": { # Settings for configuring Smart campaigns. # The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
+        "adOptimizedBusinessProfileSetting": { # Settings for configuring a business profile optimized for ads as this campaign's landing page. # Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068.
+          "includeLeadForm": True or False, # Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.
+        },
+        "advertisingLanguageCode": "A String", # The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).
+        "businessName": "A String", # The name of the business.
+        "businessProfileLocation": "A String", # The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.
+        "campaign": "A String", # Output only. The campaign to which these settings apply.
+        "finalUrl": "A String", # The user-provided landing page URL for this Campaign.
+        "phoneNumber": { # Phone number and country code in smart campaign settings. # Phone number and country code.
+          "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166.
+          "phoneNumber": "A String", # Phone number of the smart campaign.
+        },
+        "resourceName": "A String", # Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`
+      },
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.thirdPartyAppAnalyticsLinks.html b/docs/dyn/searchads360_v23.customers.thirdPartyAppAnalyticsLinks.html new file mode 100644 index 0000000000..e471fe4992 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.thirdPartyAppAnalyticsLinks.html @@ -0,0 +1,113 @@ + + + +

Search Ads 360 Reporting API . customers . thirdPartyAppAnalyticsLinks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ regenerateShareableLinkId(resourceName, body=None, x__xgafv=None)

+

Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ regenerateShareableLinkId(resourceName, body=None, x__xgafv=None) +
Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Resource name of the third party app analytics link. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.
+}
+
+  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 ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.userListCustomerTypes.html b/docs/dyn/searchads360_v23.customers.userListCustomerTypes.html new file mode 100644 index 0000000000..9baac064a8 --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.userListCustomerTypes.html @@ -0,0 +1,139 @@ + + + +

Search Ads 360 Reporting API . customers . userListCustomerTypes

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose user list customer types are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UserListCustomerTypeService.MutateUserListCustomerTypes.
+  "operations": [ # Required. The list of operations to perform on the user list customer types.
+    { # A single mutate operation on the user list customer type.
+      "create": { # A user list customer type # Attach a user list customer type to a user list. No resource name is expected for the new user list customer type.
+        "customerTypeCategory": "A String", # Immutable. The user list customer type category
+        "resourceName": "A String", # Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`
+        "userList": "A String", # Immutable. The resource name for the user list this user list customer type is associated with
+      },
+      "remove": "A String", # Remove an existing user list customer type. A resource name for the removed user list customer type is expected, in this format: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`
+    },
+  ],
+  "partialFailure": True or False, # Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # Optional. If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 a user list customer type mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the user list customer type mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.customers.userLists.html b/docs/dyn/searchads360_v23.customers.userLists.html new file mode 100644 index 0000000000..5d4bc4164c --- /dev/null +++ b/docs/dyn/searchads360_v23.customers.userLists.html @@ -0,0 +1,383 @@ + + + +

Search Ads 360 Reporting API . customers . userLists

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ mutate(customerId, body=None, x__xgafv=None)

+

Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ mutate(customerId, body=None, x__xgafv=None) +
Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]()
+
+Args:
+  customerId: string, Required. The ID of the customer whose user lists are being modified. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UserListService.MutateUserLists.
+  "operations": [ # Required. The list of operations to perform on individual user lists.
+    { # A single operation (create, update) on a user list.
+      "create": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Create operation: No resource name is expected for the new user list.
+        "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+        "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+        "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+          "actions": [ # Actions associated with this user list.
+            { # Represents an action type used for building remarketing user lists.
+              "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+              "remarketingAction": "A String", # A remarketing action.
+            },
+          ],
+        },
+        "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+        "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+          "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+          "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+          "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+        },
+        "description": "A String", # Description of this user list.
+        "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+        "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+        "id": "A String", # Output only. Id of the user list.
+        "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+        "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+          "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+            { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+              "operator": "A String", # The logical operator of the rule.
+              "ruleOperands": [ # The list of operands of the rule.
+                { # Operand of logical user list that consists of a user list.
+                  "userList": "A String", # Resource name of a user list as an operand.
+                },
+              ],
+            },
+          ],
+        },
+        "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+          "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+            "A String",
+          ],
+          "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+          "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+            "A String",
+          ],
+        },
+        "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+        "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+        "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+        "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+        "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+        "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+        "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+          "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+            "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+          },
+          "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+        },
+        "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+          "seedUserList": "A String", # Seed UserList from which this list is derived.
+        },
+        "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+        "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+        "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+        "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+        "type": "A String", # Output only. Type of this list. This field is read-only.
+      },
+      "remove": "A String", # Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id}/userLists/{user_list_id}`
+      "update": { # A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. # Update operation: The user list is expected to have a valid resource name.
+        "accessReason": "A String", # Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.
+        "accountUserListStatus": "A String", # Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.
+        "basicUserList": { # User list targeting as a collection of conversion or remarketing actions.
+          "actions": [ # Actions associated with this user list.
+            { # Represents an action type used for building remarketing user lists.
+              "conversionAction": "A String", # A conversion action that's not generated from remarketing.
+              "remarketingAction": "A String", # A remarketing action.
+            },
+          ],
+        },
+        "closingReason": "A String", # Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.
+        "crmBasedUserList": { # UserList of CRM users provided by the advertiser. # User list of CRM users provided by the advertiser.
+          "appId": "A String", # A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.
+          "dataSourceType": "A String", # Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.
+          "uploadKeyType": "A String", # Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.
+        },
+        "description": "A String", # Description of this user list.
+        "eligibleForDisplay": True or False, # Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.
+        "eligibleForSearch": True or False, # Indicates if this user list is eligible for Google Search Network.
+        "id": "A String", # Output only. Id of the user list.
+        "integrationCode": "A String", # An ID from external system. It is used by user list sellers to correlate IDs on their systems.
+        "logicalUserList": { # Represents a user list that is a custom combination of user lists. # User list that is a custom combination of user lists.
+          "rules": [ # Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.
+            { # A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.
+              "operator": "A String", # The logical operator of the rule.
+              "ruleOperands": [ # The list of operands of the rule.
+                { # Operand of logical user list that consists of a user list.
+                  "userList": "A String", # Resource name of a user list as an operand.
+                },
+              ],
+            },
+          ],
+        },
+        "lookalikeUserList": { # LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) # Immutable. Lookalike User List.
+          "countryCodes": [ # Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166
+            "A String",
+          ],
+          "expansionLevel": "A String", # Expansion level, reflecting the size of the lookalike audience
+          "seedUserListIds": [ # Seed UserList ID from which this list is derived, provided by user.
+            "A String",
+          ],
+        },
+        "matchRatePercentage": 42, # Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.
+        "membershipLifeSpan": "A String", # Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.
+        "membershipStatus": "A String", # Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.
+        "name": "A String", # Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.
+        "readOnly": True or False, # Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.
+        "resourceName": "A String", # Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`
+        "ruleBasedUserList": { # Representation of a userlist that is generated by a rule. # User list generated by a rule.
+          "flexibleRuleUserList": { # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. # Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.
+            "exclusiveOperands": [ # Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveOperands": [ # Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.
+              { # Flexible rule that wraps the common rule and a lookback window.
+                "lookbackWindowDays": "A String", # Lookback window for this rule in days. From now until X days ago.
+                "rule": { # A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. # List of rule item groups that defines this rule. Rule item groups are grouped together.
+                  "ruleItemGroups": [ # List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.
+                    { # A group of rule items.
+                      "ruleItems": [ # Rule items that will be grouped together based on rule_type.
+                        { # An atomic rule item.
+                          "dateRuleItem": { # A rule item composed of a date operation. # An atomic rule item composed of a date operation.
+                            "offsetInDays": "A String", # The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.
+                            "operator": "A String", # Date comparison operator. This field is required and must be populated when creating new date rule item.
+                            "value": "A String", # String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.
+                          },
+                          "name": "A String", # Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.
+                          "numberRuleItem": { # A rule item composed of a number operation. # An atomic rule item composed of a number operation.
+                            "operator": "A String", # Number comparison operator. This field is required and must be populated when creating a new number rule item.
+                            "value": 3.14, # Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.
+                          },
+                          "stringRuleItem": { # A rule item composed of a string operation. # An atomic rule item composed of a string operation.
+                            "operator": "A String", # String comparison operator. This field is required and must be populated when creating a new string rule item.
+                            "value": "A String", # The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                  "ruleType": "A String", # Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.
+                },
+              },
+            ],
+            "inclusiveRuleOperator": "A String", # Operator that defines how the inclusive operands are combined.
+          },
+          "prepopulationStatus": "A String", # The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.
+        },
+        "similarUserList": { # SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. # Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.
+          "seedUserList": "A String", # Seed UserList from which this list is derived.
+        },
+        "sizeForDisplay": "A String", # Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.
+        "sizeForSearch": "A String", # Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.
+        "sizeRangeForDisplay": "A String", # Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.
+        "sizeRangeForSearch": "A String", # Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.
+        "type": "A String", # Output only. Type of this list. This field is read-only.
+      },
+      "updateMask": "A String", # FieldMask that determines which resource fields are modified in an update.
+    },
+  ],
+  "partialFailure": True or False, # If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
+  "validateOnly": True or False, # If true, the request is validated but not executed. Only errors are returned, not results.
+}
+
+  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 user list mutate.
+  "partialFailureError": { # 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). # Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error.
+    "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.
+  },
+  "results": [ # All results for the mutate.
+    { # The result for the user list mutate.
+      "resourceName": "A String", # Returned for successful operations.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.geoTargetConstants.html b/docs/dyn/searchads360_v23.geoTargetConstants.html new file mode 100644 index 0000000000..5ecea786c1 --- /dev/null +++ b/docs/dyn/searchads360_v23.geoTargetConstants.html @@ -0,0 +1,153 @@ + + + +

Search Ads 360 Reporting API . geoTargetConstants

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ suggest(body=None, x__xgafv=None)

+

Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ suggest(body=None, x__xgafv=None) +
Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for GeoTargetConstantService.SuggestGeoTargetConstants.
+  "countryCode": "A String", # Returned geo targets are restricted to this country code.
+  "geoTargets": { # A list of geo target constant resource names. # The geo target constant resource names to filter by.
+    "geoTargetConstants": [ # A list of geo target constant resource names.
+      "A String",
+    ],
+  },
+  "locale": "A String", # If possible, returned geo targets are translated using this locale. If not, en is used by default. This is also used as a hint for returned geo targets.
+  "locationNames": { # A list of location names. # The location names to search by. At most 25 names can be set.
+    "names": [ # A list of location names.
+      "A String",
+    ],
+  },
+}
+
+  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 GeoTargetConstantService.SuggestGeoTargetConstants.
+  "geoTargetConstantSuggestions": [ # Geo target constant suggestions.
+    { # A geo target constant suggestion.
+      "geoTargetConstant": { # A geo target constant. # The GeoTargetConstant result.
+        "canonicalName": "A String", # Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.
+        "countryCode": "A String", # Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.
+        "id": "A String", # Output only. The ID of the geo target constant.
+        "name": "A String", # Output only. Geo target constant English name.
+        "parentGeoTarget": "A String", # Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`
+        "resourceName": "A String", # Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`
+        "status": "A String", # Output only. Geo target constant status.
+        "targetType": "A String", # Output only. Geo target constant target type.
+      },
+      "geoTargetConstantParents": [ # The list of parents of the geo target constant.
+        { # A geo target constant.
+          "canonicalName": "A String", # Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.
+          "countryCode": "A String", # Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.
+          "id": "A String", # Output only. The ID of the geo target constant.
+          "name": "A String", # Output only. Geo target constant English name.
+          "parentGeoTarget": "A String", # Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`
+          "resourceName": "A String", # Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`
+          "status": "A String", # Output only. Geo target constant status.
+          "targetType": "A String", # Output only. Geo target constant target type.
+        },
+      ],
+      "locale": "A String", # The language this GeoTargetConstantSuggestion is currently translated to. It affects the name of geo target fields. For example, if locale=en, then name=Spain. If locale=es, then name=España. The default locale will be returned if no translation exists for the locale in the request.
+      "reach": "A String", # Approximate user population that will be targeted, rounded to the nearest 100.
+      "searchTerm": "A String", # If the request searched by location name, this is the location name that matched the geo target.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.html b/docs/dyn/searchads360_v23.html new file mode 100644 index 0000000000..f55a2b25bb --- /dev/null +++ b/docs/dyn/searchads360_v23.html @@ -0,0 +1,141 @@ + + + +

Search Ads 360 Reporting API

+

Instance Methods

+

+ audienceInsights() +

+

Returns the audienceInsights Resource.

+ +

+ customers() +

+

Returns the customers Resource.

+ +

+ geoTargetConstants() +

+

Returns the geoTargetConstants Resource.

+ +

+ incentives() +

+

Returns the incentives Resource.

+ +

+ keywordThemeConstants() +

+

Returns the keywordThemeConstants Resource.

+ +

+ searchAds360Fields() +

+

Returns the searchAds360Fields Resource.

+ +

+ v23() +

+

Returns the v23 Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+                Args:
+                  callback: callable, A callback to be called for each response, of the
+                    form callback(id, response, exception). The first parameter is the
+                    request id, and the second is the deserialized response object. The
+                    third is an apiclient.errors.HttpError exception object if an HTTP
+                    error occurred while processing the request, or None if no error
+                    occurred.
+
+                Returns:
+                  A BatchHttpRequest object based on the discovery document.
+                
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.incentives.html b/docs/dyn/searchads360_v23.incentives.html new file mode 100644 index 0000000000..92303d368d --- /dev/null +++ b/docs/dyn/searchads360_v23.incentives.html @@ -0,0 +1,177 @@ + + + +

Search Ads 360 Reporting API . incentives

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ fetchIncentive(countryCode=None, email=None, languageCode=None, type=None, x__xgafv=None)

+

Returns incentives for a given user.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ fetchIncentive(countryCode=None, email=None, languageCode=None, type=None, x__xgafv=None) +
Returns incentives for a given user.
+
+Args:
+  countryCode: string, Optional. User's country code. If not provided, the server will default to "US". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes
+  email: string, Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user.
+  languageCode: string, Optional. User's language code. If not provided, the server will default to "en". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages
+  type: string, Optional. The type of incentive to get. Defaults to ACQUISITION.
+    Allowed values
+      UNSPECIFIED - Not specified.
+      UNKNOWN - Unknown incentive type. Should not be used as a value explicitly.
+      ACQUISITION - An acquisition incentive.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response from getting the acquisition incentive for a user when they visit a specific marketing page.
+  "incentiveOffer": { # An acquisition incentive offer for a user. An offer means how the user is treated. An offer can have no incentive or multiple incentives. # Required. The acquisition incentive offer for the user.
+    "consolidatedTermsAndConditionsUrl": "A String", # Optional. The URL of the terms and conditions for the incentive offer.
+    "cyoIncentives": { # An incentive offer in the Choose-Your-Own Incentive feature where a user can select from a set of incentives with different money amounts. # CYO incentives. Set when type is CYO_INCENTIVE.
+      "highOffer": { # An incentive that a user can claim for their account. # Required. The CYO incentive with high target and award amounts.
+        "incentiveId": "A String", # The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
+        "incentiveTermsAndConditionsUrl": "A String", # The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.
+        "requirement": { # Requirement for an incentive. # The requirement for this incentive.
+          "spend": { # Spend requirements for an incentive. # Optional. Spend requirement for an incentive.
+            "awardAmount": { # Represents an amount of money with its currency type. # Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+            "requiredAmount": { # Represents an amount of money with its currency type. # Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+          },
+        },
+        "type": "A String", # The type of the incentive.
+      },
+      "lowOffer": { # An incentive that a user can claim for their account. # Required. The CYO incentive with low target and award amounts.
+        "incentiveId": "A String", # The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
+        "incentiveTermsAndConditionsUrl": "A String", # The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.
+        "requirement": { # Requirement for an incentive. # The requirement for this incentive.
+          "spend": { # Spend requirements for an incentive. # Optional. Spend requirement for an incentive.
+            "awardAmount": { # Represents an amount of money with its currency type. # Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+            "requiredAmount": { # Represents an amount of money with its currency type. # Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+          },
+        },
+        "type": "A String", # The type of the incentive.
+      },
+      "mediumOffer": { # An incentive that a user can claim for their account. # Required. The CYO incentive with medium target and award amounts.
+        "incentiveId": "A String", # The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.
+        "incentiveTermsAndConditionsUrl": "A String", # The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.
+        "requirement": { # Requirement for an incentive. # The requirement for this incentive.
+          "spend": { # Spend requirements for an incentive. # Optional. Spend requirement for an incentive.
+            "awardAmount": { # Represents an amount of money with its currency type. # Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+            "requiredAmount": { # Represents an amount of money with its currency type. # Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request.
+              "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
+              "nanos": 42, # Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+              "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+          },
+        },
+        "type": "A String", # The type of the incentive.
+      },
+    },
+    "type": "A String", # Required. The type of this acquisition incentive offer.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.keywordThemeConstants.html b/docs/dyn/searchads360_v23.keywordThemeConstants.html new file mode 100644 index 0000000000..613a4996ce --- /dev/null +++ b/docs/dyn/searchads360_v23.keywordThemeConstants.html @@ -0,0 +1,123 @@ + + + +

Search Ads 360 Reporting API . keywordThemeConstants

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ suggest(body=None, x__xgafv=None)

+

Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ suggest(body=None, x__xgafv=None) +
Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for KeywordThemeConstantService.SuggestKeywordThemeConstants.
+  "countryCode": "A String", # Upper-case, two-letter country code as defined by ISO-3166. This for refining the scope of the query, default to 'US' if not set.
+  "languageCode": "A String", # The two letter language code for get corresponding keyword theme for refining the scope of the query, default to 'en' if not set.
+  "queryText": "A String", # The query text of a keyword theme that will be used to map to similar keyword themes. For example, "plumber" or "roofer".
+}
+
+  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 KeywordThemeConstantService.SuggestKeywordThemeConstants.
+  "keywordThemeConstants": [ # Smart Campaign keyword theme suggestions.
+    { # A Smart Campaign keyword theme constant.
+      "countryCode": "A String", # Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized.
+      "displayName": "A String", # Output only. The display name of the keyword theme or sub keyword theme.
+      "languageCode": "A String", # Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized.
+      "resourceName": "A String", # Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.searchAds360Fields.html b/docs/dyn/searchads360_v23.searchAds360Fields.html new file mode 100644 index 0000000000..a4e65e4b4a --- /dev/null +++ b/docs/dyn/searchads360_v23.searchAds360Fields.html @@ -0,0 +1,207 @@ + + + +

Search Ads 360 Reporting API . searchAds360Fields

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ get(resourceName, x__xgafv=None)

+

Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ search(body=None, x__xgafv=None)

+

Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()

+

+ search_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ get(resourceName, x__xgafv=None) +
Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  resourceName: string, Required. The resource name of the field to get. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A field or resource (artifact) used by SearchAds360Service.
+  "attributeResources": [ # Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE.
+    "A String",
+  ],
+  "category": "A String", # Output only. The category of the artifact.
+  "dataType": "A String", # Output only. This field determines the operators that can be used with the artifact in WHERE clauses.
+  "enumValues": [ # Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+    "A String",
+  ],
+  "filterable": True or False, # Output only. Whether the artifact can be used in a WHERE clause in search queries.
+  "isRepeated": True or False, # Output only. Whether the field artifact is repeated.
+  "metrics": [ # Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
+    "A String",
+  ],
+  "name": "A String", # Output only. The name of the artifact.
+  "resourceName": "A String", # Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name}`
+  "segments": [ # Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
+    "A String",
+  ],
+  "selectable": True or False, # Output only. Whether the artifact can be used in a SELECT clause in search queries.
+  "selectableWith": [ # Output only. The names of all resources, segments, and metrics that are selectable with the described artifact.
+    "A String",
+  ],
+  "sortable": True or False, # Output only. Whether the artifact can be used in a ORDER BY clause in search queries.
+  "typeUrl": "A String", # Output only. The URL of proto describing the artifact's data type.
+}
+
+ +
+ search(body=None, x__xgafv=None) +
Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SearchAds360FieldService.SearchSearchAds360Fields.
+  "pageSize": 42, # Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.
+  "pageToken": "A String", # Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
+  "query": "A String", # Required. The query string.
+}
+
+  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 SearchAds360FieldService.SearchSearchAds360Fields.
+  "nextPageToken": "A String", # Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.
+  "results": [ # The list of fields that matched the query.
+    { # A field or resource (artifact) used by SearchAds360Service.
+      "attributeResources": [ # Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE.
+        "A String",
+      ],
+      "category": "A String", # Output only. The category of the artifact.
+      "dataType": "A String", # Output only. This field determines the operators that can be used with the artifact in WHERE clauses.
+      "enumValues": [ # Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+        "A String",
+      ],
+      "filterable": True or False, # Output only. Whether the artifact can be used in a WHERE clause in search queries.
+      "isRepeated": True or False, # Output only. Whether the field artifact is repeated.
+      "metrics": [ # Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
+        "A String",
+      ],
+      "name": "A String", # Output only. The name of the artifact.
+      "resourceName": "A String", # Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name}`
+      "segments": [ # Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.
+        "A String",
+      ],
+      "selectable": True or False, # Output only. Whether the artifact can be used in a SELECT clause in search queries.
+      "selectableWith": [ # Output only. The names of all resources, segments, and metrics that are selectable with the described artifact.
+        "A String",
+      ],
+      "sortable": True or False, # Output only. Whether the artifact can be used in a ORDER BY clause in search queries.
+      "typeUrl": "A String", # Output only. The URL of proto describing the artifact's data type.
+    },
+  ],
+  "totalResultsCount": "A String", # Total number of results that match the query ignoring the LIMIT clause.
+}
+
+ +
+ search_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.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/searchads360_v23.v23.html b/docs/dyn/searchads360_v23.v23.html new file mode 100644 index 0000000000..a299f9e01e --- /dev/null +++ b/docs/dyn/searchads360_v23.v23.html @@ -0,0 +1,488 @@ + + + +

Search Ads 360 Reporting API . v23

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ generateConversionRates(body=None, x__xgafv=None)

+

Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listBenchmarksAvailableDates(body=None, x__xgafv=None)

+

Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listBenchmarksLocations(body=None, x__xgafv=None)

+

Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listBenchmarksProducts(body=None, x__xgafv=None)

+

Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listBenchmarksSources(body=None, x__xgafv=None)

+

Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listPlannableLocations(body=None, x__xgafv=None)

+

Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listPlannableProducts(body=None, x__xgafv=None)

+

Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()

+

+ listPlannableUserInterests(body=None, x__xgafv=None)

+

Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]()

+

+ listPlannableUserLists(body=None, x__xgafv=None)

+

Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ generateConversionRates(body=None, x__xgafv=None) +
Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachPlanService.GenerateConversionRates.
+  "customerId": "A String", # Required. The ID of the customer. A conversion rate based on the historical data of this customer may be suggested.
+  "customerReachGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 ReachPlanService.GenerateConversionRates, containing conversion rate suggestions for supported plannable products.
+  "conversionRateSuggestions": [ # A list containing conversion rate suggestions. Each repeated element will have an associated product code. Multiple suggestions may share the same product code.
+    { # A conversion rate suggestion.
+      "conversionRate": 3.14, # The suggested conversion rate. The value is between 0 and 1 (exclusive).
+      "conversionRateModel": "A String", # Model type used to calculate the suggested conversion rate.
+      "plannableProductCode": "A String", # The code associated with the plannable product (for example: DEMAND_GEN). To list all plannable product codes, use ReachPlanService.ListPlannableProducts.
+      "surfaceTargeting": { # Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts. # The surfaces associated with the plannable product. If not present, the conversion rate is considered surface agnostic for this product.
+        "surfaces": [ # List of surfaces available to target.
+          "A String",
+        ],
+      },
+    },
+  ],
+}
+
+ +
+ listBenchmarksAvailableDates(body=None, x__xgafv=None) +
Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BenchmarksService.ListBenchmarksAvailableDates.
+  "applicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 BenchmarksService.ListBenchmarksAvailableDates.
+  "supportedDates": { # A date range. # The dates that support benchmarks metrics. Data is supported for any dates within this date range inclusive.
+    "endDate": "A String", # The end date, in yyyy-mm-dd format. This date is inclusive.
+    "startDate": "A String", # The start date, in yyyy-mm-dd format. This date is inclusive.
+  },
+}
+
+ +
+ listBenchmarksLocations(body=None, x__xgafv=None) +
Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BenchmarksService.ListBenchmarksLocations.
+  "applicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 BenchmarksService.ListBenchmarksLocations.
+  "benchmarksLocations": [ # The list of locations supported for benchmarks data.
+    { # A location that supports benchmarks data.
+      "locationInfo": { # A location criterion. # Information on the geographic location, including the location ID.
+        "geoTargetConstant": "A String", # The geo target constant resource name.
+      },
+      "locationName": "A String", # The unique location name in English.
+      "locationType": "A String", # The location's type. Location types correspond to target_type returned by searching location type in GoogleAdsService.Search/SearchStream.
+    },
+  ],
+}
+
+ +
+ listBenchmarksProducts(body=None, x__xgafv=None) +
Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BenchmarksService.ListBenchmarksProducts.
+  "applicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  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 BenchmarksService.ListBenchmarksProducts.
+  "benchmarksProducts": [ # The list of products available for benchmarks data.
+    { # The metadata associated with a product supported for benchmarks data.
+      "marketingObjective": "A String", # The marketing objective associated with the product. A marketing objective is a broader classification of products.
+      "productCode": "A String", # The identifier of the product. The identifier can be used as inputs for BenchmarksService.GenerateBenchmarksMetrics.
+      "productName": "A String", # The name of the product.
+    },
+  ],
+}
+
+ +
+ listBenchmarksSources(body=None, x__xgafv=None) +
Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for BenchmarksService.ListBenchmarksSources.
+  "applicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "benchmarksSources": [ # Required. The types of benchmarks sources to be returned (for example, INDUSTRY_VERTICAL).
+    "A String",
+  ],
+}
+
+  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 BenchmarksService.ListBenchmarksSources.
+  "benchmarksSources": [ # The list of available source used to generate benchmarks data for.
+    { # The metadata associated with a benchmarks source.
+      "benchmarksSourceType": "A String", # The type of benchmarks source.
+      "industryVerticalInfo": { # The information associated with an Industry Vertical. # Information on the Industry Vertical.
+        "industryVerticalId": "A String", # The unique identifier of the Industry Vertical.
+        "industryVerticalName": "A String", # The name of the Industry Vertical.
+        "parentIndustryVerticalId": "A String", # The unique identifier of the parent Industry Vertical, if exists.
+      },
+    },
+  ],
+}
+
+ +
+ listPlannableLocations(body=None, x__xgafv=None) +
Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachPlanService.ListPlannableLocations.
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The list of plannable locations.
+  "plannableLocations": [ # The list of locations available for planning. See https://developers.google.com/google-ads/api/reference/data/geotargets for sample locations.
+    { # A plannable location: country, metro region, province, etc.
+      "countryCode": "A String", # The ISO-3166-1 alpha-2 country code that is associated with the location.
+      "id": "A String", # The location identifier.
+      "locationType": "A String", # The location's type. Location types correspond to target_type returned by .
+      "name": "A String", # The unique location name in English.
+      "parentCountryId": "A String", # The parent country (not present if location is a country). If present, will always be a GeoTargetConstant ID. Additional information such as country name is provided by ReachPlanService.ListPlannableLocations or
+    },
+  ],
+}
+
+ +
+ listPlannableProducts(body=None, x__xgafv=None) +
Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to list available products in a given location.
+  "plannableLocationId": "A String", # Required. The ID of the selected location for planning. To list the available plannable location IDs use ReachPlanService.ListPlannableLocations.
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response with all available products.
+  "productMetadata": [ # The list of products available for planning and related targeting metadata.
+    { # The metadata associated with an available plannable product.
+      "plannableProductCode": "A String", # The code associated with the ad product (for example: BUMPER, TRUEVIEW_IN_STREAM). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.
+      "plannableProductName": "A String", # The name associated with the ad product.
+      "plannableTargeting": { # The targeting for which traffic metrics will be reported. # The allowed plannable targeting for this product.
+        "ageRanges": [ # Allowed plannable age ranges for the product for which metrics will be reported. Actual targeting is computed by mapping this age range onto standard Google common.AgeRangeInfo values.
+          "A String",
+        ],
+        "devices": [ # Targetable devices for the ad product. TABLET device targeting is automatically applied to reported metrics when MOBILE targeting is selected for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products.
+          { # A device criterion.
+            "type": "A String", # Type of the device.
+          },
+        ],
+        "genders": [ # Targetable genders for the ad product.
+          { # A gender criterion.
+            "type": "A String", # Type of the gender.
+          },
+        ],
+        "networks": [ # Targetable networks for the ad product.
+          "A String",
+        ],
+        "surfaceTargeting": { # The surface targeting combinations available for an ad product. # Targetable surface combinations for the ad product.
+          "availableTargetingCombinations": [ # Available surface target combinations for the ad product.
+            { # Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts.
+              "surfaces": [ # List of surfaces available to target.
+                "A String",
+              ],
+            },
+          ],
+          "defaultTargeting": { # Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts. # Default surface targeting applied to the ad product.
+            "surfaces": [ # List of surfaces available to target.
+              "A String",
+            ],
+          },
+        },
+        "youtubeSelectLineups": [ # Targetable YouTube Select Lineups for the ad product.
+          { # A Plannable YouTube Select Lineup for product targeting.
+            "lineupId": "A String", # The ID of the YouTube Select Lineup.
+            "lineupName": "A String", # The unique name of the YouTube Select Lineup.
+          },
+        ],
+      },
+    },
+  ],
+}
+
+ +
+ listPlannableUserInterests(body=None, x__xgafv=None) +
Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachPlanService.ListPlannableUserInterests.
+  "customerId": "A String", # Required. The ID of the customer.
+  "nameQuery": "A String", # A filter by user interest name. If set, only user interests with a name containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.
+  "pathQuery": "A String", # A filter by user interest path. If set, only user interests with a path containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+  "userInterestTaxonomyTypes": [ # Optional. A filter by user interest type. If set, only user interests with a type listed in the filter will be returned. If not set, user interests of all supported types will be returned. Supported user interest types are AFFINITY and IN_MARKET. Each type must be specified at most once.
+    "A String",
+  ],
+}
+
+  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 ReachPlanService.ListPlannableUserInterests.
+  "plannableUserInterests": [ # The list of plannable user interests.
+    { # A plannable user interest that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast.
+      "userInterest": { # Represents a particular interest-based topic to be targeted. # The user interest id.
+        "userInterestCategory": "A String", # The UserInterest resource name.
+      },
+      "userInterestDisplayName": "A String", # The user interest display name. For example, "Autos & Vehicles"
+      "userInterestPath": "A String", # The user interest path. For example, "/Autos & Vehicles/Motor Vehicles/Motor Vehicles by Type/Off-Road Vehicles"
+      "userInterestType": "A String", # The user interest type.
+    },
+  ],
+}
+
+ +
+ listPlannableUserLists(body=None, x__xgafv=None) +
Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachPlanService.ListPlannableUserLists that lists the available user lists for a customer.
+  "customerId": "A String", # Required. The ID of the customer.
+  "customerReachGroup": "A String", # The name of the customer being planned for. This is a user-defined value.
+  "reachApplicationInfo": { # Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. # Optional. Additional information on the application issuing the request.
+    "applicationId": "A String", # The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.
+    "applicationInstance": "A String", # The instance type of the application sending the request.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A response with all available user lists with their plannable status.
+  "plannableUserLists": [ # The list of user lists available for planning and related targeting metadata.
+    { # A plannable user list.
+      "displayName": "A String", # The name of the user list.
+      "plannableStatus": "A String", # The plannable status of the user list.
+      "plannableUserListMetadata": { # The metadata associated with a plannable user list. # The relevant metadata for this user list.
+        "userListCrmDataSourceType": "A String", # The data source type of a CRM based user list.
+      },
+      "userListInfo": { # A User List criterion. Represents a user list that is defined by the advertiser to be targeted. # The user list ID.
+        "userList": "A String", # The User List resource name.
+      },
+      "userListType": "A String", # The user list type.
+    },
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/securitycenter_v1.folders.assets.html b/docs/dyn/securitycenter_v1.folders.assets.html index a95b48b68b..c11a41b533 100644 --- a/docs/dyn/securitycenter_v1.folders.assets.html +++ b/docs/dyn/securitycenter_v1.folders.assets.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization's assets and groups them by their specified properties.

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization's assets.

+

list_next()

Retrieves the next page of results.

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -100,20 +100,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization's assets and groups them by their specified properties.
+  
 
 Args:
-  parent: string, Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by assets.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -124,18 +124,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for grouping by assets. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -155,17 +155,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization's assets.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  compareDuration: string, When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time.
-  fieldMask: string, A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -174,52 +174,52 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing assets. - "listAssetsResults": [ # Assets matching the list request. - { # Result containing the Asset and its State. - "asset": { # Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. # Asset matching the search request. - "canonicalName": "A String", # The canonical name of the resource. It's either "organizations/{organization_id}/assets/{asset_id}", "folders/{folder_id}/assets/{asset_id}" or "projects/{project_number}/assets/{asset_id}", depending on the closest CRM ancestor of the resource. - "createTime": "A String", # The time at which the asset was created in Security Command Center. - "iamPolicy": { # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. - "policyBlob": "A String", # The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details. + { + "listAssetsResults": [ + { + "asset": { + "canonicalName": "A String", + "createTime": "A String", + "iamPolicy": { + "policyBlob": "A String", }, - "name": "A String", # The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/assets/{asset_id}". - "resourceProperties": { # Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. + "name": "A String", + "resourceProperties": { "a_key": "", }, - "securityCenterProperties": { # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "securityCenterProperties": { + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "resourceDisplayName": "A String", # The user defined display name for this resource. - "resourceName": "A String", # The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceOwners": [ # Owners of the Google Cloud resource. + "resourceDisplayName": "A String", + "resourceName": "A String", + "resourceOwners": [ "A String", ], - "resourceParent": "A String", # The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceParentDisplayName": "A String", # The user defined display name for the parent of this resource. - "resourceProject": "A String", # The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceProjectDisplayName": "A String", # The user defined display name for the project of this resource. - "resourceType": "A String", # The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. + "resourceParent": "A String", + "resourceParentDisplayName": "A String", + "resourceProject": "A String", + "resourceProjectDisplayName": "A String", + "resourceType": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "updateTime": "A String", # The time at which the asset was last updated or added in Cloud SCC. + "updateTime": "A String", }, - "stateChange": "A String", # State change of the asset between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of assets matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -239,23 +239,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -264,12 +264,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.bigQueryExports.html b/docs/dyn/securitycenter_v1.folders.bigQueryExports.html index 6ecb406aed..44bf4262a4 100644 --- a/docs/dyn/securitycenter_v1.folders.bigQueryExports.html +++ b/docs/dyn/securitycenter_v1.folders.bigQueryExports.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, bigQueryExportId=None, body=None, x__xgafv=None)

-

Creates a BigQuery export.

+

delete(name, x__xgafv=None)

-

Deletes an existing BigQuery export.

+

get(name, x__xgafv=None)

-

Gets a BigQuery export.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a BigQuery export.

+

Method Details

close() @@ -103,25 +103,25 @@

Method Details

create(parent, bigQueryExportId=None, body=None, x__xgafv=None) -
Creates a BigQuery export.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  bigQueryExportId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  bigQueryExportId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -130,24 +130,24 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing BigQuery export.
+  
 
 Args:
-  name: string, Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -156,16 +156,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a BigQuery export.
+  
 
 Args:
-  name: string, Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -174,26 +174,26 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -202,20 +202,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing BigQuery exports. - "bigQueryExports": [ # The BigQuery exports from the specified parent. - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "bigQueryExports": [ + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -235,25 +235,25 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a BigQuery export.
+  
 
 Args:
-  name: string, The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -262,15 +262,15 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.customModules.html b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.customModules.html index 5d2f600c34..89737e6c7a 100644 --- a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Gets an Event Threat Detection custom module.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,7 +100,7 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.

+

Method Details

close() @@ -109,26 +109,26 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -139,28 +139,28 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -169,16 +169,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets an Event Threat Detection custom module.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -187,30 +187,30 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -219,35 +219,35 @@ 

Method Details

Returns: An object of the form: - { # Response for listing Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -256,24 +256,24 @@ 

Method Details

Returns: An object of the form: - { # Response for listing current and descendant resident Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -307,29 +307,29 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.
+  
 
 Args:
-  name: string, Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -338,19 +338,19 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.effectiveCustomModules.html index b83c0f5359..7975dc9a5f 100644 --- a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Gets an effective Event Threat Detection custom module at the given level.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Gets an effective Event Threat Detection custom module at the given level.
+  
 
 Args:
-  name: string, Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,27 +106,27 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -135,21 +135,21 @@ 

Method Details

Returns: An object of the form: - { # Response for listing EffectiveEventThreatDetectionCustomModules. - "effectiveEventThreatDetectionCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "effectiveEventThreatDetectionCustomModules": [ + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.html index 230349bb3b..09edd4caa3 100644 --- a/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1.folders.eventThreatDetectionSettings.html @@ -89,7 +89,7 @@

Instance Methods

Close httplib2 connections.

validateCustomModule(parent, body=None, x__xgafv=None)

-

Validates the given Event Threat Detection custom module.

+

Method Details

close() @@ -98,16 +98,16 @@

Method Details

validateCustomModule(parent, body=None, x__xgafv=None) -
Validates the given Event Threat Detection custom module.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request to validate an Event Threat Detection custom module.
-  "rawText": "A String", # Required. The raw text of the module's contents. Used to generate error messages.
-  "type": "A String", # Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).
+{
+  "rawText": "A String",
+  "type": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -118,19 +118,19 @@ 

Method Details

Returns: An object of the form: - { # Response to validating an Event Threat Detection custom module. - "errors": { # A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. # A list of errors returned by the validator. If the list is empty, there were no errors. - "errors": [ # The list of errors. - { # An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. - "description": "A String", # A description of the error, suitable for human consumption. Required. - "end": { # A position in the uploaded text version of a module. # The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + { + "errors": { + "errors": [ + { + "description": "A String", + "end": { + "columnNumber": 42, + "lineNumber": 42, }, - "fieldPath": "A String", # The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected. - "start": { # A position in the uploaded text version of a module. # The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + "fieldPath": "A String", + "start": { + "columnNumber": 42, + "lineNumber": 42, }, }, ], diff --git a/docs/dyn/securitycenter_v1.folders.findings.html b/docs/dyn/securitycenter_v1.folders.findings.html index 623ba25cae..947e9053ae 100644 --- a/docs/dyn/securitycenter_v1.folders.findings.html +++ b/docs/dyn/securitycenter_v1.folders.findings.html @@ -76,24 +76,24 @@

Security Command Center API . bulkMute(parent, body=None, x__xgafv=None)

-

Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.

+

close()

Close httplib2 connections.

Method Details

bulkMute(parent, body=None, x__xgafv=None) -
Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.
+  
 
 Args:
-  parent: string, Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.
-  "filter": "A String", # Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "muteAnnotation": "A String", # This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.
-  "muteState": "A String", # Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings.
+{
+  "filter": "A String",
+  "muteAnnotation": "A String",
+  "muteState": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -104,22 +104,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
diff --git a/docs/dyn/securitycenter_v1.folders.locations.muteConfigs.html b/docs/dyn/securitycenter_v1.folders.locations.muteConfigs.html index e9f6014a47..c437fb642e 100644 --- a/docs/dyn/securitycenter_v1.folders.locations.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.folders.locations.muteConfigs.html @@ -79,13 +79,13 @@

Instance Methods

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -94,10 +94,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,16 +106,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -124,41 +124,41 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,16 +167,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.muteConfigs.html b/docs/dyn/securitycenter_v1.folders.muteConfigs.html index 9124f16bb4..86a1fb6049 100644 --- a/docs/dyn/securitycenter_v1.folders.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.folders.muteConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, muteConfigId=None, x__xgafv=None)

-

Creates a mute config.

+

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists mute configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -103,26 +103,26 @@

Method Details

create(parent, body=None, muteConfigId=None, x__xgafv=None) -
Creates a mute config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  muteConfigId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  muteConfigId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -131,25 +131,25 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,16 +158,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -176,27 +176,27 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists mute configs.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -205,21 +205,21 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing mute configs. - "muteConfigs": [ # The mute configs from the specified parent. - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "muteConfigs": [ + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -239,26 +239,26 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -267,16 +267,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.notificationConfigs.html b/docs/dyn/securitycenter_v1.folders.notificationConfigs.html index 2651c0e720..21fa7ba68a 100644 --- a/docs/dyn/securitycenter_v1.folders.notificationConfigs.html +++ b/docs/dyn/securitycenter_v1.folders.notificationConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, configId=None, x__xgafv=None)

-

Creates a notification config.

+

delete(name, x__xgafv=None)

-

Deletes a notification config.

+

get(name, x__xgafv=None)

-

Gets a notification config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists notification configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter

+

Method Details

close() @@ -103,24 +103,24 @@

Method Details

create(parent, body=None, configId=None, x__xgafv=None) -
Creates a notification config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  configId: string, Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.
+  configId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -129,23 +129,23 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
delete(name, x__xgafv=None) -
Deletes a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -154,16 +154,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -172,25 +172,25 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists notification configs.
+  
 
 Args:
-  parent: string, Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -199,16 +199,16 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing notification configs. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "notificationConfigs": [ # Notification configs belonging to the requested parent. - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "nextPageToken": "A String", + "notificationConfigs": [ + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }, ], @@ -231,24 +231,24 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
 Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter
+  
 
 Args:
-  name: string, The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,13 +257,13 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html index 7a3baffb0f..d605ec4f26 100644 --- a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Retrieves a SecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,10 +100,10 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.

+

simulate(parent, body=None, x__xgafv=None)

-

Simulates a given SecurityHealthAnalyticsCustomModule and Resource.

+

Method Details

close() @@ -112,50 +112,50 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -166,52 +166,52 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,16 +220,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Retrieves a SecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,54 +238,54 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -294,46 +294,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -341,12 +341,12 @@

Method Details

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.
+  
 
 Args:
-  parent: string, Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -355,46 +355,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing descendant Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent and its descendants. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -430,53 +430,53 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.
+  
 
 Args:
-  name: string, Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -485,121 +485,121 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
simulate(parent, body=None, x__xgafv=None) -
Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
+  
 
 Args:
-  parent: string, Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Required. The custom configuration that you need to test.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "resource": { # Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data. # Required. Resource data to simulate custom module against.
-    "iamPolicyData": { # 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/). # Optional. A representation of the IAM policy.
-      "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-        { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-          "auditLogConfigs": [ # The configuration for logging of each type of permission.
-            { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-              "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+  "resource": {
+    "iamPolicyData": {
+      "auditConfigs": [
+        {
+          "auditLogConfigs": [
+            {
+              "exemptedMembers": [
                 "A String",
               ],
-              "logType": "A String", # The log type that this config enables.
+              "logType": "A String",
             },
           ],
-          "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+          "service": "A String",
         },
       ],
-      "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.
+      "bindings": [
+        {
+          "condition": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
-          "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`.
+          "members": [
             "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).
+          "role": "A String",
         },
       ],
-      "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).
+      "etag": "A String",
+      "version": 42,
     },
-    "resourceData": { # Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format.
+    "resourceData": {
       "a_key": "", # Properties of the object.
     },
-    "resourceType": "A String", # Required. The type of the resource, for example, `compute.googleapis.com/Disk`.
+    "resourceType": "A String",
   },
 }
 
@@ -611,826 +611,826 @@ 

Method Details

Returns: An object of the form: - { # Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource. - "result": { # Possible test result. # Result for test case in the corresponding request. - "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). # Error encountered during the test. - "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. + { + "result": { + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding that would be published for the test case, if a violation is detected. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "noViolation": { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } # Indicates that the test case does not trigger any violation. + "noViolation": { }, }, }
diff --git a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.effectiveCustomModules.html index e2e1bd1c3a..eb54e5d1a8 100644 --- a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,51 +106,51 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,45 +159,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing effective Security Health Analytics custom modules. - "effectiveSecurityHealthAnalyticsCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "effectiveSecurityHealthAnalyticsCustomModules": [ + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }, ], - "nextPageToken": "A String", # If not empty, indicates that there may be more effective custom modules to be returned. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.sources.findings.externalSystems.html b/docs/dyn/securitycenter_v1.folders.sources.findings.externalSystems.html index 4a60c15add..4c0571cadc 100644 --- a/docs/dyn/securitycenter_v1.folders.sources.findings.externalSystems.html +++ b/docs/dyn/securitycenter_v1.folders.sources.findings.externalSystems.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates external system. This is for a given finding.

+

Method Details

close() @@ -88,37 +88,37 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates external system. This is for a given finding.
+  
 
 Args:
-  name: string, Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Representation of third party SIEM/SOAR fields within SCC.
-  "assignees": [ # References primary/secondary etc assignees in the external system.
+{
+  "assignees": [
     "A String",
   ],
-  "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-  "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-  "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-  "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-  "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-  "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-  "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-  "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-  "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-  "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-    "assignee": "A String", # The assignee of the ticket in the ticket system.
-    "description": "A String", # The description of the ticket in the ticket system.
-    "id": "A String", # The identifier of the ticket in the ticket system.
-    "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-    "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-    "uri": "A String", # The link to the ticket in the ticket system.
+  "caseCloseTime": "A String",
+  "caseCreateTime": "A String",
+  "casePriority": "A String",
+  "caseSla": "A String",
+  "caseUri": "A String",
+  "externalSystemUpdateTime": "A String",
+  "externalUid": "A String",
+  "name": "A String",
+  "status": "A String",
+  "ticketInfo": {
+    "assignee": "A String",
+    "description": "A String",
+    "id": "A String",
+    "status": "A String",
+    "updateTime": "A String",
+    "uri": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -127,26 +127,26 @@ 

Method Details

Returns: An object of the form: - { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.folders.sources.findings.html b/docs/dyn/securitycenter_v1.folders.sources.findings.html index 9abb5dcc95..cfb6f3bf6d 100644 --- a/docs/dyn/securitycenter_v1.folders.sources.findings.html +++ b/docs/dyn/securitycenter_v1.folders.sources.findings.html @@ -84,28 +84,28 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.

+

setMute(name, body=None, x__xgafv=None)

-

Updates the mute state of a finding.

+

setState(name, body=None, x__xgafv=None)

-

Updates the state of a finding.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -114,20 +114,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by findings.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported when compare_duration is set: * state_change
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -138,18 +138,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for group by findings. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -169,17 +169,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-` (required)
-  compareDuration: string, When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time.
-  fieldMask: string, A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -188,945 +188,945 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing findings. - "listFindingsResults": [ # Findings matching the list request. - { # Result containing the Finding and its StateChange. - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + { + "listFindingsResults": [ + { + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "resource": { # Information related to the Google Cloud resource that is associated with this finding. # Output only. Resource that is associated with this finding. - "adcApplication": { # Represents an ADC application associated with the finding. # The ADC application associated with the finding. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the AppHub application. - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "resource": { + "adcApplication": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application} + "name": "A String", }, - "adcApplicationTemplate": { # Represents an ADC template associated with the finding. # The ADC template associated with the finding. - "name": "A String", # The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcApplicationTemplate": { + "name": "A String", }, - "adcSharedTemplate": { # Represents an ADC shared template associated with the finding. # The ADC shared template associated with the finding. - "name": "A String", # The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcSharedTemplate": { + "name": "A String", }, - "application": { # The App Hub Application associated with the finding's resource. # The App Hub application this resource belongs to. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the application - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "application": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}` + "name": "A String", }, - "awsMetadata": { # AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. # The AWS metadata associated with the finding. - "account": { # An AWS account that is a member of an organization. # The AWS account associated with the resource. - "id": "A String", # The unique identifier (ID) of the account, containing exactly 12 digits. - "name": "A String", # The friendly name of this account. + "awsMetadata": { + "account": { + "id": "A String", + "name": "A String", }, - "organization": { # An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. # The AWS organization associated with the resource. - "id": "A String", # The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. + "organization": { + "id": "A String", }, - "organizationalUnits": [ # A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - { # An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - "id": "A String", # The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - "name": "A String", # The friendly name of the OU. + "organizationalUnits": [ + { + "id": "A String", + "name": "A String", }, ], }, - "azureMetadata": { # Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. # The Azure metadata associated with the finding. - "managementGroups": [ # A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - { # Represents an Azure management group. - "displayName": "A String", # The display name of the Azure management group. - "id": "A String", # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. + "azureMetadata": { + "managementGroups": [ + { + "displayName": "A String", + "id": "A String", }, ], - "resourceGroup": { # Represents an Azure resource group. # The Azure resource group associated with the resource. - "id": "A String", # The ID of the Azure resource group. - "name": "A String", # The name of the Azure resource group. This is not a UUID. + "resourceGroup": { + "id": "A String", + "name": "A String", }, - "subscription": { # Represents an Azure subscription. # The Azure subscription associated with the resource. - "displayName": "A String", # The display name of the Azure subscription. - "id": "A String", # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. + "subscription": { + "displayName": "A String", + "id": "A String", }, - "tenant": { # Represents a Microsoft Entra tenant. # The Azure Entra tenant associated with the resource. - "displayName": "A String", # The display name of the Azure tenant. - "id": "A String", # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". + "tenant": { + "displayName": "A String", + "id": "A String", }, }, - "cloudProvider": "A String", # Indicates which cloud provider the finding is from. - "displayName": "A String", # The human readable name of the resource. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "cloudProvider": "A String", + "displayName": "A String", + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "location": "A String", # The region or location of the service (if applicable). - "name": "A String", # The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "organization": "A String", # Indicates which organization / tenant the finding is for. - "parentDisplayName": "A String", # The human readable name of resource's parent. - "parentName": "A String", # The full resource name of resource's parent. - "projectDisplayName": "A String", # The project ID that the resource belongs to. - "projectName": "A String", # The full resource name of project that the resource belongs to. - "resourcePath": { # Represents the path of resources leading up to the resource this finding is about. # Provides the path to the resource within the resource hierarchy. - "nodes": [ # The list of nodes that make the up resource path, ordered from lowest level to highest level. - { # A node within the resource path. Each node represents a resource within the resource hierarchy. - "displayName": "A String", # The display name of the resource this node represents. - "id": "A String", # The ID of the resource this node represents. - "nodeType": "A String", # The type of resource this node represents. + "location": "A String", + "name": "A String", + "organization": "A String", + "parentDisplayName": "A String", + "parentName": "A String", + "projectDisplayName": "A String", + "projectName": "A String", + "resourcePath": { + "nodes": [ + { + "displayName": "A String", + "id": "A String", + "nodeType": "A String", }, ], }, - "resourcePathString": "A String", # A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups. - "service": "A String", # The service or resource provider associated with the resource. - "type": "A String", # The full resource type of the resource. + "resourcePathString": "A String", + "service": "A String", + "type": "A String", }, - "stateChange": "A String", # State change of the finding between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of findings matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -1146,823 +1146,823 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.
+  
 
 Args:
-  name: string, The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
-  "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where.
-    "callerIp": "A String", # Caller's IP address, such as "1.1.1.1".
-    "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from.
-      "regionCode": "A String", # A CLDR.
-    },
-    "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy".
-    "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).
-    "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.
-    "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.
-      { # Identity delegation history of an authenticated service account.
-        "principalEmail": "A String", # The email address of a Google account.
-        "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`
+{
+  "access": {
+    "callerIp": "A String",
+    "callerIpGeo": {
+      "regionCode": "A String",
+    },
+    "methodName": "A String",
+    "principalEmail": "A String",
+    "principalSubject": "A String",
+    "serviceAccountDelegationInfo": [
+      {
+        "principalEmail": "A String",
+        "principalSubject": "A String",
       },
     ],
-    "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}".
-    "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com"
-    "userAgent": "A String", # The caller's user agent string associated with the finding.
-    "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.
-    "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.
+    "serviceAccountKeyName": "A String",
+    "serviceName": "A String",
+    "userAgent": "A String",
+    "userAgentFamily": "A String",
+    "userName": "A String",
   },
-  "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding.
-    "count": "A String", # The count of resources affected by the finding.
+  "affectedResources": {
+    "count": "A String",
   },
-  "agentDataAccessEvents": [ # Agent data access events associated with the finding.
-    { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalSubject": "A String", # The agent principal that accessed the data.
+  "agentDataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalSubject": "A String",
     },
   ],
-  "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding.
-    "deploymentPlatform": "A String", # The platform on which the model is deployed.
-    "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model
-    "domain": "A String", # The domain of the model, for example, “image-classification”.
-    "library": "A String", # The name of the model library, for example, “transformers”.
-    "location": "A String", # The region in which the model is used, for example, “us-central1”.
-    "name": "A String", # The name of the AI model, for example, "gemini:1.0.0".
-    "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”.
-    "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training".
-  },
-  "application": { # Represents an application associated with a finding. # Represents an application associated with the finding.
-    "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.
-    "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.
-  },
-  "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding.
-    "failingPolicies": [ # A list of failing policies.
-      { # Represents an artifact guard policy.
-        "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2".
-        "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy".
-        "type": "A String", # The type of the policy evaluation.
+  "aiModel": {
+    "deploymentPlatform": "A String",
+    "displayName": "A String",
+    "domain": "A String",
+    "library": "A String",
+    "location": "A String",
+    "name": "A String",
+    "publisher": "A String",
+    "usageCategory": "A String",
+  },
+  "application": {
+    "baseUri": "A String",
+    "fullUri": "A String",
+  },
+  "artifactGuardPolicies": {
+    "failingPolicies": [
+      {
+        "failureReason": "A String",
+        "policyId": "A String",
+        "type": "A String",
       },
     ],
-    "resourceId": "A String", # The ID of the resource that has policies configured for it.
+    "resourceId": "A String",
   },
-  "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding.
-    "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`
-    "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding.
-    "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding.
-    "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.
-    "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.
+  "attackExposure": {
+    "attackExposureResult": "A String",
+    "exposedHighValueResourcesCount": 42,
+    "exposedLowValueResourcesCount": 42,
+    "exposedMediumValueResourcesCount": 42,
+    "latestCalculationTime": "A String",
+    "score": 3.14,
+    "state": "A String",
   },
-  "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings.
-    "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.
-    "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
+  "backupDisasterRecovery": {
+    "appliance": "A String",
+    "applications": [
       "A String",
     ],
-    "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created.
-    "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.
-    "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.
-    "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.
-    "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.
+    "backupCreateTime": "A String",
+    "backupTemplate": "A String",
+    "backupType": "A String",
+    "host": "A String",
+    "policies": [
       "A String",
     ],
-    "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.
+    "policyOptions": [
       "A String",
     ],
-    "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.
-    "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.
+    "profile": "A String",
+    "storagePool": "A String",
   },
-  "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests.
-    "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.
+  "canonicalName": "A String",
+  "category": "A String",
+  "chokepoint": {
+    "relatedFindings": [
       "A String",
     ],
   },
-  "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings.
-    "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview).
-      "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.
-    },
-    "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification.
-      "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
-      "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.
-      "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack.
-      "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.
-      "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack.
-    },
-    "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes).
-    "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview).
-      "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term.
-      "longTermDenied": 42, # Denied RPS (requests per second) over the long term.
-      "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.
-      "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term.
-    },
-    "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.
-      "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy".
-      "preview": True or False, # Whether or not the associated rule or policy is in preview mode.
-      "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.
-    },
-    "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks.
-  },
-  "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding.
-    "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.
-    "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.
-      { # Type of information detected by the API.
-        "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
-        "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
-          "score": "A String", # The sensitivity score applied to the resource.
+  "cloudArmor": {
+    "adaptiveProtection": {
+      "confidence": 3.14,
+    },
+    "attack": {
+      "classification": "A String",
+      "volumeBps": 42,
+      "volumeBpsLong": "A String",
+      "volumePps": 42,
+      "volumePpsLong": "A String",
+    },
+    "duration": "A String",
+    "requests": {
+      "longTermAllowed": 42,
+      "longTermDenied": 42,
+      "ratio": 3.14,
+      "shortTermAllowed": 42,
+    },
+    "securityPolicy": {
+      "name": "A String",
+      "preview": True or False,
+      "type": "A String",
+    },
+    "threatVector": "A String",
+  },
+  "cloudDlpDataProfile": {
+    "dataProfile": "A String",
+    "infoTypes": [
+      {
+        "name": "A String",
+        "sensitivityScore": {
+          "score": "A String",
         },
-        "version": "A String", # Optional version name for this InfoType.
+        "version": "A String",
       },
     ],
-    "parentType": "A String", # The resource hierarchy level at which the data profile was generated.
+    "parentType": "A String",
   },
-  "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding.
-    "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset.
-    "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.
-    "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource.
-    "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.
+  "cloudDlpInspection": {
+    "fullScan": True or False,
+    "infoType": "A String",
+    "infoTypeCount": "A String",
+    "inspectJob": "A String",
   },
-  "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding.
-    "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding
-      "cloudControlName": "A String", # Name of the CloudControl associated with the finding.
-      "policyType": "A String", # Policy type of the CloudControl
-      "type": "A String", # Type of cloud control.
-      "version": 42, # Version of the Cloud Control
+  "complianceDetails": {
+    "cloudControl": {
+      "cloudControlName": "A String",
+      "policyType": "A String",
+      "type": "A String",
+      "version": 42,
     },
-    "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier
+    "cloudControlDeploymentNames": [
       "A String",
     ],
-    "frameworks": [ # Details of Frameworks associated with the finding
-      { # Compliance framework associated with the finding.
-        "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads
+    "frameworks": [
+      {
+        "category": [
           "A String",
         ],
-        "controls": [ # The controls associated with the framework.
-          { # Compliance control associated with the finding.
-            "controlName": "A String", # Name of the Control
-            "displayName": "A String", # Display name of the control. For example, AU-02.
+        "controls": [
+          {
+            "controlName": "A String",
+            "displayName": "A String",
           },
         ],
-        "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework
-        "name": "A String", # Name of the framework associated with the finding
-        "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)
+        "displayName": "A String",
+        "name": "A String",
+        "type": "A String",
       },
     ],
   },
-  "compliances": [ # Contains compliance information for security standards associated to the finding.
-    { # Contains compliance information about a security standard indicating unmet recommendations.
-      "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1
+  "compliances": [
+    {
+      "ids": [
         "A String",
       ],
-      "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.
-      "version": "A String", # Version of the standard or benchmark, for example, 1.1
+      "standard": "A String",
+      "version": "A String",
     },
   ],
-  "connections": [ # Contains information about the IP connection associated with the finding.
-    { # Contains information about the IP connection associated with the finding.
-      "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected.
-      "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected.
-      "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17).
-      "sourceIp": "A String", # Source IP address.
-      "sourcePort": 42, # Source port.
+  "connections": [
+    {
+      "destinationIp": "A String",
+      "destinationPort": 42,
+      "protocol": "A String",
+      "sourceIp": "A String",
+      "sourcePort": 42,
     },
   ],
-  "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } }
-    "a_key": { # Details about specific contacts
-      "contacts": [ # A list of contacts
-        { # The email address of a contact.
-          "email": "A String", # An email address. For example, "`person123@company.com`".
+  "contacts": {
+    "a_key": {
+      "contacts": [
+        {
+          "email": "A String",
         },
       ],
     },
   },
-  "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.
-    { # Container associated with the finding.
-      "createTime": "A String", # The time that the container was created.
-      "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-      "labels": [ # Container labels, as provided by the container runtime.
-        { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-          "name": "A String", # Name of the label.
-          "value": "A String", # Value that corresponds to the label's name.
+  "containers": [
+    {
+      "createTime": "A String",
+      "imageId": "A String",
+      "labels": [
+        {
+          "name": "A String",
+          "value": "A String",
         },
       ],
-      "name": "A String", # Name of the container.
-      "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+      "name": "A String",
+      "uri": "A String",
     },
   ],
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "dataAccessEvents": [ # Data access events associated with the finding.
-    { # Details about a data access attempt made by a principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.
+  "createTime": "A String",
+  "dataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
     },
   ],
-  "dataFlowEvents": [ # Data flow events associated with the finding.
-    { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.
-      "eventId": "A String", # Unique identifier for data flow event.
-      "eventTime": "A String", # Timestamp of data flow event.
-      "operation": "A String", # The operation performed by the principal for the data flow event.
-      "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.
-      "violatedLocation": "A String", # Non-compliant location of the principal or the data destination.
+  "dataFlowEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
+      "violatedLocation": "A String",
     },
   ],
-  "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding.
-    { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.
-      "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.
-      "eventDetectionTime": "A String", # Timestamp indicating when the event was detected.
-      "eventType": "A String", # Type of the DRD event.
-      "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.
-      "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.
+  "dataRetentionDeletionEvents": [
+    {
+      "dataObjectCount": "A String",
+      "eventDetectionTime": "A String",
+      "eventType": "A String",
+      "maxRetentionAllowed": "A String",
+      "minRetentionAllowed": "A String",
     },
   ],
-  "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding.
-    "displayName": "A String", # The human-readable name of the database that the user connected to.
-    "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.
+  "database": {
+    "displayName": "A String",
+    "grantees": [
       "A String",
     ],
-    "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.
-    "query": "A String", # The SQL statement that is associated with the database access.
-    "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format.
-    "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
-  },
-  "description": "A String", # Contains more details about the finding.
-  "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding.
-    "confidence": "A String", # The confidence in detection of this workload.
-    "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type.
-    "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type.
-    "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type.
-    "workloadType": "A String", # The type of workload.
-  },
-  "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding.
-    "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}".
-  },
-  "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.
-  "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding.
-    "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "name": "A String",
+    "query": "A String",
+    "userName": "A String",
+    "version": "A String",
+  },
+  "description": "A String",
+  "discoveredWorkload": {
+    "confidence": "A String",
+    "detectedRelevantHardware": True or False,
+    "detectedRelevantKeywords": True or False,
+    "detectedRelevantPackages": True or False,
+    "workloadType": "A String",
+  },
+  "disk": {
+    "name": "A String",
+  },
+  "eventTime": "A String",
+  "exfiltration": {
+    "sources": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "targets": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job.
-  },
-  "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding.
-    "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}"
-    "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184".
-    "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”
-    "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
-    "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}".
-    "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/"
-    "httpResponse": [ # The http response returned by the web application.
-      { # The http response returned by the web application.
-        "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test".
-        "statusCode": "A String", # The http response code returned by the web application, for example, 200.
+    "totalExfiltratedBytes": "A String",
+  },
+  "externalExposure": {
+    "backendBucket": "A String",
+    "backendService": "A String",
+    "exposedApplication": "A String",
+    "exposedEndpoint": "A String",
+    "exposedService": "A String",
+    "forwardingRule": "A String",
+    "hostnameUri": "A String",
+    "httpResponse": [
+      {
+        "path": "A String",
+        "statusCode": "A String",
       },
     ],
-    "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}".
-    "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-    "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}".
-    "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}".
-    "privateIpAddress": "A String", # Private IP address of the exposed endpoint.
-    "privatePort": "A String", # Port number associated with private IP address.
-    "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}"
-    "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}"
-    "publicIpAddress": "A String", # Public IP address of the exposed endpoint.
-    "publicPort": "A String", # Public port number of the exposed endpoint.
-    "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-  },
-  "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.
-    "a_key": { # Representation of third party SIEM/SOAR fields within SCC.
-      "assignees": [ # References primary/secondary etc assignees in the external system.
+    "instanceGroup": "A String",
+    "internalBackendService": "A String",
+    "loadBalancerFirewallPolicy": "A String",
+    "networkEndpointGroup": "A String",
+    "networkIngressFirewallPolicy": "A String",
+    "privateIpAddress": "A String",
+    "privatePort": "A String",
+    "pscNetworkAttachment": "A String",
+    "pscServiceAttachment": "A String",
+    "publicIpAddress": "A String",
+    "publicPort": "A String",
+    "serviceFirewallPolicy": "A String",
+  },
+  "externalSystems": {
+    "a_key": {
+      "assignees": [
         "A String",
       ],
-      "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-      "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-      "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-      "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-      "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-      "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-      "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-      "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-      "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-      "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-        "assignee": "A String", # The assignee of the ticket in the ticket system.
-        "description": "A String", # The description of the ticket in the ticket system.
-        "id": "A String", # The identifier of the ticket in the ticket system.
-        "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-        "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-        "uri": "A String", # The link to the ticket in the ticket system.
+      "caseCloseTime": "A String",
+      "caseCreateTime": "A String",
+      "casePriority": "A String",
+      "caseSla": "A String",
+      "caseUri": "A String",
+      "externalSystemUpdateTime": "A String",
+      "externalUid": "A String",
+      "name": "A String",
+      "status": "A String",
+      "ticketInfo": {
+        "assignee": "A String",
+        "description": "A String",
+        "id": "A String",
+        "status": "A String",
+        "updateTime": "A String",
+        "uri": "A String",
       },
     },
   },
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "files": [ # File associated with the finding.
-    { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-      "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-      "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-        "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-        "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+  "externalUri": "A String",
+  "files": [
+    {
+      "contents": "A String",
+      "diskPath": {
+        "partitionUuid": "A String",
+        "relativePath": "A String",
       },
-      "fileLoadState": "A String", # The load state of the file.
-      "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-      "operations": [ # Operation(s) performed on a file.
-        { # Operation(s) performed on a file.
-          "type": "A String", # The type of the operation
+      "fileLoadState": "A String",
+      "hashedSize": "A String",
+      "operations": [
+        {
+          "type": "A String",
         },
       ],
-      "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-      "path": "A String", # Absolute path of the file as a JSON encoded string.
-      "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-      "size": "A String", # Size of the file in bytes.
+      "partiallyHashed": True or False,
+      "path": "A String",
+      "sha256": "A String",
+      "size": "A String",
     },
   ],
-  "findingClass": "A String", # The class of the finding.
-  "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.
-    { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.
-      "groupId": "A String", # ID of the group.
-      "groupType": "A String", # Type of group.
+  "findingClass": "A String",
+  "groupMemberships": [
+    {
+      "groupId": "A String",
+      "groupType": "A String",
     },
   ],
-  "iamBindings": [ # Represents IAM bindings associated with the finding.
-    { # Represents a particular IAM binding, which captures a member's role addition, removal, or state.
-      "action": "A String", # The action that was performed on a Binding.
-      "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com".
-      "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner".
+  "iamBindings": [
+    {
+      "action": "A String",
+      "member": "A String",
+      "role": "A String",
     },
   ],
-  "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
-    "domains": [ # List of domains associated to the Finding.
+  "indicator": {
+    "domains": [
       "A String",
     ],
-    "ipAddresses": [ # The list of IP addresses that are associated with the finding.
+    "ipAddresses": [
       "A String",
     ],
-    "signatures": [ # The list of matched signatures indicating that the given process is present in the environment.
-      { # Indicates what signature matched this process.
-        "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched.
-          "binaryFamily": "A String", # The binary family.
-          "detections": [ # The list of memory hash detections contributing to the binary family match.
-            { # Memory hash detection contributing to the binary family match.
-              "binary": "A String", # The name of the binary associated with the memory hash signature detection.
-              "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched.
+    "signatures": [
+      {
+        "memoryHashSignature": {
+          "binaryFamily": "A String",
+          "detections": [
+            {
+              "binary": "A String",
+              "percentPagesMatched": 3.14,
             },
           ],
         },
-        "signatureType": "A String", # Describes the type of resource associated with the signature.
-        "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched.
-          "yaraRule": "A String", # The name of the YARA rule.
+        "signatureType": "A String",
+        "yaraRuleSignature": {
+          "yaraRule": "A String",
         },
       },
     ],
-    "uris": [ # The list of URIs associated to the Findings.
+    "uris": [
       "A String",
     ],
   },
-  "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding.
-    "allowed": { # Allowed IP rule. # Tuple with allowed rules.
-      "ipRules": [ # Optional. Optional list of allowed IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+  "ipRules": {
+    "allowed": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "denied": { # Denied IP rule. # Tuple with denied rules.
-      "ipRules": [ # Optional. Optional list of denied IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+    "denied": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "destinationIpRanges": [
       "A String",
     ],
-    "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress.
-    "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.
+    "direction": "A String",
+    "exposedServices": [
       "A String",
     ],
-    "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "sourceIpRanges": [
       "A String",
     ],
   },
-  "job": { # Describes a job # Job associated with the finding.
-    "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why.
-    "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1`
-    "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/`
-    "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`.
-  },
-  "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit.
-    "name": "A String", # Rootkit name, when available.
-    "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present.
-    "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present.
-    "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present.
-    "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.
-    "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present.
-    "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present.
-  },
-  "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding.
-    "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.
-      { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.
-        "group": "A String", # The API group of the resource. "*" means all.
-        "name": "A String", # The name of the resource being requested. Empty means all.
-        "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty).
-        "resource": "A String", # The optional resource type requested. "*" means all.
-        "subresource": "A String", # The optional subresource type.
-        "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all.
-        "version": "A String", # The API version of the resource. "*" means all.
+  "job": {
+    "errorCode": 42,
+    "location": "A String",
+    "name": "A String",
+    "state": "A String",
+  },
+  "kernelRootkit": {
+    "name": "A String",
+    "unexpectedCodeModification": True or False,
+    "unexpectedFtraceHandler": True or False,
+    "unexpectedInterruptHandler": True or False,
+    "unexpectedKernelCodePages": True or False,
+    "unexpectedKprobeHandler": True or False,
+    "unexpectedProcessesInRunqueue": True or False,
+    "unexpectedReadOnlyDataModification": True or False,
+    "unexpectedSystemCallHandler": True or False,
+  },
+  "kubernetes": {
+    "accessReviews": [
+      {
+        "group": "A String",
+        "name": "A String",
+        "ns": "A String",
+        "resource": "A String",
+        "subresource": "A String",
+        "verb": "A String",
+        "version": "A String",
       },
     ],
-    "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Represents a Kubernetes RoleBinding or ClusterRoleBinding.
-        "name": "A String", # Name for the binding.
-        "ns": "A String", # Namespace for the binding.
-        "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding.
-          "kind": "A String", # Role type.
-          "name": "A String", # Role name.
-          "ns": "A String", # Role namespace.
+    "bindings": [
+      {
+        "name": "A String",
+        "ns": "A String",
+        "role": {
+          "kind": "A String",
+          "name": "A String",
+          "ns": "A String",
         },
-        "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests.
-          { # Represents a Kubernetes subject.
-            "kind": "A String", # Authentication type for the subject.
-            "name": "A String", # Name for the subject.
-            "ns": "A String", # Namespace for the subject.
+        "subjects": [
+          {
+            "kind": "A String",
+            "name": "A String",
+            "ns": "A String",
           },
         ],
       },
     ],
-    "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.
-      { # Provides GKE node pool information.
-        "name": "A String", # Kubernetes node pool name.
-        "nodes": [ # Nodes associated with the finding.
-          { # Kubernetes nodes associated with the finding.
-            "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodePools": [
+      {
+        "name": "A String",
+        "nodes": [
+          {
+            "name": "A String",
           },
         ],
       },
     ],
-    "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.
-      { # Kubernetes nodes associated with the finding.
-        "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodes": [
+      {
+        "name": "A String",
       },
     ],
-    "objects": [ # Kubernetes objects related to the finding.
-      { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "objects": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1".
-        "kind": "A String", # Kubernetes object kind, such as "Namespace".
-        "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.
-        "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.
+        "group": "A String",
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.
-      { # A Kubernetes Pod.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "pods": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container.
-          { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-            "name": "A String", # Name of the label.
-            "value": "A String", # Value that corresponds to the label's name.
+        "labels": [
+          {
+            "name": "A String",
+            "value": "A String",
           },
         ],
-        "name": "A String", # Kubernetes Pod name.
-        "ns": "A String", # Kubernetes Pod namespace.
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Kubernetes Role or ClusterRole.
-        "kind": "A String", # Role type.
-        "name": "A String", # Role name.
-        "ns": "A String", # Role namespace.
+    "roles": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
   },
-  "loadBalancers": [ # The load balancers associated with the finding.
-    { # Contains information related to the load balancer associated with the finding.
-      "name": "A String", # The name of the load balancer associated with the finding.
+  "loadBalancers": [
+    {
+      "name": "A String",
     },
   ],
-  "logEntries": [ # Log entries that are relevant to the finding.
-    { # An individual entry in a log.
-      "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging.
-        "insertId": "A String", # A unique identifier for the log entry.
-        "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.
-        "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry.
-        "timestamp": "A String", # The time the event described by the log entry occurred.
+  "logEntries": [
+    {
+      "cloudLoggingEntry": {
+        "insertId": "A String",
+        "logId": "A String",
+        "resourceContainer": "A String",
+        "timestamp": "A String",
       },
     },
   ],
-  "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org
-    "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any.
+  "mitreAttack": {
+    "additionalTactics": [
       "A String",
     ],
-    "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.
+    "additionalTechniques": [
       "A String",
     ],
-    "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any.
-    "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
+    "primaryTactic": "A String",
+    "primaryTechniques": [
       "A String",
     ],
-    "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
+    "version": "A String",
   },
-  "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
-  "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.
-  "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding.
-    "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding.
-      { # The record of a dynamic mute rule that matches the finding.
-        "matchTime": "A String", # When the dynamic mute rule first matched the finding.
-        "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
+  "moduleName": "A String",
+  "mute": "A String",
+  "muteInfo": {
+    "dynamicMuteRecords": [
+      {
+        "matchTime": "A String",
+        "muteConfig": "A String",
       },
     ],
-    "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute.
-      "applyTime": "A String", # When the static mute was applied.
-      "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.
+    "staticMute": {
+      "applyTime": "A String",
+      "state": "A String",
     },
   },
-  "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.
-  "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted.
-  "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
-  "networks": [ # Represents the VPC networks that the resource is attached to.
-    { # Contains information about a VPC network associated with the finding.
-      "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.
+  "muteInitiator": "A String",
+  "muteUpdateTime": "A String",
+  "name": "A String",
+  "networks": [
+    {
+      "name": "A String",
     },
   ],
-  "nextSteps": "A String", # Steps to address the finding.
-  "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding.
-    "lastAuthor": "A String", # The user ID of the latest author to modify the notebook.
-    "name": "A String", # The name of the notebook.
-    "notebookUpdateTime": "A String", # The most recent time the notebook was updated.
-    "service": "A String", # The source notebook service, for example, "Colab Enterprise".
+  "nextSteps": "A String",
+  "notebook": {
+    "lastAuthor": "A String",
+    "name": "A String",
+    "notebookUpdateTime": "A String",
+    "service": "A String",
   },
-  "orgPolicies": [ # Contains information about the org policies associated with the finding.
-    { # Contains information about the org policies associated with the finding.
-      "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}"
+  "orgPolicies": [
+    {
+      "name": "A String",
     },
   ],
-  "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics".
-  "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding.
-    "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy.
-    "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown".
-    "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation.
-    "policyViolationsCount": "A String", # Count of child resources in violation of the policy.
-  },
-  "processes": [ # Represents operating system processes associated with the Finding.
-    { # Represents an operating system process.
-      "args": [ # Process arguments as JSON encoded strings.
+  "parent": "A String",
+  "parentDisplayName": "A String",
+  "policyViolationSummary": {
+    "conformantResourcesCount": "A String",
+    "evaluationErrorsCount": "A String",
+    "outOfScopeResourcesCount": "A String",
+    "policyViolationsCount": "A String",
+  },
+  "processes": [
+    {
+      "args": [
         "A String",
       ],
-      "argumentsTruncated": True or False, # True if `args` is incomplete.
-      "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "argumentsTruncated": True or False,
+      "binary": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "envVariables": [ # Process environment variables.
-        { # A name-value pair representing an environment variable used in an operating system process.
-          "name": "A String", # Environment variable name as a JSON encoded string.
-          "val": "A String", # Environment variable value as a JSON encoded string.
+      "envVariables": [
+        {
+          "name": "A String",
+          "val": "A String",
         },
       ],
-      "envVariablesTruncated": True or False, # True if `env_variables` is incomplete.
-      "libraries": [ # File information for libraries loaded by the process.
-        { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-          "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-          "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-            "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-            "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "envVariablesTruncated": True or False,
+      "libraries": [
+        {
+          "contents": "A String",
+          "diskPath": {
+            "partitionUuid": "A String",
+            "relativePath": "A String",
           },
-          "fileLoadState": "A String", # The load state of the file.
-          "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-          "operations": [ # Operation(s) performed on a file.
-            { # Operation(s) performed on a file.
-              "type": "A String", # The type of the operation
+          "fileLoadState": "A String",
+          "hashedSize": "A String",
+          "operations": [
+            {
+              "type": "A String",
             },
           ],
-          "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-          "path": "A String", # Absolute path of the file as a JSON encoded string.
-          "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-          "size": "A String", # Size of the file in bytes.
+          "partiallyHashed": True or False,
+          "path": "A String",
+          "sha256": "A String",
+          "size": "A String",
         },
       ],
-      "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
-      "parentPid": "A String", # The parent process ID.
-      "pid": "A String", # The process ID.
-      "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "name": "A String",
+      "parentPid": "A String",
+      "pid": "A String",
+      "script": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0.
+      "userId": "A String",
     },
   ],
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding.
-    "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret.
-      "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.
+  "resourceName": "A String",
+  "secret": {
+    "environmentVariable": {
+      "key": "A String",
     },
-    "filePath": { # File path containing the secret. # The file containing the secret.
-      "path": "A String", # Path to the file.
+    "filePath": {
+      "path": "A String",
     },
-    "status": { # The status of the secret. # The status of the secret.
-      "lastUpdatedTime": "A String", # Time that the secret was found.
-      "validity": "A String", # The validity of the secret.
+    "status": {
+      "lastUpdatedTime": "A String",
+      "validity": "A String",
     },
-    "type": "A String", # The type of secret, for example, GCP_API_KEY.
+    "type": "A String",
   },
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+  "securityMarks": {
+    "canonicalName": "A String",
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
-  },
-  "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding.
-    "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.
-    "name": "A String", # Name of the posture, for example, `CIS-Posture`.
-    "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`.
-    "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture.
-      { # The policy field that violates the deployed posture and its expected and detected values.
-        "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`.
-        "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`.
-        "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce
+    "name": "A String",
+  },
+  "securityPosture": {
+    "changedPolicy": "A String",
+    "name": "A String",
+    "policy": "A String",
+    "policyDriftDetails": [
+      {
+        "detectedValue": "A String",
+        "expectedValue": "A String",
+        "field": "A String",
       },
     ],
-    "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`.
-    "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.
-    "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.
-    "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`.
+    "policySet": "A String",
+    "postureDeployment": "A String",
+    "postureDeploymentResource": "A String",
+    "revisionId": "A String",
   },
-  "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding.
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "severity": "A String",
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
-  "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests.
-    "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.
-    "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.
+  "state": "A String",
+  "toxicCombination": {
+    "attackExposureScore": 3.14,
+    "relatedFindings": [
       "A String",
     ],
   },
-  "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding.
-    "datasets": [ # Datasets associated with the finding.
-      { # Vertex AI dataset associated with the finding.
-        "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset
-        "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856
-        "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod
+  "vertexAi": {
+    "datasets": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+        "source": "A String",
       },
     ],
-    "pipelines": [ # Pipelines associated with the finding.
-      { # Vertex AI training pipeline associated with the finding.
-        "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification
-        "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496
+    "pipelines": [
+      {
+        "displayName": "A String",
+        "name": "A String",
       },
     ],
   },
-  "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-    "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-      "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document
-        "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
-        "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.
-        "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
-        "baseScore": 3.14, # The base score is a function of the base metric scores.
-        "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
-        "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability.
-        "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
-        "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
-        "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
+  "vulnerability": {
+    "cve": {
+      "cvssv3": {
+        "attackComplexity": "A String",
+        "attackVector": "A String",
+        "availabilityImpact": "A String",
+        "baseScore": 3.14,
+        "confidentialityImpact": "A String",
+        "integrityImpact": "A String",
+        "privilegesRequired": "A String",
+        "scope": "A String",
+        "userInteraction": "A String",
       },
-      "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released.
-      "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild.
-      "firstExploitationDate": "A String", # Date of the earliest known exploitation.
-      "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527
-      "impact": "A String", # The potential impact of the vulnerability if it was to be exploited.
-      "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild.
-      "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
-        { # Additional Links
-          "source": "A String", # Source of the reference e.g. NVD
-          "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "exploitReleaseDate": "A String",
+      "exploitationActivity": "A String",
+      "firstExploitationDate": "A String",
+      "id": "A String",
+      "impact": "A String",
+      "observedInTheWild": True or False,
+      "references": [
+        {
+          "source": "A String",
+          "uri": "A String",
         },
       ],
-      "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE.
-      "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published.
-    },
-    "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.
-      { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).
-        "id": "A String", # The CWE identifier, e.g. CWE-94
-        "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html
-          { # Additional Links
-            "source": "A String", # Source of the reference e.g. NVD
-            "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "upstreamFixAvailable": True or False,
+      "zeroDay": True or False,
+    },
+    "cwes": [
+      {
+        "id": "A String",
+        "references": [
+          {
+            "source": "A String",
+            "uri": "A String",
           },
         ],
       },
     ],
-    "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "fixedPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "offendingPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.
-    "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis)
-    "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding.
-      "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability.
-      "submissionTime": "A String", # Submission time of this Security Bulletin.
-      "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0
+    "providerRiskScore": "A String",
+    "reachable": True or False,
+    "securityBulletin": {
+      "bulletinId": "A String",
+      "submissionTime": "A String",
+      "suggestedUpgradeVersion": "A String",
     },
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1971,811 +1971,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -2783,15 +2783,15 @@

Method Details

setMute(name, body=None, x__xgafv=None) -
Updates the mute state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's mute status.
-  "mute": "A String", # Required. The desired state of the Mute.
+{
+  "mute": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -2802,811 +2802,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -3614,16 +3614,16 @@

Method Details

setState(name, body=None, x__xgafv=None) -
Updates the state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's state.
-  "startTime": "A String", # Optional. The time at which the updated state takes effect. If unset, defaults to the request time.
-  "state": "A String", # Required. The desired State of the finding.
+{
+  "startTime": "A String",
+  "state": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -3634,811 +3634,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -4446,23 +4446,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -4471,12 +4471,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.folders.sources.html b/docs/dyn/securitycenter_v1.folders.sources.html index f25c7954d3..3120c37893 100644 --- a/docs/dyn/securitycenter_v1.folders.sources.html +++ b/docs/dyn/securitycenter_v1.folders.sources.html @@ -84,7 +84,7 @@

Instance Methods

Close httplib2 connections.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all sources belonging to an organization.

+

list_next()

Retrieves the next page of results.

@@ -96,12 +96,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all sources belonging to an organization.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -110,14 +110,14 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing sources. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "sources": [ # Sources belonging to the requested parent. - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "nextPageToken": "A String", + "sources": [ + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }, ], }
diff --git a/docs/dyn/securitycenter_v1.organizations.assets.html b/docs/dyn/securitycenter_v1.organizations.assets.html index ea859744a5..8fdfd60344 100644 --- a/docs/dyn/securitycenter_v1.organizations.assets.html +++ b/docs/dyn/securitycenter_v1.organizations.assets.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization's assets and groups them by their specified properties.

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization's assets.

+

list_next()

Retrieves the next page of results.

runDiscovery(parent, body=None, x__xgafv=None)

-

Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -103,20 +103,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization's assets and groups them by their specified properties.
+  
 
 Args:
-  parent: string, Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by assets.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -127,18 +127,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for grouping by assets. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -158,17 +158,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization's assets.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  compareDuration: string, When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time.
-  fieldMask: string, A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -177,52 +177,52 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing assets. - "listAssetsResults": [ # Assets matching the list request. - { # Result containing the Asset and its State. - "asset": { # Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. # Asset matching the search request. - "canonicalName": "A String", # The canonical name of the resource. It's either "organizations/{organization_id}/assets/{asset_id}", "folders/{folder_id}/assets/{asset_id}" or "projects/{project_number}/assets/{asset_id}", depending on the closest CRM ancestor of the resource. - "createTime": "A String", # The time at which the asset was created in Security Command Center. - "iamPolicy": { # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. - "policyBlob": "A String", # The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details. + { + "listAssetsResults": [ + { + "asset": { + "canonicalName": "A String", + "createTime": "A String", + "iamPolicy": { + "policyBlob": "A String", }, - "name": "A String", # The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/assets/{asset_id}". - "resourceProperties": { # Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. + "name": "A String", + "resourceProperties": { "a_key": "", }, - "securityCenterProperties": { # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "securityCenterProperties": { + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "resourceDisplayName": "A String", # The user defined display name for this resource. - "resourceName": "A String", # The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceOwners": [ # Owners of the Google Cloud resource. + "resourceDisplayName": "A String", + "resourceName": "A String", + "resourceOwners": [ "A String", ], - "resourceParent": "A String", # The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceParentDisplayName": "A String", # The user defined display name for the parent of this resource. - "resourceProject": "A String", # The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceProjectDisplayName": "A String", # The user defined display name for the project of this resource. - "resourceType": "A String", # The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. + "resourceParent": "A String", + "resourceParentDisplayName": "A String", + "resourceProject": "A String", + "resourceProjectDisplayName": "A String", + "resourceType": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "updateTime": "A String", # The time at which the asset was last updated or added in Cloud SCC. + "updateTime": "A String", }, - "stateChange": "A String", # State change of the asset between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of assets matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -242,14 +242,14 @@

Method Details

runDiscovery(parent, body=None, x__xgafv=None) -
Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.
+  
 
 Args:
-  parent: string, Required. Name of the organization to run asset discovery for. Its format is `organizations/[organization_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for running asset discovery for an organization.
+{
 }
 
   x__xgafv: string, V1 error format.
@@ -260,22 +260,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
@@ -283,23 +283,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -308,12 +308,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.attackPaths.html b/docs/dyn/securitycenter_v1.organizations.attackPaths.html index 75cdb2fd15..c5bb5c40ff 100644 --- a/docs/dyn/securitycenter_v1.organizations.attackPaths.html +++ b/docs/dyn/securitycenter_v1.organizations.attackPaths.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the attack paths for a set of simulation results or valued resources and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,13 +91,13 @@

Method Details

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the attack paths for a set of simulation results or valued resources and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` (required)
-  filter: string, The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,45 +106,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the attack paths for a given simulation or valued resource. - "attackPaths": [ # The attack paths that the attack path simulation identified. - { # A path that an attacker could take to reach an exposed resource. - "edges": [ # A list of the edges between nodes in this attack path. - { # Represents a connection between a source node and a destination node in this attack path. - "destination": "A String", # The attack node uuid of the destination node. - "source": "A String", # The attack node uuid of the source node. + { + "attackPaths": [ + { + "edges": [ + { + "destination": "A String", + "source": "A String", }, ], - "name": "A String", # The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` - "pathNodes": [ # A list of nodes that exist in this attack path. - { # Represents one point that an attacker passes through in this attack path. - "associatedFindings": [ # The findings associated with this node in the attack path. - { # A finding that is associated with this node in the attack path. - "canonicalFinding": "A String", # Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789` - "findingCategory": "A String", # The additional taxonomy group within findings from a given source. - "name": "A String", # Full resource name of the finding. + "name": "A String", + "pathNodes": [ + { + "associatedFindings": [ + { + "canonicalFinding": "A String", + "findingCategory": "A String", + "name": "A String", }, ], - "attackSteps": [ # A list of attack step nodes that exist in this attack path node. - { # Detailed steps the attack can take between path nodes. - "description": "A String", # Attack step description - "displayName": "A String", # User friendly name of the attack step - "labels": { # Attack step labels for metadata + "attackSteps": [ + { + "description": "A String", + "displayName": "A String", + "labels": { "a_key": "A String", }, - "type": "A String", # Attack step type. Can be either AND, OR or DEFENSE - "uuid": "A String", # Unique ID for one Node + "type": "A String", + "uuid": "A String", }, ], - "displayName": "A String", # Human-readable name of this resource. - "resource": "A String", # The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format) - "resourceType": "A String", # The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - "uuid": "A String", # Unique id of the attack path node. + "displayName": "A String", + "resource": "A String", + "resourceType": "A String", + "uuid": "A String", }, ], }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.bigQueryExports.html b/docs/dyn/securitycenter_v1.organizations.bigQueryExports.html index 1e84b16722..094309b122 100644 --- a/docs/dyn/securitycenter_v1.organizations.bigQueryExports.html +++ b/docs/dyn/securitycenter_v1.organizations.bigQueryExports.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, bigQueryExportId=None, body=None, x__xgafv=None)

-

Creates a BigQuery export.

+

delete(name, x__xgafv=None)

-

Deletes an existing BigQuery export.

+

get(name, x__xgafv=None)

-

Gets a BigQuery export.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a BigQuery export.

+

Method Details

close() @@ -103,25 +103,25 @@

Method Details

create(parent, bigQueryExportId=None, body=None, x__xgafv=None) -
Creates a BigQuery export.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  bigQueryExportId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  bigQueryExportId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -130,24 +130,24 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing BigQuery export.
+  
 
 Args:
-  name: string, Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -156,16 +156,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a BigQuery export.
+  
 
 Args:
-  name: string, Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -174,26 +174,26 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -202,20 +202,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing BigQuery exports. - "bigQueryExports": [ # The BigQuery exports from the specified parent. - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "bigQueryExports": [ + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -235,25 +235,25 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a BigQuery export.
+  
 
 Args:
-  name: string, The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -262,15 +262,15 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.customModules.html b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.customModules.html index 9d0d7aab54..7cbf9363fe 100644 --- a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Gets an Event Threat Detection custom module.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,7 +100,7 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.

+

Method Details

close() @@ -109,26 +109,26 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -139,28 +139,28 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -169,16 +169,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets an Event Threat Detection custom module.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -187,30 +187,30 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -219,35 +219,35 @@ 

Method Details

Returns: An object of the form: - { # Response for listing Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -256,24 +256,24 @@ 

Method Details

Returns: An object of the form: - { # Response for listing current and descendant resident Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -307,29 +307,29 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.
+  
 
 Args:
-  name: string, Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -338,19 +338,19 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.effectiveCustomModules.html index 1cb28e3884..911cea0c59 100644 --- a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Gets an effective Event Threat Detection custom module at the given level.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Gets an effective Event Threat Detection custom module at the given level.
+  
 
 Args:
-  name: string, Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,27 +106,27 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -135,21 +135,21 @@ 

Method Details

Returns: An object of the form: - { # Response for listing EffectiveEventThreatDetectionCustomModules. - "effectiveEventThreatDetectionCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "effectiveEventThreatDetectionCustomModules": [ + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.html index 59aa5cada7..064ea60c4f 100644 --- a/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1.organizations.eventThreatDetectionSettings.html @@ -89,7 +89,7 @@

Instance Methods

Close httplib2 connections.

validateCustomModule(parent, body=None, x__xgafv=None)

-

Validates the given Event Threat Detection custom module.

+

Method Details

close() @@ -98,16 +98,16 @@

Method Details

validateCustomModule(parent, body=None, x__xgafv=None) -
Validates the given Event Threat Detection custom module.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request to validate an Event Threat Detection custom module.
-  "rawText": "A String", # Required. The raw text of the module's contents. Used to generate error messages.
-  "type": "A String", # Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).
+{
+  "rawText": "A String",
+  "type": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -118,19 +118,19 @@ 

Method Details

Returns: An object of the form: - { # Response to validating an Event Threat Detection custom module. - "errors": { # A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. # A list of errors returned by the validator. If the list is empty, there were no errors. - "errors": [ # The list of errors. - { # An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. - "description": "A String", # A description of the error, suitable for human consumption. Required. - "end": { # A position in the uploaded text version of a module. # The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + { + "errors": { + "errors": [ + { + "description": "A String", + "end": { + "columnNumber": 42, + "lineNumber": 42, }, - "fieldPath": "A String", # The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected. - "start": { # A position in the uploaded text version of a module. # The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + "fieldPath": "A String", + "start": { + "columnNumber": 42, + "lineNumber": 42, }, }, ], diff --git a/docs/dyn/securitycenter_v1.organizations.findings.html b/docs/dyn/securitycenter_v1.organizations.findings.html index a52782f0fa..5eefc4ae01 100644 --- a/docs/dyn/securitycenter_v1.organizations.findings.html +++ b/docs/dyn/securitycenter_v1.organizations.findings.html @@ -76,24 +76,24 @@

Security Command Center API . bulkMute(parent, body=None, x__xgafv=None)

-

Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.

+

close()

Close httplib2 connections.

Method Details

bulkMute(parent, body=None, x__xgafv=None) -
Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.
+  
 
 Args:
-  parent: string, Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.
-  "filter": "A String", # Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "muteAnnotation": "A String", # This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.
-  "muteState": "A String", # Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings.
+{
+  "filter": "A String",
+  "muteAnnotation": "A String",
+  "muteState": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -104,22 +104,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
diff --git a/docs/dyn/securitycenter_v1.organizations.html b/docs/dyn/securitycenter_v1.organizations.html index 46bc1a276b..ef98e9b991 100644 --- a/docs/dyn/securitycenter_v1.organizations.html +++ b/docs/dyn/securitycenter_v1.organizations.html @@ -149,10 +149,10 @@

Instance Methods

Close httplib2 connections.

getOrganizationSettings(name, x__xgafv=None)

-

Gets the settings for an organization.

+

updateOrganizationSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Updates an organization's settings.

+

Method Details

close() @@ -161,10 +161,10 @@

Method Details

getOrganizationSettings(name, x__xgafv=None) -
Gets the settings for an organization.
+  
 
 Args:
-  name: string, Required. Name of the organization to get organization settings for. Its format is `organizations/[organization_id]/organizationSettings`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -173,45 +173,45 @@ 

Method Details

Returns: An object of the form: - { # User specified settings that are attached to the Security Command Center organization. - "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs. - "folderIds": [ # The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966. + { + "assetDiscoveryConfig": { + "folderIds": [ "A String", ], - "inclusionMode": "A String", # The mode to use for filtering asset discovery. - "projectIds": [ # The project ids to use for filtering asset discovery. + "inclusionMode": "A String", + "projectIds": [ "A String", ], }, - "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". + "enableAssetDiscovery": True or False, + "name": "A String", }
updateOrganizationSettings(name, body=None, updateMask=None, x__xgafv=None) -
Updates an organization's settings.
+  
 
 Args:
-  name: string, The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified settings that are attached to the Security Command Center organization.
-  "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs.
-    "folderIds": [ # The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966.
+{
+  "assetDiscoveryConfig": {
+    "folderIds": [
       "A String",
     ],
-    "inclusionMode": "A String", # The mode to use for filtering asset discovery.
-    "projectIds": [ # The project ids to use for filtering asset discovery.
+    "inclusionMode": "A String",
+    "projectIds": [
       "A String",
     ],
   },
-  "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.
-  "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings".
+  "enableAssetDiscovery": True or False,
+  "name": "A String",
 }
 
-  updateMask: string, The FieldMask to use when updating the settings resource. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,18 +220,18 @@ 

Method Details

Returns: An object of the form: - { # User specified settings that are attached to the Security Command Center organization. - "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs. - "folderIds": [ # The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966. + { + "assetDiscoveryConfig": { + "folderIds": [ "A String", ], - "inclusionMode": "A String", # The mode to use for filtering asset discovery. - "projectIds": [ # The project ids to use for filtering asset discovery. + "inclusionMode": "A String", + "projectIds": [ "A String", ], }, - "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". + "enableAssetDiscovery": True or False, + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.locations.muteConfigs.html b/docs/dyn/securitycenter_v1.organizations.locations.muteConfigs.html index 0a43db42c3..37596d2e2e 100644 --- a/docs/dyn/securitycenter_v1.organizations.locations.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.organizations.locations.muteConfigs.html @@ -79,13 +79,13 @@

Instance Methods

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -94,10 +94,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,16 +106,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -124,41 +124,41 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,16 +167,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.muteConfigs.html b/docs/dyn/securitycenter_v1.organizations.muteConfigs.html index 786262353e..869eeac196 100644 --- a/docs/dyn/securitycenter_v1.organizations.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.organizations.muteConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, muteConfigId=None, x__xgafv=None)

-

Creates a mute config.

+

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists mute configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -103,26 +103,26 @@

Method Details

create(parent, body=None, muteConfigId=None, x__xgafv=None) -
Creates a mute config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  muteConfigId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  muteConfigId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -131,25 +131,25 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,16 +158,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -176,27 +176,27 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists mute configs.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -205,21 +205,21 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing mute configs. - "muteConfigs": [ # The mute configs from the specified parent. - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "muteConfigs": [ + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -239,26 +239,26 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -267,16 +267,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.notificationConfigs.html b/docs/dyn/securitycenter_v1.organizations.notificationConfigs.html index 637df17bd3..ab9b4d7839 100644 --- a/docs/dyn/securitycenter_v1.organizations.notificationConfigs.html +++ b/docs/dyn/securitycenter_v1.organizations.notificationConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, configId=None, x__xgafv=None)

-

Creates a notification config.

+

delete(name, x__xgafv=None)

-

Deletes a notification config.

+

get(name, x__xgafv=None)

-

Gets a notification config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists notification configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter

+

Method Details

close() @@ -103,24 +103,24 @@

Method Details

create(parent, body=None, configId=None, x__xgafv=None) -
Creates a notification config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  configId: string, Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.
+  configId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -129,23 +129,23 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
delete(name, x__xgafv=None) -
Deletes a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -154,16 +154,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -172,25 +172,25 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists notification configs.
+  
 
 Args:
-  parent: string, Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -199,16 +199,16 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing notification configs. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "notificationConfigs": [ # Notification configs belonging to the requested parent. - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "nextPageToken": "A String", + "notificationConfigs": [ + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }, ], @@ -231,24 +231,24 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
 Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter
+  
 
 Args:
-  name: string, The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,13 +257,13 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.organizations.operations.html b/docs/dyn/securitycenter_v1.organizations.operations.html index 201c136efd..c9d583207b 100644 --- a/docs/dyn/securitycenter_v1.organizations.operations.html +++ b/docs/dyn/securitycenter_v1.organizations.operations.html @@ -76,29 +76,29 @@

Security Command Center API . cancel(name, x__xgafv=None)

-

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.

+

close()

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

get(name, x__xgafv=None)

-

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

+

list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

-

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

+

list_next()

Retrieves the next page of results.

Method Details

cancel(name, x__xgafv=None) -
Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
+  
 
 Args:
-  name: string, The name of the operation resource to be cancelled. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -107,7 +107,7 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
@@ -118,10 +118,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
+  
 
 Args:
-  name: string, The name of the operation resource to be deleted. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -130,16 +130,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+  
 
 Args:
-  name: string, The name of the operation resource. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -148,22 +148,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
@@ -171,14 +171,14 @@

Method Details

list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) -
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
+  
 
 Args:
-  name: string, The name of the operation's parent resource. (required)
-  filter: string, The standard list filter.
-  pageSize: integer, The standard list page size.
-  pageToken: string, The standard list page token.
-  returnPartialSuccess: boolean, When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
+  name: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  returnPartialSuccess: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -187,30 +187,30 @@ 

Method Details

Returns: An object of the form: - { # The response message for Operations.ListOperations. - "nextPageToken": "A String", # The standard List next-page token. - "operations": [ # A list of operations that matches the specified filter in the request. - { # 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. + { + "nextPageToken": "A String", + "operations": [ + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }, ], - "unreachable": [ # Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + "unreachable": [ "A String", ], }
diff --git a/docs/dyn/securitycenter_v1.organizations.resourceValueConfigs.html b/docs/dyn/securitycenter_v1.organizations.resourceValueConfigs.html index 41d31a769d..18f0cd1ac2 100644 --- a/docs/dyn/securitycenter_v1.organizations.resourceValueConfigs.html +++ b/docs/dyn/securitycenter_v1.organizations.resourceValueConfigs.html @@ -76,58 +76,58 @@

Security Command Center API . batchCreate(parent, body=None, x__xgafv=None)

-

Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation.

+

close()

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes a ResourceValueConfig.

+

get(name, x__xgafv=None)

-

Gets a ResourceValueConfig.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all ResourceValueConfigs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates an existing ResourceValueConfigs with new rules.

+

Method Details

batchCreate(parent, body=None, x__xgafv=None) -
Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation.
+  
 
 Args:
-  parent: string, Required. Resource name of the new ResourceValueConfig's parent. The parent field in the CreateResourceValueConfigRequest messages must either be empty or match this field. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message to create multiple resource value configs
-  "requests": [ # Required. The resource value configs to be created.
-    { # Request message to create single resource value config
-      "parent": "A String", # Required. Resource name of the new ResourceValueConfig's parent.
-      "resourceValueConfig": { # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. # Required. The resource value config being created.
-        "cloudProvider": "A String", # Cloud provider this configuration applies to
-        "createTime": "A String", # Output only. Timestamp this resource value configuration was created.
-        "description": "A String", # Description of the resource value configuration.
-        "name": "A String", # Name for the resource value configuration
-        "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels
+{
+  "requests": [
+    {
+      "parent": "A String",
+      "resourceValueConfig": {
+        "cloudProvider": "A String",
+        "createTime": "A String",
+        "description": "A String",
+        "name": "A String",
+        "resourceLabelsSelector": {
           "a_key": "A String",
         },
-        "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources.
-        "resourceValue": "A String", # Required. Resource value level this expression represents
-        "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources.
-        "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset".
-          "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings
-          "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings
+        "resourceType": "A String",
+        "resourceValue": "A String",
+        "scope": "A String",
+        "sensitiveDataProtectionMapping": {
+          "highSensitivityMapping": "A String",
+          "mediumSensitivityMapping": "A String",
         },
-        "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
+        "tagValues": [
           "A String",
         ],
-        "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated.
+        "updateTime": "A String",
       },
     },
   ],
@@ -141,27 +141,27 @@ 

Method Details

Returns: An object of the form: - { # Response message for BatchCreateResourceValueConfigs - "resourceValueConfigs": [ # The resource value configs created - { # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - "cloudProvider": "A String", # Cloud provider this configuration applies to - "createTime": "A String", # Output only. Timestamp this resource value configuration was created. - "description": "A String", # Description of the resource value configuration. - "name": "A String", # Name for the resource value configuration - "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels + { + "resourceValueConfigs": [ + { + "cloudProvider": "A String", + "createTime": "A String", + "description": "A String", + "name": "A String", + "resourceLabelsSelector": { "a_key": "A String", }, - "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - "resourceValue": "A String", # Required. Resource value level this expression represents - "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings - "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings + "resourceType": "A String", + "resourceValue": "A String", + "scope": "A String", + "sensitiveDataProtectionMapping": { + "highSensitivityMapping": "A String", + "mediumSensitivityMapping": "A String", }, - "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + "tagValues": [ "A String", ], - "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated. + "updateTime": "A String", }, ], }
@@ -174,10 +174,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes a ResourceValueConfig.
+  
 
 Args:
-  name: string, Required. Name of the ResourceValueConfig to delete (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -186,16 +186,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a ResourceValueConfig.
+  
 
 Args:
-  name: string, Required. Name of the resource value config to retrieve. Its format is `organizations/{organization}/resourceValueConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -204,36 +204,36 @@ 

Method Details

Returns: An object of the form: - { # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - "cloudProvider": "A String", # Cloud provider this configuration applies to - "createTime": "A String", # Output only. Timestamp this resource value configuration was created. - "description": "A String", # Description of the resource value configuration. - "name": "A String", # Name for the resource value configuration - "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels + { + "cloudProvider": "A String", + "createTime": "A String", + "description": "A String", + "name": "A String", + "resourceLabelsSelector": { "a_key": "A String", }, - "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - "resourceValue": "A String", # Required. Resource value level this expression represents - "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings - "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings + "resourceType": "A String", + "resourceValue": "A String", + "scope": "A String", + "sensitiveDataProtectionMapping": { + "highSensitivityMapping": "A String", + "mediumSensitivityMapping": "A String", }, - "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + "tagValues": [ "A String", ], - "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated. + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all ResourceValueConfigs.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of resource value configs. Its format is `organizations/[organization_id]` (required)
-  pageSize: integer, The number of results to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListResourceValueConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListResourceValueConfigs` must match the call that provided the page token. page_size can be specified, and the new page_size will be used.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -242,28 +242,28 @@ 

Method Details

Returns: An object of the form: - { # Response message to list resource value configs - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. - "resourceValueConfigs": [ # The resource value configs from the specified parent. - { # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - "cloudProvider": "A String", # Cloud provider this configuration applies to - "createTime": "A String", # Output only. Timestamp this resource value configuration was created. - "description": "A String", # Description of the resource value configuration. - "name": "A String", # Name for the resource value configuration - "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels + { + "nextPageToken": "A String", + "resourceValueConfigs": [ + { + "cloudProvider": "A String", + "createTime": "A String", + "description": "A String", + "name": "A String", + "resourceLabelsSelector": { "a_key": "A String", }, - "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - "resourceValue": "A String", # Required. Resource value level this expression represents - "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings - "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings + "resourceType": "A String", + "resourceValue": "A String", + "scope": "A String", + "sensitiveDataProtectionMapping": { + "highSensitivityMapping": "A String", + "mediumSensitivityMapping": "A String", }, - "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + "tagValues": [ "A String", ], - "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated. + "updateTime": "A String", }, ], }
@@ -285,35 +285,35 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates an existing ResourceValueConfigs with new rules.
+  
 
 Args:
-  name: string, Name for the resource value configuration (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.
-  "cloudProvider": "A String", # Cloud provider this configuration applies to
-  "createTime": "A String", # Output only. Timestamp this resource value configuration was created.
-  "description": "A String", # Description of the resource value configuration.
-  "name": "A String", # Name for the resource value configuration
-  "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels
+{
+  "cloudProvider": "A String",
+  "createTime": "A String",
+  "description": "A String",
+  "name": "A String",
+  "resourceLabelsSelector": {
     "a_key": "A String",
   },
-  "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources.
-  "resourceValue": "A String", # Required. Resource value level this expression represents
-  "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources.
-  "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset".
-    "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings
-    "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings
+  "resourceType": "A String",
+  "resourceValue": "A String",
+  "scope": "A String",
+  "sensitiveDataProtectionMapping": {
+    "highSensitivityMapping": "A String",
+    "mediumSensitivityMapping": "A String",
   },
-  "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
+  "tagValues": [
     "A String",
   ],
-  "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated.
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -322,25 +322,25 @@ 

Method Details

Returns: An object of the form: - { # A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - "cloudProvider": "A String", # Cloud provider this configuration applies to - "createTime": "A String", # Output only. Timestamp this resource value configuration was created. - "description": "A String", # Description of the resource value configuration. - "name": "A String", # Name for the resource value configuration - "resourceLabelsSelector": { # List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels + { + "cloudProvider": "A String", + "createTime": "A String", + "description": "A String", + "name": "A String", + "resourceLabelsSelector": { "a_key": "A String", }, - "resourceType": "A String", # Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - "resourceValue": "A String", # Required. Resource value level this expression represents - "scope": "A String", # Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - "sensitiveDataProtectionMapping": { # Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. # A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - "highSensitivityMapping": "A String", # Resource value mapping for high-sensitivity Sensitive Data Protection findings - "mediumSensitivityMapping": "A String", # Resource value mapping for medium-sensitivity Sensitive Data Protection findings + "resourceType": "A String", + "resourceValue": "A String", + "scope": "A String", + "sensitiveDataProtectionMapping": { + "highSensitivityMapping": "A String", + "mediumSensitivityMapping": "A String", }, - "tagValues": [ # Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + "tagValues": [ "A String", ], - "updateTime": "A String", # Output only. Timestamp this resource value configuration was last updated. + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html index ce7c2551b4..96341b8f0b 100644 --- a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Retrieves a SecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,10 +100,10 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.

+

simulate(parent, body=None, x__xgafv=None)

-

Simulates a given SecurityHealthAnalyticsCustomModule and Resource.

+

Method Details

close() @@ -112,50 +112,50 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -166,52 +166,52 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,16 +220,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Retrieves a SecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,54 +238,54 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -294,46 +294,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -341,12 +341,12 @@

Method Details

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.
+  
 
 Args:
-  parent: string, Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -355,46 +355,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing descendant Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent and its descendants. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -430,53 +430,53 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.
+  
 
 Args:
-  name: string, Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -485,121 +485,121 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
simulate(parent, body=None, x__xgafv=None) -
Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
+  
 
 Args:
-  parent: string, Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Required. The custom configuration that you need to test.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "resource": { # Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data. # Required. Resource data to simulate custom module against.
-    "iamPolicyData": { # 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/). # Optional. A representation of the IAM policy.
-      "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-        { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-          "auditLogConfigs": [ # The configuration for logging of each type of permission.
-            { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-              "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+  "resource": {
+    "iamPolicyData": {
+      "auditConfigs": [
+        {
+          "auditLogConfigs": [
+            {
+              "exemptedMembers": [
                 "A String",
               ],
-              "logType": "A String", # The log type that this config enables.
+              "logType": "A String",
             },
           ],
-          "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+          "service": "A String",
         },
       ],
-      "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.
+      "bindings": [
+        {
+          "condition": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
-          "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`.
+          "members": [
             "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).
+          "role": "A String",
         },
       ],
-      "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).
+      "etag": "A String",
+      "version": 42,
     },
-    "resourceData": { # Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format.
+    "resourceData": {
       "a_key": "", # Properties of the object.
     },
-    "resourceType": "A String", # Required. The type of the resource, for example, `compute.googleapis.com/Disk`.
+    "resourceType": "A String",
   },
 }
 
@@ -611,826 +611,826 @@ 

Method Details

Returns: An object of the form: - { # Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource. - "result": { # Possible test result. # Result for test case in the corresponding request. - "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). # Error encountered during the test. - "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. + { + "result": { + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding that would be published for the test case, if a violation is detected. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "noViolation": { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } # Indicates that the test case does not trigger any violation. + "noViolation": { }, }, }
diff --git a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.html index 50e9066a1a..7c0819530c 100644 --- a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,51 +106,51 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,45 +159,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing effective Security Health Analytics custom modules. - "effectiveSecurityHealthAnalyticsCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "effectiveSecurityHealthAnalyticsCustomModules": [ + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }, ], - "nextPageToken": "A String", # If not empty, indicates that there may be more effective custom modules to be returned. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.attackPaths.html b/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.attackPaths.html index e310178f4f..b1e795f073 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.attackPaths.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.attackPaths.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the attack paths for a set of simulation results or valued resources and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,13 +91,13 @@

Method Details

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the attack paths for a set of simulation results or valued resources and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` (required)
-  filter: string, The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,45 +106,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the attack paths for a given simulation or valued resource. - "attackPaths": [ # The attack paths that the attack path simulation identified. - { # A path that an attacker could take to reach an exposed resource. - "edges": [ # A list of the edges between nodes in this attack path. - { # Represents a connection between a source node and a destination node in this attack path. - "destination": "A String", # The attack node uuid of the destination node. - "source": "A String", # The attack node uuid of the source node. + { + "attackPaths": [ + { + "edges": [ + { + "destination": "A String", + "source": "A String", }, ], - "name": "A String", # The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` - "pathNodes": [ # A list of nodes that exist in this attack path. - { # Represents one point that an attacker passes through in this attack path. - "associatedFindings": [ # The findings associated with this node in the attack path. - { # A finding that is associated with this node in the attack path. - "canonicalFinding": "A String", # Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789` - "findingCategory": "A String", # The additional taxonomy group within findings from a given source. - "name": "A String", # Full resource name of the finding. + "name": "A String", + "pathNodes": [ + { + "associatedFindings": [ + { + "canonicalFinding": "A String", + "findingCategory": "A String", + "name": "A String", }, ], - "attackSteps": [ # A list of attack step nodes that exist in this attack path node. - { # Detailed steps the attack can take between path nodes. - "description": "A String", # Attack step description - "displayName": "A String", # User friendly name of the attack step - "labels": { # Attack step labels for metadata + "attackSteps": [ + { + "description": "A String", + "displayName": "A String", + "labels": { "a_key": "A String", }, - "type": "A String", # Attack step type. Can be either AND, OR or DEFENSE - "uuid": "A String", # Unique ID for one Node + "type": "A String", + "uuid": "A String", }, ], - "displayName": "A String", # Human-readable name of this resource. - "resource": "A String", # The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format) - "resourceType": "A String", # The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - "uuid": "A String", # Unique id of the attack path node. + "displayName": "A String", + "resource": "A String", + "resourceType": "A String", + "uuid": "A String", }, ], }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.valuedResources.html b/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.valuedResources.html index f9b2f9492c..0869d5a02b 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.valuedResources.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.attackExposureResults.valuedResources.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the valued resources for a set of simulation results and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,14 +91,14 @@

Method Details

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the valued resources for a set of simulation results and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` (required)
-  filter: string, The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =
-  orderBy: string, Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -107,20 +107,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the valued resources for a given simulation. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "totalSize": 42, # The estimated total number of results matching the query. - "valuedResources": [ # The valued resources that the attack path simulation identified. - { # A resource that is determined to have value to a user's system - "displayName": "A String", # Human-readable name of the valued resource. - "exposedScore": 3.14, # Exposed score for this valued resource. A value of 0 means no exposure was detected exposure. - "name": "A String", # Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789` - "resource": "A String", # The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource. - "resourceType": "A String", # The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. - "resourceValue": "A String", # How valuable this resource is. - "resourceValueConfigsUsed": [ # List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. - { # Metadata about a ResourceValueConfig. For example, id and name. - "name": "A String", # Resource value config name + { + "nextPageToken": "A String", + "totalSize": 42, + "valuedResources": [ + { + "displayName": "A String", + "exposedScore": 3.14, + "name": "A String", + "resource": "A String", + "resourceType": "A String", + "resourceValue": "A String", + "resourceValueConfigsUsed": [ + { + "name": "A String", }, ], }, diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.attackPaths.html b/docs/dyn/securitycenter_v1.organizations.simulations.attackPaths.html index dee2de1ce3..ba12d24cfd 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.attackPaths.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.attackPaths.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the attack paths for a set of simulation results or valued resources and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,13 +91,13 @@

Method Details

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the attack paths for a set of simulation results or valued resources and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` (required)
-  filter: string, The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,45 +106,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the attack paths for a given simulation or valued resource. - "attackPaths": [ # The attack paths that the attack path simulation identified. - { # A path that an attacker could take to reach an exposed resource. - "edges": [ # A list of the edges between nodes in this attack path. - { # Represents a connection between a source node and a destination node in this attack path. - "destination": "A String", # The attack node uuid of the destination node. - "source": "A String", # The attack node uuid of the source node. + { + "attackPaths": [ + { + "edges": [ + { + "destination": "A String", + "source": "A String", }, ], - "name": "A String", # The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` - "pathNodes": [ # A list of nodes that exist in this attack path. - { # Represents one point that an attacker passes through in this attack path. - "associatedFindings": [ # The findings associated with this node in the attack path. - { # A finding that is associated with this node in the attack path. - "canonicalFinding": "A String", # Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789` - "findingCategory": "A String", # The additional taxonomy group within findings from a given source. - "name": "A String", # Full resource name of the finding. + "name": "A String", + "pathNodes": [ + { + "associatedFindings": [ + { + "canonicalFinding": "A String", + "findingCategory": "A String", + "name": "A String", }, ], - "attackSteps": [ # A list of attack step nodes that exist in this attack path node. - { # Detailed steps the attack can take between path nodes. - "description": "A String", # Attack step description - "displayName": "A String", # User friendly name of the attack step - "labels": { # Attack step labels for metadata + "attackSteps": [ + { + "description": "A String", + "displayName": "A String", + "labels": { "a_key": "A String", }, - "type": "A String", # Attack step type. Can be either AND, OR or DEFENSE - "uuid": "A String", # Unique ID for one Node + "type": "A String", + "uuid": "A String", }, ], - "displayName": "A String", # Human-readable name of this resource. - "resource": "A String", # The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format) - "resourceType": "A String", # The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - "uuid": "A String", # Unique id of the attack path node. + "displayName": "A String", + "resource": "A String", + "resourceType": "A String", + "uuid": "A String", }, ], }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.html b/docs/dyn/securitycenter_v1.organizations.simulations.html index bc9074ec04..6d130327a9 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.html @@ -94,7 +94,7 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Get the simulation by name or the latest simulation for the given organization.

+

Method Details

close() @@ -103,10 +103,10 @@

Method Details

get(name, x__xgafv=None) -
Get the simulation by name or the latest simulation for the given organization.
+  
 
 Args:
-  name: string, Required. The organization name or simulation name of this simulation Valid format: `organizations/{organization}/simulations/latest` `organizations/{organization}/simulations/{simulation}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -115,13 +115,13 @@ 

Method Details

Returns: An object of the form: - { # Attack path simulation - "cloudProvider": "A String", # Indicates which cloud provider was used in this simulation. - "createTime": "A String", # Output only. Time simulation was created - "name": "A String", # Full resource name of the Simulation: `organizations/123/simulations/456` - "resourceValueConfigsMetadata": [ # Resource value configurations' metadata used in this simulation. Maximum of 100. - { # Metadata about a ResourceValueConfig. For example, id and name. - "name": "A String", # Resource value config name + { + "cloudProvider": "A String", + "createTime": "A String", + "name": "A String", + "resourceValueConfigsMetadata": [ + { + "name": "A String", }, ], }
diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.attackPaths.html b/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.attackPaths.html index fd22287b97..c20d31c4b3 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.attackPaths.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.attackPaths.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the attack paths for a set of simulation results or valued resources and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,13 +91,13 @@

Method Details

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the attack paths for a set of simulation results or valued resources and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` (required)
-  filter: string, The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,45 +106,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the attack paths for a given simulation or valued resource. - "attackPaths": [ # The attack paths that the attack path simulation identified. - { # A path that an attacker could take to reach an exposed resource. - "edges": [ # A list of the edges between nodes in this attack path. - { # Represents a connection between a source node and a destination node in this attack path. - "destination": "A String", # The attack node uuid of the destination node. - "source": "A String", # The attack node uuid of the source node. + { + "attackPaths": [ + { + "edges": [ + { + "destination": "A String", + "source": "A String", }, ], - "name": "A String", # The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` - "pathNodes": [ # A list of nodes that exist in this attack path. - { # Represents one point that an attacker passes through in this attack path. - "associatedFindings": [ # The findings associated with this node in the attack path. - { # A finding that is associated with this node in the attack path. - "canonicalFinding": "A String", # Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789` - "findingCategory": "A String", # The additional taxonomy group within findings from a given source. - "name": "A String", # Full resource name of the finding. + "name": "A String", + "pathNodes": [ + { + "associatedFindings": [ + { + "canonicalFinding": "A String", + "findingCategory": "A String", + "name": "A String", }, ], - "attackSteps": [ # A list of attack step nodes that exist in this attack path node. - { # Detailed steps the attack can take between path nodes. - "description": "A String", # Attack step description - "displayName": "A String", # User friendly name of the attack step - "labels": { # Attack step labels for metadata + "attackSteps": [ + { + "description": "A String", + "displayName": "A String", + "labels": { "a_key": "A String", }, - "type": "A String", # Attack step type. Can be either AND, OR or DEFENSE - "uuid": "A String", # Unique ID for one Node + "type": "A String", + "uuid": "A String", }, ], - "displayName": "A String", # Human-readable name of this resource. - "resource": "A String", # The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format) - "resourceType": "A String", # The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - "uuid": "A String", # Unique id of the attack path node. + "displayName": "A String", + "resource": "A String", + "resourceType": "A String", + "uuid": "A String", }, ], }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.html b/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.html index b7ae94a1ef..18dea063af 100644 --- a/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.html +++ b/docs/dyn/securitycenter_v1.organizations.simulations.valuedResources.html @@ -84,10 +84,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Get the valued resource by name

+

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the valued resources for a set of simulation results and filter.

+

list_next()

Retrieves the next page of results.

@@ -99,10 +99,10 @@

Method Details

get(name, x__xgafv=None) -
Get the valued resource by name
+  
 
 Args:
-  name: string, Required. The name of this valued resource Valid format: `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -111,16 +111,16 @@ 

Method Details

Returns: An object of the form: - { # A resource that is determined to have value to a user's system - "displayName": "A String", # Human-readable name of the valued resource. - "exposedScore": 3.14, # Exposed score for this valued resource. A value of 0 means no exposure was detected exposure. - "name": "A String", # Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789` - "resource": "A String", # The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource. - "resourceType": "A String", # The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. - "resourceValue": "A String", # How valuable this resource is. - "resourceValueConfigsUsed": [ # List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. - { # Metadata about a ResourceValueConfig. For example, id and name. - "name": "A String", # Resource value config name + { + "displayName": "A String", + "exposedScore": 3.14, + "name": "A String", + "resource": "A String", + "resourceType": "A String", + "resourceValue": "A String", + "resourceValueConfigsUsed": [ + { + "name": "A String", }, ], }
@@ -128,14 +128,14 @@

Method Details

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the valued resources for a set of simulation results and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` (required)
-  filter: string, The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =
-  orderBy: string, Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -144,20 +144,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the valued resources for a given simulation. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "totalSize": 42, # The estimated total number of results matching the query. - "valuedResources": [ # The valued resources that the attack path simulation identified. - { # A resource that is determined to have value to a user's system - "displayName": "A String", # Human-readable name of the valued resource. - "exposedScore": 3.14, # Exposed score for this valued resource. A value of 0 means no exposure was detected exposure. - "name": "A String", # Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789` - "resource": "A String", # The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource. - "resourceType": "A String", # The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. - "resourceValue": "A String", # How valuable this resource is. - "resourceValueConfigsUsed": [ # List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. - { # Metadata about a ResourceValueConfig. For example, id and name. - "name": "A String", # Resource value config name + { + "nextPageToken": "A String", + "totalSize": 42, + "valuedResources": [ + { + "displayName": "A String", + "exposedScore": 3.14, + "name": "A String", + "resource": "A String", + "resourceType": "A String", + "resourceValue": "A String", + "resourceValueConfigsUsed": [ + { + "name": "A String", }, ], }, diff --git a/docs/dyn/securitycenter_v1.organizations.sources.findings.externalSystems.html b/docs/dyn/securitycenter_v1.organizations.sources.findings.externalSystems.html index af12dbbccf..95586a2841 100644 --- a/docs/dyn/securitycenter_v1.organizations.sources.findings.externalSystems.html +++ b/docs/dyn/securitycenter_v1.organizations.sources.findings.externalSystems.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates external system. This is for a given finding.

+

Method Details

close() @@ -88,37 +88,37 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates external system. This is for a given finding.
+  
 
 Args:
-  name: string, Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Representation of third party SIEM/SOAR fields within SCC.
-  "assignees": [ # References primary/secondary etc assignees in the external system.
+{
+  "assignees": [
     "A String",
   ],
-  "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-  "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-  "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-  "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-  "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-  "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-  "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-  "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-  "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-  "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-    "assignee": "A String", # The assignee of the ticket in the ticket system.
-    "description": "A String", # The description of the ticket in the ticket system.
-    "id": "A String", # The identifier of the ticket in the ticket system.
-    "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-    "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-    "uri": "A String", # The link to the ticket in the ticket system.
+  "caseCloseTime": "A String",
+  "caseCreateTime": "A String",
+  "casePriority": "A String",
+  "caseSla": "A String",
+  "caseUri": "A String",
+  "externalSystemUpdateTime": "A String",
+  "externalUid": "A String",
+  "name": "A String",
+  "status": "A String",
+  "ticketInfo": {
+    "assignee": "A String",
+    "description": "A String",
+    "id": "A String",
+    "status": "A String",
+    "updateTime": "A String",
+    "uri": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -127,26 +127,26 @@ 

Method Details

Returns: An object of the form: - { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.organizations.sources.findings.html b/docs/dyn/securitycenter_v1.organizations.sources.findings.html index 5aaa2697c0..84ed32e42a 100644 --- a/docs/dyn/securitycenter_v1.organizations.sources.findings.html +++ b/docs/dyn/securitycenter_v1.organizations.sources.findings.html @@ -84,31 +84,31 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, findingId=None, x__xgafv=None)

-

Creates a finding. The corresponding source must exist for finding creation to succeed.

+

group(parent, body=None, x__xgafv=None)

-

Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.

+

setMute(name, body=None, x__xgafv=None)

-

Updates the mute state of a finding.

+

setState(name, body=None, x__xgafv=None)

-

Updates the state of a finding.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -117,823 +117,823 @@

Method Details

create(parent, body=None, findingId=None, x__xgafv=None) -
Creates a finding. The corresponding source must exist for finding creation to succeed.
+  
 
 Args:
-  parent: string, Required. Resource name of the new finding's parent. Its format should be `organizations/[organization_id]/sources/[source_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
-  "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where.
-    "callerIp": "A String", # Caller's IP address, such as "1.1.1.1".
-    "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from.
-      "regionCode": "A String", # A CLDR.
-    },
-    "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy".
-    "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).
-    "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.
-    "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.
-      { # Identity delegation history of an authenticated service account.
-        "principalEmail": "A String", # The email address of a Google account.
-        "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`
-      },
-    ],
-    "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}".
-    "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com"
-    "userAgent": "A String", # The caller's user agent string associated with the finding.
-    "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.
-    "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.
-  },
-  "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding.
-    "count": "A String", # The count of resources affected by the finding.
-  },
-  "agentDataAccessEvents": [ # Agent data access events associated with the finding.
-    { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalSubject": "A String", # The agent principal that accessed the data.
+{
+  "access": {
+    "callerIp": "A String",
+    "callerIpGeo": {
+      "regionCode": "A String",
+    },
+    "methodName": "A String",
+    "principalEmail": "A String",
+    "principalSubject": "A String",
+    "serviceAccountDelegationInfo": [
+      {
+        "principalEmail": "A String",
+        "principalSubject": "A String",
+      },
+    ],
+    "serviceAccountKeyName": "A String",
+    "serviceName": "A String",
+    "userAgent": "A String",
+    "userAgentFamily": "A String",
+    "userName": "A String",
+  },
+  "affectedResources": {
+    "count": "A String",
+  },
+  "agentDataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalSubject": "A String",
     },
   ],
-  "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding.
-    "deploymentPlatform": "A String", # The platform on which the model is deployed.
-    "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model
-    "domain": "A String", # The domain of the model, for example, “image-classification”.
-    "library": "A String", # The name of the model library, for example, “transformers”.
-    "location": "A String", # The region in which the model is used, for example, “us-central1”.
-    "name": "A String", # The name of the AI model, for example, "gemini:1.0.0".
-    "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”.
-    "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training".
-  },
-  "application": { # Represents an application associated with a finding. # Represents an application associated with the finding.
-    "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.
-    "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.
-  },
-  "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding.
-    "failingPolicies": [ # A list of failing policies.
-      { # Represents an artifact guard policy.
-        "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2".
-        "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy".
-        "type": "A String", # The type of the policy evaluation.
-      },
-    ],
-    "resourceId": "A String", # The ID of the resource that has policies configured for it.
-  },
-  "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding.
-    "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`
-    "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding.
-    "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding.
-    "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.
-    "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.
-  },
-  "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings.
-    "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.
-    "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
+  "aiModel": {
+    "deploymentPlatform": "A String",
+    "displayName": "A String",
+    "domain": "A String",
+    "library": "A String",
+    "location": "A String",
+    "name": "A String",
+    "publisher": "A String",
+    "usageCategory": "A String",
+  },
+  "application": {
+    "baseUri": "A String",
+    "fullUri": "A String",
+  },
+  "artifactGuardPolicies": {
+    "failingPolicies": [
+      {
+        "failureReason": "A String",
+        "policyId": "A String",
+        "type": "A String",
+      },
+    ],
+    "resourceId": "A String",
+  },
+  "attackExposure": {
+    "attackExposureResult": "A String",
+    "exposedHighValueResourcesCount": 42,
+    "exposedLowValueResourcesCount": 42,
+    "exposedMediumValueResourcesCount": 42,
+    "latestCalculationTime": "A String",
+    "score": 3.14,
+    "state": "A String",
+  },
+  "backupDisasterRecovery": {
+    "appliance": "A String",
+    "applications": [
       "A String",
     ],
-    "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created.
-    "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.
-    "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.
-    "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.
-    "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.
+    "backupCreateTime": "A String",
+    "backupTemplate": "A String",
+    "backupType": "A String",
+    "host": "A String",
+    "policies": [
       "A String",
     ],
-    "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.
+    "policyOptions": [
       "A String",
     ],
-    "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.
-    "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.
+    "profile": "A String",
+    "storagePool": "A String",
   },
-  "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests.
-    "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.
+  "canonicalName": "A String",
+  "category": "A String",
+  "chokepoint": {
+    "relatedFindings": [
       "A String",
     ],
   },
-  "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings.
-    "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview).
-      "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.
-    },
-    "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification.
-      "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
-      "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.
-      "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack.
-      "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.
-      "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack.
-    },
-    "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes).
-    "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview).
-      "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term.
-      "longTermDenied": 42, # Denied RPS (requests per second) over the long term.
-      "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.
-      "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term.
-    },
-    "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.
-      "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy".
-      "preview": True or False, # Whether or not the associated rule or policy is in preview mode.
-      "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.
-    },
-    "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks.
-  },
-  "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding.
-    "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.
-    "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.
-      { # Type of information detected by the API.
-        "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
-        "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
-          "score": "A String", # The sensitivity score applied to the resource.
+  "cloudArmor": {
+    "adaptiveProtection": {
+      "confidence": 3.14,
+    },
+    "attack": {
+      "classification": "A String",
+      "volumeBps": 42,
+      "volumeBpsLong": "A String",
+      "volumePps": 42,
+      "volumePpsLong": "A String",
+    },
+    "duration": "A String",
+    "requests": {
+      "longTermAllowed": 42,
+      "longTermDenied": 42,
+      "ratio": 3.14,
+      "shortTermAllowed": 42,
+    },
+    "securityPolicy": {
+      "name": "A String",
+      "preview": True or False,
+      "type": "A String",
+    },
+    "threatVector": "A String",
+  },
+  "cloudDlpDataProfile": {
+    "dataProfile": "A String",
+    "infoTypes": [
+      {
+        "name": "A String",
+        "sensitivityScore": {
+          "score": "A String",
         },
-        "version": "A String", # Optional version name for this InfoType.
+        "version": "A String",
       },
     ],
-    "parentType": "A String", # The resource hierarchy level at which the data profile was generated.
+    "parentType": "A String",
   },
-  "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding.
-    "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset.
-    "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.
-    "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource.
-    "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.
+  "cloudDlpInspection": {
+    "fullScan": True or False,
+    "infoType": "A String",
+    "infoTypeCount": "A String",
+    "inspectJob": "A String",
   },
-  "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding.
-    "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding
-      "cloudControlName": "A String", # Name of the CloudControl associated with the finding.
-      "policyType": "A String", # Policy type of the CloudControl
-      "type": "A String", # Type of cloud control.
-      "version": 42, # Version of the Cloud Control
+  "complianceDetails": {
+    "cloudControl": {
+      "cloudControlName": "A String",
+      "policyType": "A String",
+      "type": "A String",
+      "version": 42,
     },
-    "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier
+    "cloudControlDeploymentNames": [
       "A String",
     ],
-    "frameworks": [ # Details of Frameworks associated with the finding
-      { # Compliance framework associated with the finding.
-        "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads
+    "frameworks": [
+      {
+        "category": [
           "A String",
         ],
-        "controls": [ # The controls associated with the framework.
-          { # Compliance control associated with the finding.
-            "controlName": "A String", # Name of the Control
-            "displayName": "A String", # Display name of the control. For example, AU-02.
+        "controls": [
+          {
+            "controlName": "A String",
+            "displayName": "A String",
           },
         ],
-        "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework
-        "name": "A String", # Name of the framework associated with the finding
-        "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)
+        "displayName": "A String",
+        "name": "A String",
+        "type": "A String",
       },
     ],
   },
-  "compliances": [ # Contains compliance information for security standards associated to the finding.
-    { # Contains compliance information about a security standard indicating unmet recommendations.
-      "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1
+  "compliances": [
+    {
+      "ids": [
         "A String",
       ],
-      "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.
-      "version": "A String", # Version of the standard or benchmark, for example, 1.1
+      "standard": "A String",
+      "version": "A String",
     },
   ],
-  "connections": [ # Contains information about the IP connection associated with the finding.
-    { # Contains information about the IP connection associated with the finding.
-      "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected.
-      "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected.
-      "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17).
-      "sourceIp": "A String", # Source IP address.
-      "sourcePort": 42, # Source port.
+  "connections": [
+    {
+      "destinationIp": "A String",
+      "destinationPort": 42,
+      "protocol": "A String",
+      "sourceIp": "A String",
+      "sourcePort": 42,
     },
   ],
-  "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } }
-    "a_key": { # Details about specific contacts
-      "contacts": [ # A list of contacts
-        { # The email address of a contact.
-          "email": "A String", # An email address. For example, "`person123@company.com`".
+  "contacts": {
+    "a_key": {
+      "contacts": [
+        {
+          "email": "A String",
         },
       ],
     },
   },
-  "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.
-    { # Container associated with the finding.
-      "createTime": "A String", # The time that the container was created.
-      "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-      "labels": [ # Container labels, as provided by the container runtime.
-        { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-          "name": "A String", # Name of the label.
-          "value": "A String", # Value that corresponds to the label's name.
+  "containers": [
+    {
+      "createTime": "A String",
+      "imageId": "A String",
+      "labels": [
+        {
+          "name": "A String",
+          "value": "A String",
         },
       ],
-      "name": "A String", # Name of the container.
-      "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+      "name": "A String",
+      "uri": "A String",
     },
   ],
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "dataAccessEvents": [ # Data access events associated with the finding.
-    { # Details about a data access attempt made by a principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.
+  "createTime": "A String",
+  "dataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
     },
   ],
-  "dataFlowEvents": [ # Data flow events associated with the finding.
-    { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.
-      "eventId": "A String", # Unique identifier for data flow event.
-      "eventTime": "A String", # Timestamp of data flow event.
-      "operation": "A String", # The operation performed by the principal for the data flow event.
-      "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.
-      "violatedLocation": "A String", # Non-compliant location of the principal or the data destination.
+  "dataFlowEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
+      "violatedLocation": "A String",
     },
   ],
-  "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding.
-    { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.
-      "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.
-      "eventDetectionTime": "A String", # Timestamp indicating when the event was detected.
-      "eventType": "A String", # Type of the DRD event.
-      "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.
-      "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.
+  "dataRetentionDeletionEvents": [
+    {
+      "dataObjectCount": "A String",
+      "eventDetectionTime": "A String",
+      "eventType": "A String",
+      "maxRetentionAllowed": "A String",
+      "minRetentionAllowed": "A String",
     },
   ],
-  "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding.
-    "displayName": "A String", # The human-readable name of the database that the user connected to.
-    "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.
+  "database": {
+    "displayName": "A String",
+    "grantees": [
       "A String",
     ],
-    "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.
-    "query": "A String", # The SQL statement that is associated with the database access.
-    "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format.
-    "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
-  },
-  "description": "A String", # Contains more details about the finding.
-  "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding.
-    "confidence": "A String", # The confidence in detection of this workload.
-    "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type.
-    "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type.
-    "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type.
-    "workloadType": "A String", # The type of workload.
-  },
-  "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding.
-    "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}".
-  },
-  "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.
-  "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding.
-    "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "name": "A String",
+    "query": "A String",
+    "userName": "A String",
+    "version": "A String",
+  },
+  "description": "A String",
+  "discoveredWorkload": {
+    "confidence": "A String",
+    "detectedRelevantHardware": True or False,
+    "detectedRelevantKeywords": True or False,
+    "detectedRelevantPackages": True or False,
+    "workloadType": "A String",
+  },
+  "disk": {
+    "name": "A String",
+  },
+  "eventTime": "A String",
+  "exfiltration": {
+    "sources": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "targets": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
-      },
-    ],
-    "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job.
-  },
-  "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding.
-    "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}"
-    "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184".
-    "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”
-    "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
-    "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}".
-    "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/"
-    "httpResponse": [ # The http response returned by the web application.
-      { # The http response returned by the web application.
-        "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test".
-        "statusCode": "A String", # The http response code returned by the web application, for example, 200.
-      },
-    ],
-    "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}".
-    "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-    "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}".
-    "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}".
-    "privateIpAddress": "A String", # Private IP address of the exposed endpoint.
-    "privatePort": "A String", # Port number associated with private IP address.
-    "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}"
-    "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}"
-    "publicIpAddress": "A String", # Public IP address of the exposed endpoint.
-    "publicPort": "A String", # Public port number of the exposed endpoint.
-    "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-  },
-  "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.
-    "a_key": { # Representation of third party SIEM/SOAR fields within SCC.
-      "assignees": [ # References primary/secondary etc assignees in the external system.
+        "name": "A String",
+      },
+    ],
+    "totalExfiltratedBytes": "A String",
+  },
+  "externalExposure": {
+    "backendBucket": "A String",
+    "backendService": "A String",
+    "exposedApplication": "A String",
+    "exposedEndpoint": "A String",
+    "exposedService": "A String",
+    "forwardingRule": "A String",
+    "hostnameUri": "A String",
+    "httpResponse": [
+      {
+        "path": "A String",
+        "statusCode": "A String",
+      },
+    ],
+    "instanceGroup": "A String",
+    "internalBackendService": "A String",
+    "loadBalancerFirewallPolicy": "A String",
+    "networkEndpointGroup": "A String",
+    "networkIngressFirewallPolicy": "A String",
+    "privateIpAddress": "A String",
+    "privatePort": "A String",
+    "pscNetworkAttachment": "A String",
+    "pscServiceAttachment": "A String",
+    "publicIpAddress": "A String",
+    "publicPort": "A String",
+    "serviceFirewallPolicy": "A String",
+  },
+  "externalSystems": {
+    "a_key": {
+      "assignees": [
         "A String",
       ],
-      "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-      "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-      "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-      "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-      "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-      "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-      "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-      "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-      "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-      "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-        "assignee": "A String", # The assignee of the ticket in the ticket system.
-        "description": "A String", # The description of the ticket in the ticket system.
-        "id": "A String", # The identifier of the ticket in the ticket system.
-        "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-        "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-        "uri": "A String", # The link to the ticket in the ticket system.
-      },
-    },
-  },
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "files": [ # File associated with the finding.
-    { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-      "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-      "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-        "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-        "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
-      },
-      "fileLoadState": "A String", # The load state of the file.
-      "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-      "operations": [ # Operation(s) performed on a file.
-        { # Operation(s) performed on a file.
-          "type": "A String", # The type of the operation
+      "caseCloseTime": "A String",
+      "caseCreateTime": "A String",
+      "casePriority": "A String",
+      "caseSla": "A String",
+      "caseUri": "A String",
+      "externalSystemUpdateTime": "A String",
+      "externalUid": "A String",
+      "name": "A String",
+      "status": "A String",
+      "ticketInfo": {
+        "assignee": "A String",
+        "description": "A String",
+        "id": "A String",
+        "status": "A String",
+        "updateTime": "A String",
+        "uri": "A String",
+      },
+    },
+  },
+  "externalUri": "A String",
+  "files": [
+    {
+      "contents": "A String",
+      "diskPath": {
+        "partitionUuid": "A String",
+        "relativePath": "A String",
+      },
+      "fileLoadState": "A String",
+      "hashedSize": "A String",
+      "operations": [
+        {
+          "type": "A String",
         },
       ],
-      "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-      "path": "A String", # Absolute path of the file as a JSON encoded string.
-      "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-      "size": "A String", # Size of the file in bytes.
+      "partiallyHashed": True or False,
+      "path": "A String",
+      "sha256": "A String",
+      "size": "A String",
     },
   ],
-  "findingClass": "A String", # The class of the finding.
-  "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.
-    { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.
-      "groupId": "A String", # ID of the group.
-      "groupType": "A String", # Type of group.
+  "findingClass": "A String",
+  "groupMemberships": [
+    {
+      "groupId": "A String",
+      "groupType": "A String",
     },
   ],
-  "iamBindings": [ # Represents IAM bindings associated with the finding.
-    { # Represents a particular IAM binding, which captures a member's role addition, removal, or state.
-      "action": "A String", # The action that was performed on a Binding.
-      "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com".
-      "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner".
+  "iamBindings": [
+    {
+      "action": "A String",
+      "member": "A String",
+      "role": "A String",
     },
   ],
-  "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
-    "domains": [ # List of domains associated to the Finding.
+  "indicator": {
+    "domains": [
       "A String",
     ],
-    "ipAddresses": [ # The list of IP addresses that are associated with the finding.
+    "ipAddresses": [
       "A String",
     ],
-    "signatures": [ # The list of matched signatures indicating that the given process is present in the environment.
-      { # Indicates what signature matched this process.
-        "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched.
-          "binaryFamily": "A String", # The binary family.
-          "detections": [ # The list of memory hash detections contributing to the binary family match.
-            { # Memory hash detection contributing to the binary family match.
-              "binary": "A String", # The name of the binary associated with the memory hash signature detection.
-              "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched.
+    "signatures": [
+      {
+        "memoryHashSignature": {
+          "binaryFamily": "A String",
+          "detections": [
+            {
+              "binary": "A String",
+              "percentPagesMatched": 3.14,
             },
           ],
         },
-        "signatureType": "A String", # Describes the type of resource associated with the signature.
-        "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched.
-          "yaraRule": "A String", # The name of the YARA rule.
+        "signatureType": "A String",
+        "yaraRuleSignature": {
+          "yaraRule": "A String",
         },
       },
     ],
-    "uris": [ # The list of URIs associated to the Findings.
+    "uris": [
       "A String",
     ],
   },
-  "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding.
-    "allowed": { # Allowed IP rule. # Tuple with allowed rules.
-      "ipRules": [ # Optional. Optional list of allowed IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+  "ipRules": {
+    "allowed": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "denied": { # Denied IP rule. # Tuple with denied rules.
-      "ipRules": [ # Optional. Optional list of denied IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+    "denied": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "destinationIpRanges": [
       "A String",
     ],
-    "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress.
-    "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.
+    "direction": "A String",
+    "exposedServices": [
       "A String",
     ],
-    "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "sourceIpRanges": [
       "A String",
     ],
   },
-  "job": { # Describes a job # Job associated with the finding.
-    "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why.
-    "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1`
-    "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/`
-    "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`.
-  },
-  "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit.
-    "name": "A String", # Rootkit name, when available.
-    "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present.
-    "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present.
-    "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present.
-    "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.
-    "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present.
-    "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present.
-  },
-  "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding.
-    "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.
-      { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.
-        "group": "A String", # The API group of the resource. "*" means all.
-        "name": "A String", # The name of the resource being requested. Empty means all.
-        "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty).
-        "resource": "A String", # The optional resource type requested. "*" means all.
-        "subresource": "A String", # The optional subresource type.
-        "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all.
-        "version": "A String", # The API version of the resource. "*" means all.
-      },
-    ],
-    "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Represents a Kubernetes RoleBinding or ClusterRoleBinding.
-        "name": "A String", # Name for the binding.
-        "ns": "A String", # Namespace for the binding.
-        "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding.
-          "kind": "A String", # Role type.
-          "name": "A String", # Role name.
-          "ns": "A String", # Role namespace.
+  "job": {
+    "errorCode": 42,
+    "location": "A String",
+    "name": "A String",
+    "state": "A String",
+  },
+  "kernelRootkit": {
+    "name": "A String",
+    "unexpectedCodeModification": True or False,
+    "unexpectedFtraceHandler": True or False,
+    "unexpectedInterruptHandler": True or False,
+    "unexpectedKernelCodePages": True or False,
+    "unexpectedKprobeHandler": True or False,
+    "unexpectedProcessesInRunqueue": True or False,
+    "unexpectedReadOnlyDataModification": True or False,
+    "unexpectedSystemCallHandler": True or False,
+  },
+  "kubernetes": {
+    "accessReviews": [
+      {
+        "group": "A String",
+        "name": "A String",
+        "ns": "A String",
+        "resource": "A String",
+        "subresource": "A String",
+        "verb": "A String",
+        "version": "A String",
+      },
+    ],
+    "bindings": [
+      {
+        "name": "A String",
+        "ns": "A String",
+        "role": {
+          "kind": "A String",
+          "name": "A String",
+          "ns": "A String",
         },
-        "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests.
-          { # Represents a Kubernetes subject.
-            "kind": "A String", # Authentication type for the subject.
-            "name": "A String", # Name for the subject.
-            "ns": "A String", # Namespace for the subject.
+        "subjects": [
+          {
+            "kind": "A String",
+            "name": "A String",
+            "ns": "A String",
           },
         ],
       },
     ],
-    "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.
-      { # Provides GKE node pool information.
-        "name": "A String", # Kubernetes node pool name.
-        "nodes": [ # Nodes associated with the finding.
-          { # Kubernetes nodes associated with the finding.
-            "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodePools": [
+      {
+        "name": "A String",
+        "nodes": [
+          {
+            "name": "A String",
           },
         ],
       },
     ],
-    "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.
-      { # Kubernetes nodes associated with the finding.
-        "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodes": [
+      {
+        "name": "A String",
       },
     ],
-    "objects": [ # Kubernetes objects related to the finding.
-      { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "objects": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1".
-        "kind": "A String", # Kubernetes object kind, such as "Namespace".
-        "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.
-        "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.
-      },
-    ],
-    "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.
-      { # A Kubernetes Pod.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+        "group": "A String",
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
+      },
+    ],
+    "pods": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container.
-          { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-            "name": "A String", # Name of the label.
-            "value": "A String", # Value that corresponds to the label's name.
+        "labels": [
+          {
+            "name": "A String",
+            "value": "A String",
           },
         ],
-        "name": "A String", # Kubernetes Pod name.
-        "ns": "A String", # Kubernetes Pod namespace.
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Kubernetes Role or ClusterRole.
-        "kind": "A String", # Role type.
-        "name": "A String", # Role name.
-        "ns": "A String", # Role namespace.
+    "roles": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
   },
-  "loadBalancers": [ # The load balancers associated with the finding.
-    { # Contains information related to the load balancer associated with the finding.
-      "name": "A String", # The name of the load balancer associated with the finding.
+  "loadBalancers": [
+    {
+      "name": "A String",
     },
   ],
-  "logEntries": [ # Log entries that are relevant to the finding.
-    { # An individual entry in a log.
-      "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging.
-        "insertId": "A String", # A unique identifier for the log entry.
-        "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.
-        "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry.
-        "timestamp": "A String", # The time the event described by the log entry occurred.
+  "logEntries": [
+    {
+      "cloudLoggingEntry": {
+        "insertId": "A String",
+        "logId": "A String",
+        "resourceContainer": "A String",
+        "timestamp": "A String",
       },
     },
   ],
-  "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org
-    "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any.
+  "mitreAttack": {
+    "additionalTactics": [
       "A String",
     ],
-    "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.
+    "additionalTechniques": [
       "A String",
     ],
-    "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any.
-    "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
+    "primaryTactic": "A String",
+    "primaryTechniques": [
       "A String",
     ],
-    "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
+    "version": "A String",
   },
-  "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
-  "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.
-  "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding.
-    "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding.
-      { # The record of a dynamic mute rule that matches the finding.
-        "matchTime": "A String", # When the dynamic mute rule first matched the finding.
-        "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
+  "moduleName": "A String",
+  "mute": "A String",
+  "muteInfo": {
+    "dynamicMuteRecords": [
+      {
+        "matchTime": "A String",
+        "muteConfig": "A String",
       },
     ],
-    "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute.
-      "applyTime": "A String", # When the static mute was applied.
-      "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.
+    "staticMute": {
+      "applyTime": "A String",
+      "state": "A String",
     },
   },
-  "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.
-  "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted.
-  "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
-  "networks": [ # Represents the VPC networks that the resource is attached to.
-    { # Contains information about a VPC network associated with the finding.
-      "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.
+  "muteInitiator": "A String",
+  "muteUpdateTime": "A String",
+  "name": "A String",
+  "networks": [
+    {
+      "name": "A String",
     },
   ],
-  "nextSteps": "A String", # Steps to address the finding.
-  "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding.
-    "lastAuthor": "A String", # The user ID of the latest author to modify the notebook.
-    "name": "A String", # The name of the notebook.
-    "notebookUpdateTime": "A String", # The most recent time the notebook was updated.
-    "service": "A String", # The source notebook service, for example, "Colab Enterprise".
+  "nextSteps": "A String",
+  "notebook": {
+    "lastAuthor": "A String",
+    "name": "A String",
+    "notebookUpdateTime": "A String",
+    "service": "A String",
   },
-  "orgPolicies": [ # Contains information about the org policies associated with the finding.
-    { # Contains information about the org policies associated with the finding.
-      "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}"
+  "orgPolicies": [
+    {
+      "name": "A String",
     },
   ],
-  "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics".
-  "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding.
-    "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy.
-    "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown".
-    "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation.
-    "policyViolationsCount": "A String", # Count of child resources in violation of the policy.
-  },
-  "processes": [ # Represents operating system processes associated with the Finding.
-    { # Represents an operating system process.
-      "args": [ # Process arguments as JSON encoded strings.
+  "parent": "A String",
+  "parentDisplayName": "A String",
+  "policyViolationSummary": {
+    "conformantResourcesCount": "A String",
+    "evaluationErrorsCount": "A String",
+    "outOfScopeResourcesCount": "A String",
+    "policyViolationsCount": "A String",
+  },
+  "processes": [
+    {
+      "args": [
         "A String",
       ],
-      "argumentsTruncated": True or False, # True if `args` is incomplete.
-      "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "argumentsTruncated": True or False,
+      "binary": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
-      },
-      "envVariables": [ # Process environment variables.
-        { # A name-value pair representing an environment variable used in an operating system process.
-          "name": "A String", # Environment variable name as a JSON encoded string.
-          "val": "A String", # Environment variable value as a JSON encoded string.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
+      },
+      "envVariables": [
+        {
+          "name": "A String",
+          "val": "A String",
         },
       ],
-      "envVariablesTruncated": True or False, # True if `env_variables` is incomplete.
-      "libraries": [ # File information for libraries loaded by the process.
-        { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-          "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-          "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-            "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-            "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "envVariablesTruncated": True or False,
+      "libraries": [
+        {
+          "contents": "A String",
+          "diskPath": {
+            "partitionUuid": "A String",
+            "relativePath": "A String",
           },
-          "fileLoadState": "A String", # The load state of the file.
-          "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-          "operations": [ # Operation(s) performed on a file.
-            { # Operation(s) performed on a file.
-              "type": "A String", # The type of the operation
+          "fileLoadState": "A String",
+          "hashedSize": "A String",
+          "operations": [
+            {
+              "type": "A String",
             },
           ],
-          "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-          "path": "A String", # Absolute path of the file as a JSON encoded string.
-          "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-          "size": "A String", # Size of the file in bytes.
+          "partiallyHashed": True or False,
+          "path": "A String",
+          "sha256": "A String",
+          "size": "A String",
         },
       ],
-      "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
-      "parentPid": "A String", # The parent process ID.
-      "pid": "A String", # The process ID.
-      "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "name": "A String",
+      "parentPid": "A String",
+      "pid": "A String",
+      "script": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0.
+      "userId": "A String",
     },
   ],
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding.
-    "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret.
-      "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.
+  "resourceName": "A String",
+  "secret": {
+    "environmentVariable": {
+      "key": "A String",
     },
-    "filePath": { # File path containing the secret. # The file containing the secret.
-      "path": "A String", # Path to the file.
+    "filePath": {
+      "path": "A String",
     },
-    "status": { # The status of the secret. # The status of the secret.
-      "lastUpdatedTime": "A String", # Time that the secret was found.
-      "validity": "A String", # The validity of the secret.
+    "status": {
+      "lastUpdatedTime": "A String",
+      "validity": "A String",
     },
-    "type": "A String", # The type of secret, for example, GCP_API_KEY.
+    "type": "A String",
   },
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+  "securityMarks": {
+    "canonicalName": "A String",
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+    "name": "A String",
   },
-  "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding.
-    "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.
-    "name": "A String", # Name of the posture, for example, `CIS-Posture`.
-    "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`.
-    "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture.
-      { # The policy field that violates the deployed posture and its expected and detected values.
-        "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`.
-        "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`.
-        "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce
+  "securityPosture": {
+    "changedPolicy": "A String",
+    "name": "A String",
+    "policy": "A String",
+    "policyDriftDetails": [
+      {
+        "detectedValue": "A String",
+        "expectedValue": "A String",
+        "field": "A String",
       },
     ],
-    "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`.
-    "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.
-    "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.
-    "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`.
+    "policySet": "A String",
+    "postureDeployment": "A String",
+    "postureDeploymentResource": "A String",
+    "revisionId": "A String",
   },
-  "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding.
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "severity": "A String",
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
-  "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests.
-    "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.
-    "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.
+  "state": "A String",
+  "toxicCombination": {
+    "attackExposureScore": 3.14,
+    "relatedFindings": [
       "A String",
     ],
   },
-  "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding.
-    "datasets": [ # Datasets associated with the finding.
-      { # Vertex AI dataset associated with the finding.
-        "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset
-        "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856
-        "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod
-      },
-    ],
-    "pipelines": [ # Pipelines associated with the finding.
-      { # Vertex AI training pipeline associated with the finding.
-        "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification
-        "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496
-      },
-    ],
-  },
-  "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-    "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-      "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document
-        "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
-        "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.
-        "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
-        "baseScore": 3.14, # The base score is a function of the base metric scores.
-        "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
-        "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability.
-        "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
-        "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
-        "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
-      },
-      "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released.
-      "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild.
-      "firstExploitationDate": "A String", # Date of the earliest known exploitation.
-      "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527
-      "impact": "A String", # The potential impact of the vulnerability if it was to be exploited.
-      "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild.
-      "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
-        { # Additional Links
-          "source": "A String", # Source of the reference e.g. NVD
-          "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+  "vertexAi": {
+    "datasets": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+        "source": "A String",
+      },
+    ],
+    "pipelines": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+      },
+    ],
+  },
+  "vulnerability": {
+    "cve": {
+      "cvssv3": {
+        "attackComplexity": "A String",
+        "attackVector": "A String",
+        "availabilityImpact": "A String",
+        "baseScore": 3.14,
+        "confidentialityImpact": "A String",
+        "integrityImpact": "A String",
+        "privilegesRequired": "A String",
+        "scope": "A String",
+        "userInteraction": "A String",
+      },
+      "exploitReleaseDate": "A String",
+      "exploitationActivity": "A String",
+      "firstExploitationDate": "A String",
+      "id": "A String",
+      "impact": "A String",
+      "observedInTheWild": True or False,
+      "references": [
+        {
+          "source": "A String",
+          "uri": "A String",
         },
       ],
-      "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE.
-      "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published.
-    },
-    "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.
-      { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).
-        "id": "A String", # The CWE identifier, e.g. CWE-94
-        "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html
-          { # Additional Links
-            "source": "A String", # Source of the reference e.g. NVD
-            "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "upstreamFixAvailable": True or False,
+      "zeroDay": True or False,
+    },
+    "cwes": [
+      {
+        "id": "A String",
+        "references": [
+          {
+            "source": "A String",
+            "uri": "A String",
           },
         ],
       },
     ],
-    "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "fixedPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "offendingPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.
-    "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis)
-    "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding.
-      "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability.
-      "submissionTime": "A String", # Submission time of this Security Bulletin.
-      "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0
+    "providerRiskScore": "A String",
+    "reachable": True or False,
+    "securityBulletin": {
+      "bulletinId": "A String",
+      "submissionTime": "A String",
+      "suggestedUpgradeVersion": "A String",
     },
   },
 }
 
-  findingId: string, Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.
+  findingId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -942,811 +942,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` - }, - ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. - }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", + }, + ], + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", + }, + "affectedResources": { + "count": "A String", + }, + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. - }, - ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. - }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", + }, + ], + "resourceId": "A String", + }, + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", + }, + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - }, - ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. - }, - ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "name": "A String", + }, + ], + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", + }, + ], + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. - }, - }, - }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", + }, + }, + }, + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", + }, + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. - }, - ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", + }, + ], + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - }, - ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", + }, + ], + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. - }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", + }, + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - }, - ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 - }, - ], - }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", + }, + ], + "pipelines": [ + { + "displayName": "A String", + "name": "A String", + }, + ], + }, + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", + }, + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -1754,20 +1754,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by findings.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported when compare_duration is set: * state_change
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -1778,18 +1778,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for group by findings. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -1809,17 +1809,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-` (required)
-  compareDuration: string, When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time.
-  fieldMask: string, A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1828,945 +1828,945 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing findings. - "listFindingsResults": [ # Findings matching the list request. - { # Result containing the Finding and its StateChange. - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + { + "listFindingsResults": [ + { + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "resource": { # Information related to the Google Cloud resource that is associated with this finding. # Output only. Resource that is associated with this finding. - "adcApplication": { # Represents an ADC application associated with the finding. # The ADC application associated with the finding. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the AppHub application. - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "resource": { + "adcApplication": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application} + "name": "A String", }, - "adcApplicationTemplate": { # Represents an ADC template associated with the finding. # The ADC template associated with the finding. - "name": "A String", # The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcApplicationTemplate": { + "name": "A String", }, - "adcSharedTemplate": { # Represents an ADC shared template associated with the finding. # The ADC shared template associated with the finding. - "name": "A String", # The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcSharedTemplate": { + "name": "A String", }, - "application": { # The App Hub Application associated with the finding's resource. # The App Hub application this resource belongs to. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the application - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "application": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}` + "name": "A String", }, - "awsMetadata": { # AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. # The AWS metadata associated with the finding. - "account": { # An AWS account that is a member of an organization. # The AWS account associated with the resource. - "id": "A String", # The unique identifier (ID) of the account, containing exactly 12 digits. - "name": "A String", # The friendly name of this account. + "awsMetadata": { + "account": { + "id": "A String", + "name": "A String", }, - "organization": { # An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. # The AWS organization associated with the resource. - "id": "A String", # The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. + "organization": { + "id": "A String", }, - "organizationalUnits": [ # A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - { # An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - "id": "A String", # The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - "name": "A String", # The friendly name of the OU. + "organizationalUnits": [ + { + "id": "A String", + "name": "A String", }, ], }, - "azureMetadata": { # Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. # The Azure metadata associated with the finding. - "managementGroups": [ # A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - { # Represents an Azure management group. - "displayName": "A String", # The display name of the Azure management group. - "id": "A String", # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. + "azureMetadata": { + "managementGroups": [ + { + "displayName": "A String", + "id": "A String", }, ], - "resourceGroup": { # Represents an Azure resource group. # The Azure resource group associated with the resource. - "id": "A String", # The ID of the Azure resource group. - "name": "A String", # The name of the Azure resource group. This is not a UUID. + "resourceGroup": { + "id": "A String", + "name": "A String", }, - "subscription": { # Represents an Azure subscription. # The Azure subscription associated with the resource. - "displayName": "A String", # The display name of the Azure subscription. - "id": "A String", # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. + "subscription": { + "displayName": "A String", + "id": "A String", }, - "tenant": { # Represents a Microsoft Entra tenant. # The Azure Entra tenant associated with the resource. - "displayName": "A String", # The display name of the Azure tenant. - "id": "A String", # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". + "tenant": { + "displayName": "A String", + "id": "A String", }, }, - "cloudProvider": "A String", # Indicates which cloud provider the finding is from. - "displayName": "A String", # The human readable name of the resource. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "cloudProvider": "A String", + "displayName": "A String", + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "location": "A String", # The region or location of the service (if applicable). - "name": "A String", # The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "organization": "A String", # Indicates which organization / tenant the finding is for. - "parentDisplayName": "A String", # The human readable name of resource's parent. - "parentName": "A String", # The full resource name of resource's parent. - "projectDisplayName": "A String", # The project ID that the resource belongs to. - "projectName": "A String", # The full resource name of project that the resource belongs to. - "resourcePath": { # Represents the path of resources leading up to the resource this finding is about. # Provides the path to the resource within the resource hierarchy. - "nodes": [ # The list of nodes that make the up resource path, ordered from lowest level to highest level. - { # A node within the resource path. Each node represents a resource within the resource hierarchy. - "displayName": "A String", # The display name of the resource this node represents. - "id": "A String", # The ID of the resource this node represents. - "nodeType": "A String", # The type of resource this node represents. + "location": "A String", + "name": "A String", + "organization": "A String", + "parentDisplayName": "A String", + "parentName": "A String", + "projectDisplayName": "A String", + "projectName": "A String", + "resourcePath": { + "nodes": [ + { + "displayName": "A String", + "id": "A String", + "nodeType": "A String", }, ], }, - "resourcePathString": "A String", # A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups. - "service": "A String", # The service or resource provider associated with the resource. - "type": "A String", # The full resource type of the resource. + "resourcePathString": "A String", + "service": "A String", + "type": "A String", }, - "stateChange": "A String", # State change of the finding between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of findings matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -2786,823 +2786,823 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.
+  
 
 Args:
-  name: string, The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
-  "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where.
-    "callerIp": "A String", # Caller's IP address, such as "1.1.1.1".
-    "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from.
-      "regionCode": "A String", # A CLDR.
-    },
-    "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy".
-    "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).
-    "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.
-    "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.
-      { # Identity delegation history of an authenticated service account.
-        "principalEmail": "A String", # The email address of a Google account.
-        "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`
-      },
-    ],
-    "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}".
-    "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com"
-    "userAgent": "A String", # The caller's user agent string associated with the finding.
-    "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.
-    "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.
-  },
-  "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding.
-    "count": "A String", # The count of resources affected by the finding.
-  },
-  "agentDataAccessEvents": [ # Agent data access events associated with the finding.
-    { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalSubject": "A String", # The agent principal that accessed the data.
+{
+  "access": {
+    "callerIp": "A String",
+    "callerIpGeo": {
+      "regionCode": "A String",
+    },
+    "methodName": "A String",
+    "principalEmail": "A String",
+    "principalSubject": "A String",
+    "serviceAccountDelegationInfo": [
+      {
+        "principalEmail": "A String",
+        "principalSubject": "A String",
+      },
+    ],
+    "serviceAccountKeyName": "A String",
+    "serviceName": "A String",
+    "userAgent": "A String",
+    "userAgentFamily": "A String",
+    "userName": "A String",
+  },
+  "affectedResources": {
+    "count": "A String",
+  },
+  "agentDataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalSubject": "A String",
     },
   ],
-  "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding.
-    "deploymentPlatform": "A String", # The platform on which the model is deployed.
-    "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model
-    "domain": "A String", # The domain of the model, for example, “image-classification”.
-    "library": "A String", # The name of the model library, for example, “transformers”.
-    "location": "A String", # The region in which the model is used, for example, “us-central1”.
-    "name": "A String", # The name of the AI model, for example, "gemini:1.0.0".
-    "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”.
-    "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training".
-  },
-  "application": { # Represents an application associated with a finding. # Represents an application associated with the finding.
-    "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.
-    "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.
-  },
-  "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding.
-    "failingPolicies": [ # A list of failing policies.
-      { # Represents an artifact guard policy.
-        "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2".
-        "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy".
-        "type": "A String", # The type of the policy evaluation.
-      },
-    ],
-    "resourceId": "A String", # The ID of the resource that has policies configured for it.
-  },
-  "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding.
-    "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`
-    "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding.
-    "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding.
-    "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.
-    "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.
-  },
-  "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings.
-    "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.
-    "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
+  "aiModel": {
+    "deploymentPlatform": "A String",
+    "displayName": "A String",
+    "domain": "A String",
+    "library": "A String",
+    "location": "A String",
+    "name": "A String",
+    "publisher": "A String",
+    "usageCategory": "A String",
+  },
+  "application": {
+    "baseUri": "A String",
+    "fullUri": "A String",
+  },
+  "artifactGuardPolicies": {
+    "failingPolicies": [
+      {
+        "failureReason": "A String",
+        "policyId": "A String",
+        "type": "A String",
+      },
+    ],
+    "resourceId": "A String",
+  },
+  "attackExposure": {
+    "attackExposureResult": "A String",
+    "exposedHighValueResourcesCount": 42,
+    "exposedLowValueResourcesCount": 42,
+    "exposedMediumValueResourcesCount": 42,
+    "latestCalculationTime": "A String",
+    "score": 3.14,
+    "state": "A String",
+  },
+  "backupDisasterRecovery": {
+    "appliance": "A String",
+    "applications": [
       "A String",
     ],
-    "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created.
-    "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.
-    "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.
-    "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.
-    "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.
+    "backupCreateTime": "A String",
+    "backupTemplate": "A String",
+    "backupType": "A String",
+    "host": "A String",
+    "policies": [
       "A String",
     ],
-    "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.
+    "policyOptions": [
       "A String",
     ],
-    "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.
-    "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.
+    "profile": "A String",
+    "storagePool": "A String",
   },
-  "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests.
-    "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.
+  "canonicalName": "A String",
+  "category": "A String",
+  "chokepoint": {
+    "relatedFindings": [
       "A String",
     ],
   },
-  "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings.
-    "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview).
-      "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.
-    },
-    "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification.
-      "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
-      "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.
-      "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack.
-      "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.
-      "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack.
-    },
-    "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes).
-    "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview).
-      "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term.
-      "longTermDenied": 42, # Denied RPS (requests per second) over the long term.
-      "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.
-      "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term.
-    },
-    "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.
-      "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy".
-      "preview": True or False, # Whether or not the associated rule or policy is in preview mode.
-      "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.
-    },
-    "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks.
-  },
-  "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding.
-    "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.
-    "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.
-      { # Type of information detected by the API.
-        "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
-        "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
-          "score": "A String", # The sensitivity score applied to the resource.
+  "cloudArmor": {
+    "adaptiveProtection": {
+      "confidence": 3.14,
+    },
+    "attack": {
+      "classification": "A String",
+      "volumeBps": 42,
+      "volumeBpsLong": "A String",
+      "volumePps": 42,
+      "volumePpsLong": "A String",
+    },
+    "duration": "A String",
+    "requests": {
+      "longTermAllowed": 42,
+      "longTermDenied": 42,
+      "ratio": 3.14,
+      "shortTermAllowed": 42,
+    },
+    "securityPolicy": {
+      "name": "A String",
+      "preview": True or False,
+      "type": "A String",
+    },
+    "threatVector": "A String",
+  },
+  "cloudDlpDataProfile": {
+    "dataProfile": "A String",
+    "infoTypes": [
+      {
+        "name": "A String",
+        "sensitivityScore": {
+          "score": "A String",
         },
-        "version": "A String", # Optional version name for this InfoType.
+        "version": "A String",
       },
     ],
-    "parentType": "A String", # The resource hierarchy level at which the data profile was generated.
+    "parentType": "A String",
   },
-  "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding.
-    "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset.
-    "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.
-    "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource.
-    "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.
+  "cloudDlpInspection": {
+    "fullScan": True or False,
+    "infoType": "A String",
+    "infoTypeCount": "A String",
+    "inspectJob": "A String",
   },
-  "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding.
-    "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding
-      "cloudControlName": "A String", # Name of the CloudControl associated with the finding.
-      "policyType": "A String", # Policy type of the CloudControl
-      "type": "A String", # Type of cloud control.
-      "version": 42, # Version of the Cloud Control
+  "complianceDetails": {
+    "cloudControl": {
+      "cloudControlName": "A String",
+      "policyType": "A String",
+      "type": "A String",
+      "version": 42,
     },
-    "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier
+    "cloudControlDeploymentNames": [
       "A String",
     ],
-    "frameworks": [ # Details of Frameworks associated with the finding
-      { # Compliance framework associated with the finding.
-        "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads
+    "frameworks": [
+      {
+        "category": [
           "A String",
         ],
-        "controls": [ # The controls associated with the framework.
-          { # Compliance control associated with the finding.
-            "controlName": "A String", # Name of the Control
-            "displayName": "A String", # Display name of the control. For example, AU-02.
+        "controls": [
+          {
+            "controlName": "A String",
+            "displayName": "A String",
           },
         ],
-        "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework
-        "name": "A String", # Name of the framework associated with the finding
-        "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)
+        "displayName": "A String",
+        "name": "A String",
+        "type": "A String",
       },
     ],
   },
-  "compliances": [ # Contains compliance information for security standards associated to the finding.
-    { # Contains compliance information about a security standard indicating unmet recommendations.
-      "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1
+  "compliances": [
+    {
+      "ids": [
         "A String",
       ],
-      "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.
-      "version": "A String", # Version of the standard or benchmark, for example, 1.1
+      "standard": "A String",
+      "version": "A String",
     },
   ],
-  "connections": [ # Contains information about the IP connection associated with the finding.
-    { # Contains information about the IP connection associated with the finding.
-      "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected.
-      "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected.
-      "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17).
-      "sourceIp": "A String", # Source IP address.
-      "sourcePort": 42, # Source port.
+  "connections": [
+    {
+      "destinationIp": "A String",
+      "destinationPort": 42,
+      "protocol": "A String",
+      "sourceIp": "A String",
+      "sourcePort": 42,
     },
   ],
-  "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } }
-    "a_key": { # Details about specific contacts
-      "contacts": [ # A list of contacts
-        { # The email address of a contact.
-          "email": "A String", # An email address. For example, "`person123@company.com`".
+  "contacts": {
+    "a_key": {
+      "contacts": [
+        {
+          "email": "A String",
         },
       ],
     },
   },
-  "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.
-    { # Container associated with the finding.
-      "createTime": "A String", # The time that the container was created.
-      "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-      "labels": [ # Container labels, as provided by the container runtime.
-        { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-          "name": "A String", # Name of the label.
-          "value": "A String", # Value that corresponds to the label's name.
+  "containers": [
+    {
+      "createTime": "A String",
+      "imageId": "A String",
+      "labels": [
+        {
+          "name": "A String",
+          "value": "A String",
         },
       ],
-      "name": "A String", # Name of the container.
-      "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+      "name": "A String",
+      "uri": "A String",
     },
   ],
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "dataAccessEvents": [ # Data access events associated with the finding.
-    { # Details about a data access attempt made by a principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.
+  "createTime": "A String",
+  "dataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
     },
   ],
-  "dataFlowEvents": [ # Data flow events associated with the finding.
-    { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.
-      "eventId": "A String", # Unique identifier for data flow event.
-      "eventTime": "A String", # Timestamp of data flow event.
-      "operation": "A String", # The operation performed by the principal for the data flow event.
-      "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.
-      "violatedLocation": "A String", # Non-compliant location of the principal or the data destination.
+  "dataFlowEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
+      "violatedLocation": "A String",
     },
   ],
-  "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding.
-    { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.
-      "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.
-      "eventDetectionTime": "A String", # Timestamp indicating when the event was detected.
-      "eventType": "A String", # Type of the DRD event.
-      "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.
-      "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.
+  "dataRetentionDeletionEvents": [
+    {
+      "dataObjectCount": "A String",
+      "eventDetectionTime": "A String",
+      "eventType": "A String",
+      "maxRetentionAllowed": "A String",
+      "minRetentionAllowed": "A String",
     },
   ],
-  "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding.
-    "displayName": "A String", # The human-readable name of the database that the user connected to.
-    "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.
+  "database": {
+    "displayName": "A String",
+    "grantees": [
       "A String",
     ],
-    "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.
-    "query": "A String", # The SQL statement that is associated with the database access.
-    "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format.
-    "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
-  },
-  "description": "A String", # Contains more details about the finding.
-  "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding.
-    "confidence": "A String", # The confidence in detection of this workload.
-    "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type.
-    "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type.
-    "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type.
-    "workloadType": "A String", # The type of workload.
-  },
-  "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding.
-    "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}".
-  },
-  "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.
-  "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding.
-    "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "name": "A String",
+    "query": "A String",
+    "userName": "A String",
+    "version": "A String",
+  },
+  "description": "A String",
+  "discoveredWorkload": {
+    "confidence": "A String",
+    "detectedRelevantHardware": True or False,
+    "detectedRelevantKeywords": True or False,
+    "detectedRelevantPackages": True or False,
+    "workloadType": "A String",
+  },
+  "disk": {
+    "name": "A String",
+  },
+  "eventTime": "A String",
+  "exfiltration": {
+    "sources": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "targets": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
-      },
-    ],
-    "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job.
-  },
-  "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding.
-    "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}"
-    "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184".
-    "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”
-    "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
-    "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}".
-    "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/"
-    "httpResponse": [ # The http response returned by the web application.
-      { # The http response returned by the web application.
-        "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test".
-        "statusCode": "A String", # The http response code returned by the web application, for example, 200.
-      },
-    ],
-    "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}".
-    "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-    "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}".
-    "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}".
-    "privateIpAddress": "A String", # Private IP address of the exposed endpoint.
-    "privatePort": "A String", # Port number associated with private IP address.
-    "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}"
-    "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}"
-    "publicIpAddress": "A String", # Public IP address of the exposed endpoint.
-    "publicPort": "A String", # Public port number of the exposed endpoint.
-    "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-  },
-  "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.
-    "a_key": { # Representation of third party SIEM/SOAR fields within SCC.
-      "assignees": [ # References primary/secondary etc assignees in the external system.
+        "name": "A String",
+      },
+    ],
+    "totalExfiltratedBytes": "A String",
+  },
+  "externalExposure": {
+    "backendBucket": "A String",
+    "backendService": "A String",
+    "exposedApplication": "A String",
+    "exposedEndpoint": "A String",
+    "exposedService": "A String",
+    "forwardingRule": "A String",
+    "hostnameUri": "A String",
+    "httpResponse": [
+      {
+        "path": "A String",
+        "statusCode": "A String",
+      },
+    ],
+    "instanceGroup": "A String",
+    "internalBackendService": "A String",
+    "loadBalancerFirewallPolicy": "A String",
+    "networkEndpointGroup": "A String",
+    "networkIngressFirewallPolicy": "A String",
+    "privateIpAddress": "A String",
+    "privatePort": "A String",
+    "pscNetworkAttachment": "A String",
+    "pscServiceAttachment": "A String",
+    "publicIpAddress": "A String",
+    "publicPort": "A String",
+    "serviceFirewallPolicy": "A String",
+  },
+  "externalSystems": {
+    "a_key": {
+      "assignees": [
         "A String",
       ],
-      "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-      "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-      "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-      "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-      "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-      "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-      "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-      "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-      "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-      "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-        "assignee": "A String", # The assignee of the ticket in the ticket system.
-        "description": "A String", # The description of the ticket in the ticket system.
-        "id": "A String", # The identifier of the ticket in the ticket system.
-        "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-        "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-        "uri": "A String", # The link to the ticket in the ticket system.
-      },
-    },
-  },
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "files": [ # File associated with the finding.
-    { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-      "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-      "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-        "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-        "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
-      },
-      "fileLoadState": "A String", # The load state of the file.
-      "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-      "operations": [ # Operation(s) performed on a file.
-        { # Operation(s) performed on a file.
-          "type": "A String", # The type of the operation
+      "caseCloseTime": "A String",
+      "caseCreateTime": "A String",
+      "casePriority": "A String",
+      "caseSla": "A String",
+      "caseUri": "A String",
+      "externalSystemUpdateTime": "A String",
+      "externalUid": "A String",
+      "name": "A String",
+      "status": "A String",
+      "ticketInfo": {
+        "assignee": "A String",
+        "description": "A String",
+        "id": "A String",
+        "status": "A String",
+        "updateTime": "A String",
+        "uri": "A String",
+      },
+    },
+  },
+  "externalUri": "A String",
+  "files": [
+    {
+      "contents": "A String",
+      "diskPath": {
+        "partitionUuid": "A String",
+        "relativePath": "A String",
+      },
+      "fileLoadState": "A String",
+      "hashedSize": "A String",
+      "operations": [
+        {
+          "type": "A String",
         },
       ],
-      "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-      "path": "A String", # Absolute path of the file as a JSON encoded string.
-      "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-      "size": "A String", # Size of the file in bytes.
+      "partiallyHashed": True or False,
+      "path": "A String",
+      "sha256": "A String",
+      "size": "A String",
     },
   ],
-  "findingClass": "A String", # The class of the finding.
-  "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.
-    { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.
-      "groupId": "A String", # ID of the group.
-      "groupType": "A String", # Type of group.
+  "findingClass": "A String",
+  "groupMemberships": [
+    {
+      "groupId": "A String",
+      "groupType": "A String",
     },
   ],
-  "iamBindings": [ # Represents IAM bindings associated with the finding.
-    { # Represents a particular IAM binding, which captures a member's role addition, removal, or state.
-      "action": "A String", # The action that was performed on a Binding.
-      "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com".
-      "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner".
+  "iamBindings": [
+    {
+      "action": "A String",
+      "member": "A String",
+      "role": "A String",
     },
   ],
-  "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
-    "domains": [ # List of domains associated to the Finding.
+  "indicator": {
+    "domains": [
       "A String",
     ],
-    "ipAddresses": [ # The list of IP addresses that are associated with the finding.
+    "ipAddresses": [
       "A String",
     ],
-    "signatures": [ # The list of matched signatures indicating that the given process is present in the environment.
-      { # Indicates what signature matched this process.
-        "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched.
-          "binaryFamily": "A String", # The binary family.
-          "detections": [ # The list of memory hash detections contributing to the binary family match.
-            { # Memory hash detection contributing to the binary family match.
-              "binary": "A String", # The name of the binary associated with the memory hash signature detection.
-              "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched.
+    "signatures": [
+      {
+        "memoryHashSignature": {
+          "binaryFamily": "A String",
+          "detections": [
+            {
+              "binary": "A String",
+              "percentPagesMatched": 3.14,
             },
           ],
         },
-        "signatureType": "A String", # Describes the type of resource associated with the signature.
-        "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched.
-          "yaraRule": "A String", # The name of the YARA rule.
+        "signatureType": "A String",
+        "yaraRuleSignature": {
+          "yaraRule": "A String",
         },
       },
     ],
-    "uris": [ # The list of URIs associated to the Findings.
+    "uris": [
       "A String",
     ],
   },
-  "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding.
-    "allowed": { # Allowed IP rule. # Tuple with allowed rules.
-      "ipRules": [ # Optional. Optional list of allowed IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+  "ipRules": {
+    "allowed": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "denied": { # Denied IP rule. # Tuple with denied rules.
-      "ipRules": [ # Optional. Optional list of denied IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+    "denied": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "destinationIpRanges": [
       "A String",
     ],
-    "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress.
-    "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.
+    "direction": "A String",
+    "exposedServices": [
       "A String",
     ],
-    "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "sourceIpRanges": [
       "A String",
     ],
   },
-  "job": { # Describes a job # Job associated with the finding.
-    "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why.
-    "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1`
-    "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/`
-    "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`.
-  },
-  "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit.
-    "name": "A String", # Rootkit name, when available.
-    "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present.
-    "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present.
-    "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present.
-    "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.
-    "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present.
-    "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present.
-  },
-  "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding.
-    "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.
-      { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.
-        "group": "A String", # The API group of the resource. "*" means all.
-        "name": "A String", # The name of the resource being requested. Empty means all.
-        "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty).
-        "resource": "A String", # The optional resource type requested. "*" means all.
-        "subresource": "A String", # The optional subresource type.
-        "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all.
-        "version": "A String", # The API version of the resource. "*" means all.
-      },
-    ],
-    "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Represents a Kubernetes RoleBinding or ClusterRoleBinding.
-        "name": "A String", # Name for the binding.
-        "ns": "A String", # Namespace for the binding.
-        "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding.
-          "kind": "A String", # Role type.
-          "name": "A String", # Role name.
-          "ns": "A String", # Role namespace.
+  "job": {
+    "errorCode": 42,
+    "location": "A String",
+    "name": "A String",
+    "state": "A String",
+  },
+  "kernelRootkit": {
+    "name": "A String",
+    "unexpectedCodeModification": True or False,
+    "unexpectedFtraceHandler": True or False,
+    "unexpectedInterruptHandler": True or False,
+    "unexpectedKernelCodePages": True or False,
+    "unexpectedKprobeHandler": True or False,
+    "unexpectedProcessesInRunqueue": True or False,
+    "unexpectedReadOnlyDataModification": True or False,
+    "unexpectedSystemCallHandler": True or False,
+  },
+  "kubernetes": {
+    "accessReviews": [
+      {
+        "group": "A String",
+        "name": "A String",
+        "ns": "A String",
+        "resource": "A String",
+        "subresource": "A String",
+        "verb": "A String",
+        "version": "A String",
+      },
+    ],
+    "bindings": [
+      {
+        "name": "A String",
+        "ns": "A String",
+        "role": {
+          "kind": "A String",
+          "name": "A String",
+          "ns": "A String",
         },
-        "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests.
-          { # Represents a Kubernetes subject.
-            "kind": "A String", # Authentication type for the subject.
-            "name": "A String", # Name for the subject.
-            "ns": "A String", # Namespace for the subject.
+        "subjects": [
+          {
+            "kind": "A String",
+            "name": "A String",
+            "ns": "A String",
           },
         ],
       },
     ],
-    "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.
-      { # Provides GKE node pool information.
-        "name": "A String", # Kubernetes node pool name.
-        "nodes": [ # Nodes associated with the finding.
-          { # Kubernetes nodes associated with the finding.
-            "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodePools": [
+      {
+        "name": "A String",
+        "nodes": [
+          {
+            "name": "A String",
           },
         ],
       },
     ],
-    "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.
-      { # Kubernetes nodes associated with the finding.
-        "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodes": [
+      {
+        "name": "A String",
       },
     ],
-    "objects": [ # Kubernetes objects related to the finding.
-      { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "objects": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1".
-        "kind": "A String", # Kubernetes object kind, such as "Namespace".
-        "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.
-        "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.
-      },
-    ],
-    "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.
-      { # A Kubernetes Pod.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+        "group": "A String",
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
+      },
+    ],
+    "pods": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container.
-          { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-            "name": "A String", # Name of the label.
-            "value": "A String", # Value that corresponds to the label's name.
+        "labels": [
+          {
+            "name": "A String",
+            "value": "A String",
           },
         ],
-        "name": "A String", # Kubernetes Pod name.
-        "ns": "A String", # Kubernetes Pod namespace.
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Kubernetes Role or ClusterRole.
-        "kind": "A String", # Role type.
-        "name": "A String", # Role name.
-        "ns": "A String", # Role namespace.
+    "roles": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
   },
-  "loadBalancers": [ # The load balancers associated with the finding.
-    { # Contains information related to the load balancer associated with the finding.
-      "name": "A String", # The name of the load balancer associated with the finding.
+  "loadBalancers": [
+    {
+      "name": "A String",
     },
   ],
-  "logEntries": [ # Log entries that are relevant to the finding.
-    { # An individual entry in a log.
-      "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging.
-        "insertId": "A String", # A unique identifier for the log entry.
-        "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.
-        "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry.
-        "timestamp": "A String", # The time the event described by the log entry occurred.
+  "logEntries": [
+    {
+      "cloudLoggingEntry": {
+        "insertId": "A String",
+        "logId": "A String",
+        "resourceContainer": "A String",
+        "timestamp": "A String",
       },
     },
   ],
-  "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org
-    "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any.
+  "mitreAttack": {
+    "additionalTactics": [
       "A String",
     ],
-    "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.
+    "additionalTechniques": [
       "A String",
     ],
-    "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any.
-    "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
+    "primaryTactic": "A String",
+    "primaryTechniques": [
       "A String",
     ],
-    "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
+    "version": "A String",
   },
-  "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
-  "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.
-  "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding.
-    "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding.
-      { # The record of a dynamic mute rule that matches the finding.
-        "matchTime": "A String", # When the dynamic mute rule first matched the finding.
-        "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
+  "moduleName": "A String",
+  "mute": "A String",
+  "muteInfo": {
+    "dynamicMuteRecords": [
+      {
+        "matchTime": "A String",
+        "muteConfig": "A String",
       },
     ],
-    "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute.
-      "applyTime": "A String", # When the static mute was applied.
-      "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.
+    "staticMute": {
+      "applyTime": "A String",
+      "state": "A String",
     },
   },
-  "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.
-  "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted.
-  "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
-  "networks": [ # Represents the VPC networks that the resource is attached to.
-    { # Contains information about a VPC network associated with the finding.
-      "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.
+  "muteInitiator": "A String",
+  "muteUpdateTime": "A String",
+  "name": "A String",
+  "networks": [
+    {
+      "name": "A String",
     },
   ],
-  "nextSteps": "A String", # Steps to address the finding.
-  "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding.
-    "lastAuthor": "A String", # The user ID of the latest author to modify the notebook.
-    "name": "A String", # The name of the notebook.
-    "notebookUpdateTime": "A String", # The most recent time the notebook was updated.
-    "service": "A String", # The source notebook service, for example, "Colab Enterprise".
+  "nextSteps": "A String",
+  "notebook": {
+    "lastAuthor": "A String",
+    "name": "A String",
+    "notebookUpdateTime": "A String",
+    "service": "A String",
   },
-  "orgPolicies": [ # Contains information about the org policies associated with the finding.
-    { # Contains information about the org policies associated with the finding.
-      "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}"
+  "orgPolicies": [
+    {
+      "name": "A String",
     },
   ],
-  "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics".
-  "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding.
-    "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy.
-    "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown".
-    "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation.
-    "policyViolationsCount": "A String", # Count of child resources in violation of the policy.
-  },
-  "processes": [ # Represents operating system processes associated with the Finding.
-    { # Represents an operating system process.
-      "args": [ # Process arguments as JSON encoded strings.
+  "parent": "A String",
+  "parentDisplayName": "A String",
+  "policyViolationSummary": {
+    "conformantResourcesCount": "A String",
+    "evaluationErrorsCount": "A String",
+    "outOfScopeResourcesCount": "A String",
+    "policyViolationsCount": "A String",
+  },
+  "processes": [
+    {
+      "args": [
         "A String",
       ],
-      "argumentsTruncated": True or False, # True if `args` is incomplete.
-      "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "argumentsTruncated": True or False,
+      "binary": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
-      },
-      "envVariables": [ # Process environment variables.
-        { # A name-value pair representing an environment variable used in an operating system process.
-          "name": "A String", # Environment variable name as a JSON encoded string.
-          "val": "A String", # Environment variable value as a JSON encoded string.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
+      },
+      "envVariables": [
+        {
+          "name": "A String",
+          "val": "A String",
         },
       ],
-      "envVariablesTruncated": True or False, # True if `env_variables` is incomplete.
-      "libraries": [ # File information for libraries loaded by the process.
-        { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-          "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-          "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-            "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-            "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "envVariablesTruncated": True or False,
+      "libraries": [
+        {
+          "contents": "A String",
+          "diskPath": {
+            "partitionUuid": "A String",
+            "relativePath": "A String",
           },
-          "fileLoadState": "A String", # The load state of the file.
-          "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-          "operations": [ # Operation(s) performed on a file.
-            { # Operation(s) performed on a file.
-              "type": "A String", # The type of the operation
+          "fileLoadState": "A String",
+          "hashedSize": "A String",
+          "operations": [
+            {
+              "type": "A String",
             },
           ],
-          "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-          "path": "A String", # Absolute path of the file as a JSON encoded string.
-          "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-          "size": "A String", # Size of the file in bytes.
+          "partiallyHashed": True or False,
+          "path": "A String",
+          "sha256": "A String",
+          "size": "A String",
         },
       ],
-      "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
-      "parentPid": "A String", # The parent process ID.
-      "pid": "A String", # The process ID.
-      "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "name": "A String",
+      "parentPid": "A String",
+      "pid": "A String",
+      "script": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0.
+      "userId": "A String",
     },
   ],
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding.
-    "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret.
-      "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.
+  "resourceName": "A String",
+  "secret": {
+    "environmentVariable": {
+      "key": "A String",
     },
-    "filePath": { # File path containing the secret. # The file containing the secret.
-      "path": "A String", # Path to the file.
+    "filePath": {
+      "path": "A String",
     },
-    "status": { # The status of the secret. # The status of the secret.
-      "lastUpdatedTime": "A String", # Time that the secret was found.
-      "validity": "A String", # The validity of the secret.
+    "status": {
+      "lastUpdatedTime": "A String",
+      "validity": "A String",
     },
-    "type": "A String", # The type of secret, for example, GCP_API_KEY.
+    "type": "A String",
   },
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+  "securityMarks": {
+    "canonicalName": "A String",
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+    "name": "A String",
   },
-  "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding.
-    "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.
-    "name": "A String", # Name of the posture, for example, `CIS-Posture`.
-    "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`.
-    "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture.
-      { # The policy field that violates the deployed posture and its expected and detected values.
-        "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`.
-        "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`.
-        "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce
+  "securityPosture": {
+    "changedPolicy": "A String",
+    "name": "A String",
+    "policy": "A String",
+    "policyDriftDetails": [
+      {
+        "detectedValue": "A String",
+        "expectedValue": "A String",
+        "field": "A String",
       },
     ],
-    "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`.
-    "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.
-    "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.
-    "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`.
+    "policySet": "A String",
+    "postureDeployment": "A String",
+    "postureDeploymentResource": "A String",
+    "revisionId": "A String",
   },
-  "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding.
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "severity": "A String",
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
-  "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests.
-    "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.
-    "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.
+  "state": "A String",
+  "toxicCombination": {
+    "attackExposureScore": 3.14,
+    "relatedFindings": [
       "A String",
     ],
   },
-  "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding.
-    "datasets": [ # Datasets associated with the finding.
-      { # Vertex AI dataset associated with the finding.
-        "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset
-        "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856
-        "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod
-      },
-    ],
-    "pipelines": [ # Pipelines associated with the finding.
-      { # Vertex AI training pipeline associated with the finding.
-        "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification
-        "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496
-      },
-    ],
-  },
-  "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-    "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-      "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document
-        "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
-        "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.
-        "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
-        "baseScore": 3.14, # The base score is a function of the base metric scores.
-        "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
-        "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability.
-        "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
-        "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
-        "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
-      },
-      "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released.
-      "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild.
-      "firstExploitationDate": "A String", # Date of the earliest known exploitation.
-      "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527
-      "impact": "A String", # The potential impact of the vulnerability if it was to be exploited.
-      "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild.
-      "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
-        { # Additional Links
-          "source": "A String", # Source of the reference e.g. NVD
-          "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+  "vertexAi": {
+    "datasets": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+        "source": "A String",
+      },
+    ],
+    "pipelines": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+      },
+    ],
+  },
+  "vulnerability": {
+    "cve": {
+      "cvssv3": {
+        "attackComplexity": "A String",
+        "attackVector": "A String",
+        "availabilityImpact": "A String",
+        "baseScore": 3.14,
+        "confidentialityImpact": "A String",
+        "integrityImpact": "A String",
+        "privilegesRequired": "A String",
+        "scope": "A String",
+        "userInteraction": "A String",
+      },
+      "exploitReleaseDate": "A String",
+      "exploitationActivity": "A String",
+      "firstExploitationDate": "A String",
+      "id": "A String",
+      "impact": "A String",
+      "observedInTheWild": True or False,
+      "references": [
+        {
+          "source": "A String",
+          "uri": "A String",
         },
       ],
-      "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE.
-      "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published.
-    },
-    "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.
-      { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).
-        "id": "A String", # The CWE identifier, e.g. CWE-94
-        "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html
-          { # Additional Links
-            "source": "A String", # Source of the reference e.g. NVD
-            "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "upstreamFixAvailable": True or False,
+      "zeroDay": True or False,
+    },
+    "cwes": [
+      {
+        "id": "A String",
+        "references": [
+          {
+            "source": "A String",
+            "uri": "A String",
           },
         ],
       },
     ],
-    "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "fixedPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "offendingPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.
-    "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis)
-    "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding.
-      "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability.
-      "submissionTime": "A String", # Submission time of this Security Bulletin.
-      "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0
+    "providerRiskScore": "A String",
+    "reachable": True or False,
+    "securityBulletin": {
+      "bulletinId": "A String",
+      "submissionTime": "A String",
+      "suggestedUpgradeVersion": "A String",
     },
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -3611,811 +3611,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` - }, - ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. - }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", + }, + ], + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", + }, + "affectedResources": { + "count": "A String", + }, + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. - }, - ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. - }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", + }, + ], + "resourceId": "A String", + }, + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", + }, + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - }, - ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. - }, - ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "name": "A String", + }, + ], + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", + }, + ], + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. - }, - }, - }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", + }, + }, + }, + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", + }, + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. - }, - ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", + }, + ], + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - }, - ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", + }, + ], + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. - }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", + }, + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - }, - ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 - }, - ], - }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", + }, + ], + "pipelines": [ + { + "displayName": "A String", + "name": "A String", + }, + ], + }, + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", + }, + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -4423,15 +4423,15 @@

Method Details

setMute(name, body=None, x__xgafv=None) -
Updates the mute state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's mute status.
-  "mute": "A String", # Required. The desired state of the Mute.
+{
+  "mute": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -4442,811 +4442,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` - }, - ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. - }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", + }, + ], + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", + }, + "affectedResources": { + "count": "A String", + }, + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. - }, - ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. - }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", + }, + ], + "resourceId": "A String", + }, + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", + }, + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - }, - ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. - }, - ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "name": "A String", + }, + ], + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", + }, + ], + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. - }, - }, - }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", + }, + }, + }, + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", + }, + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. - }, - ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", + }, + ], + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - }, - ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", + }, + ], + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. - }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", + }, + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - }, - ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 - }, - ], - }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", + }, + ], + "pipelines": [ + { + "displayName": "A String", + "name": "A String", + }, + ], + }, + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", + }, + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -5254,16 +5254,16 @@

Method Details

setState(name, body=None, x__xgafv=None) -
Updates the state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's state.
-  "startTime": "A String", # Optional. The time at which the updated state takes effect. If unset, defaults to the request time.
-  "state": "A String", # Required. The desired State of the finding.
+{
+  "startTime": "A String",
+  "state": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -5274,811 +5274,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` - }, - ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. - }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", + }, + ], + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", + }, + "affectedResources": { + "count": "A String", + }, + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. - }, - ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. - }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", + }, + ], + "resourceId": "A String", + }, + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", + }, + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - }, - ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. - }, - ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "name": "A String", + }, + ], + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", + }, + ], + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. - }, - }, - }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", + }, + }, + }, + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", + }, + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. - }, - ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", + }, + ], + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - }, - ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", + }, + ], + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. - }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", + }, + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - }, - ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 - }, - ], - }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", + }, + ], + "pipelines": [ + { + "displayName": "A String", + "name": "A String", + }, + ], + }, + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", + }, + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -6086,23 +6086,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -6111,12 +6111,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.organizations.sources.html b/docs/dyn/securitycenter_v1.organizations.sources.html index 2039e67113..822878fc09 100644 --- a/docs/dyn/securitycenter_v1.organizations.sources.html +++ b/docs/dyn/securitycenter_v1.organizations.sources.html @@ -84,28 +84,28 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a source.

+

get(name, x__xgafv=None)

-

Gets a source.

+

getIamPolicy(resource, body=None, x__xgafv=None)

-

Gets the access control policy on the specified Source.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all sources belonging to an organization.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a source.

+

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the access control policy on the specified Source.

+

testIamPermissions(resource, body=None, x__xgafv=None)

-

Returns the permissions that a caller has on the specified source.

+

Method Details

close() @@ -114,18 +114,18 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a source.
+  
 
 Args:
-  parent: string, Required. Resource name of the new source's parent. Its format should be `organizations/[organization_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools.
-  "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries."
-  "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).
-  "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}"
+{
+  "canonicalName": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "name": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -136,20 +136,20 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }
get(name, x__xgafv=None) -
Gets a source.
+  
 
 Args:
-  name: string, Required. Relative resource name of the source. Its format is `organizations/[organization_id]/source/[source_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,26 +158,26 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }
getIamPolicy(resource, body=None, x__xgafv=None) -
Gets the access control policy on the specified Source.
+  
 
 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)
+  resource: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for `GetIamPolicy` method.
-  "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    "requestedPolicyVersion": 42, # 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).
+{
+  "options": {
+    "requestedPolicyVersion": 42,
   },
 }
 
@@ -189,47 +189,47 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + { + "auditConfigs": [ + { + "auditLogConfigs": [ + { + "exemptedMembers": [ "A String", ], - "logType": "A String", # The log type that this config enables. + "logType": "A String", }, ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + "service": "A String", }, ], - "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. + "bindings": [ + { + "condition": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "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`. + "members": [ "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). + "role": "A String", }, ], - "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). + "etag": "A String", + "version": 42, }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all sources belonging to an organization.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,14 +238,14 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing sources. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "sources": [ # Sources belonging to the requested parent. - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "nextPageToken": "A String", + "sources": [ + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }, ], }
@@ -267,21 +267,21 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a source.
+  
 
 Args:
-  name: string, The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools.
-  "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries."
-  "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).
-  "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}"
+{
+  "canonicalName": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "name": "A String",
 }
 
-  updateMask: string, The FieldMask to use when updating the source resource. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -290,56 +290,56 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }
setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the access control policy on the specified Source.
+  
 
 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)
+  resource: string, A parameter (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.
-    "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-        "auditLogConfigs": [ # The configuration for logging of each type of permission.
-          { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-            "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+{
+  "policy": {
+    "auditConfigs": [
+      {
+        "auditLogConfigs": [
+          {
+            "exemptedMembers": [
               "A String",
             ],
-            "logType": "A String", # The log type that this config enables.
+            "logType": "A String",
           },
         ],
-        "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+        "service": "A String",
       },
     ],
-    "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.
+    "bindings": [
+      {
+        "condition": {
+          "description": "A String",
+          "expression": "A String",
+          "location": "A String",
+          "title": "A String",
         },
-        "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`.
+        "members": [
           "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).
+        "role": "A String",
       },
     ],
-    "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).
+    "etag": "A String",
+    "version": 42,
   },
-  "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: "bindings, etag"`
+  "updateMask": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -350,50 +350,50 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + { + "auditConfigs": [ + { + "auditLogConfigs": [ + { + "exemptedMembers": [ "A String", ], - "logType": "A String", # The log type that this config enables. + "logType": "A String", }, ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + "service": "A String", }, ], - "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. + "bindings": [ + { + "condition": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "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`. + "members": [ "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). + "role": "A String", }, ], - "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). + "etag": "A String", + "version": 42, }
testIamPermissions(resource, body=None, x__xgafv=None) -
Returns the permissions that a caller has on the specified source.
+  
 
 Args:
-  resource: string, REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  resource: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for `TestIamPermissions` method.
-  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+{
+  "permissions": [
     "A String",
   ],
 }
@@ -406,8 +406,8 @@ 

Method Details

Returns: An object of the form: - { # Response message for `TestIamPermissions` method. - "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + { + "permissions": [ "A String", ], }
diff --git a/docs/dyn/securitycenter_v1.organizations.valuedResources.html b/docs/dyn/securitycenter_v1.organizations.valuedResources.html index d8d8a10334..e935447da9 100644 --- a/docs/dyn/securitycenter_v1.organizations.valuedResources.html +++ b/docs/dyn/securitycenter_v1.organizations.valuedResources.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists the valued resources for a set of simulation results and filter.

+

list_next()

Retrieves the next page of results.

@@ -91,14 +91,14 @@

Method Details

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists the valued resources for a set of simulation results and filter.
+  
 
 Args:
-  parent: string, Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` (required)
-  filter: string, The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =
-  orderBy: string, Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -107,20 +107,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing the valued resources for a given simulation. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "totalSize": 42, # The estimated total number of results matching the query. - "valuedResources": [ # The valued resources that the attack path simulation identified. - { # A resource that is determined to have value to a user's system - "displayName": "A String", # Human-readable name of the valued resource. - "exposedScore": 3.14, # Exposed score for this valued resource. A value of 0 means no exposure was detected exposure. - "name": "A String", # Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789` - "resource": "A String", # The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource. - "resourceType": "A String", # The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. - "resourceValue": "A String", # How valuable this resource is. - "resourceValueConfigsUsed": [ # List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. - { # Metadata about a ResourceValueConfig. For example, id and name. - "name": "A String", # Resource value config name + { + "nextPageToken": "A String", + "totalSize": 42, + "valuedResources": [ + { + "displayName": "A String", + "exposedScore": 3.14, + "name": "A String", + "resource": "A String", + "resourceType": "A String", + "resourceValue": "A String", + "resourceValueConfigsUsed": [ + { + "name": "A String", }, ], }, diff --git a/docs/dyn/securitycenter_v1.projects.assets.html b/docs/dyn/securitycenter_v1.projects.assets.html index 1c16a78119..78d589dc66 100644 --- a/docs/dyn/securitycenter_v1.projects.assets.html +++ b/docs/dyn/securitycenter_v1.projects.assets.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization's assets and groups them by their specified properties.

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization's assets.

+

list_next()

Retrieves the next page of results.

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -100,20 +100,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization's assets and groups them by their specified properties.
+  
 
 Args:
-  parent: string, Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by assets.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -124,18 +124,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for grouping by assets. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -155,17 +155,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization's assets.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  compareDuration: string, When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time.
-  fieldMask: string, A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -174,52 +174,52 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing assets. - "listAssetsResults": [ # Assets matching the list request. - { # Result containing the Asset and its State. - "asset": { # Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. # Asset matching the search request. - "canonicalName": "A String", # The canonical name of the resource. It's either "organizations/{organization_id}/assets/{asset_id}", "folders/{folder_id}/assets/{asset_id}" or "projects/{project_number}/assets/{asset_id}", depending on the closest CRM ancestor of the resource. - "createTime": "A String", # The time at which the asset was created in Security Command Center. - "iamPolicy": { # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. # Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. - "policyBlob": "A String", # The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details. + { + "listAssetsResults": [ + { + "asset": { + "canonicalName": "A String", + "createTime": "A String", + "iamPolicy": { + "policyBlob": "A String", }, - "name": "A String", # The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/assets/{asset_id}". - "resourceProperties": { # Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. + "name": "A String", + "resourceProperties": { "a_key": "", }, - "securityCenterProperties": { # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "securityCenterProperties": { + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "resourceDisplayName": "A String", # The user defined display name for this resource. - "resourceName": "A String", # The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceOwners": [ # Owners of the Google Cloud resource. + "resourceDisplayName": "A String", + "resourceName": "A String", + "resourceOwners": [ "A String", ], - "resourceParent": "A String", # The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceParentDisplayName": "A String", # The user defined display name for the parent of this resource. - "resourceProject": "A String", # The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceProjectDisplayName": "A String", # The user defined display name for the project of this resource. - "resourceType": "A String", # The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. + "resourceParent": "A String", + "resourceParentDisplayName": "A String", + "resourceProject": "A String", + "resourceProjectDisplayName": "A String", + "resourceType": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "updateTime": "A String", # The time at which the asset was last updated or added in Cloud SCC. + "updateTime": "A String", }, - "stateChange": "A String", # State change of the asset between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of assets matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -239,23 +239,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -264,12 +264,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.bigQueryExports.html b/docs/dyn/securitycenter_v1.projects.bigQueryExports.html index 9205f9fb20..50f24448a0 100644 --- a/docs/dyn/securitycenter_v1.projects.bigQueryExports.html +++ b/docs/dyn/securitycenter_v1.projects.bigQueryExports.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, bigQueryExportId=None, body=None, x__xgafv=None)

-

Creates a BigQuery export.

+

delete(name, x__xgafv=None)

-

Deletes an existing BigQuery export.

+

get(name, x__xgafv=None)

-

Gets a BigQuery export.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a BigQuery export.

+

Method Details

close() @@ -103,25 +103,25 @@

Method Details

create(parent, bigQueryExportId=None, body=None, x__xgafv=None) -
Creates a BigQuery export.
+  
 
 Args:
-  parent: string, Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  bigQueryExportId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  bigQueryExportId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -130,24 +130,24 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing BigQuery export.
+  
 
 Args:
-  name: string, Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -156,16 +156,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a BigQuery export.
+  
 
 Args:
-  name: string, Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -174,26 +174,26 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -202,20 +202,20 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing BigQuery exports. - "bigQueryExports": [ # The BigQuery exports from the specified parent. - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "bigQueryExports": [ + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -235,25 +235,25 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a BigQuery export.
+  
 
 Args:
-  name: string, The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Configures how to deliver Findings to BigQuery Instance.
-  "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.
-  "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).
-  "description": "A String", # The description of the export (max of 1024 characters).
-  "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.
-  "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests.
-  "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.
-  "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.
+{
+  "createTime": "A String",
+  "dataset": "A String",
+  "description": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "principal": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -262,15 +262,15 @@ 

Method Details

Returns: An object of the form: - { # Configures how to deliver Findings to BigQuery Instance. - "createTime": "A String", # Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - "dataset": "A String", # The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - "description": "A String", # The description of the export (max of 1024 characters). - "filter": "A String", # Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - "name": "A String", # The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id}/bigQueryExports/{export_id}" Example format: "folders/{folder_id}/bigQueryExports/{export_id}" Example format: "projects/{project_id}/bigQueryExports/{export_id}" This field is provided in responses, and is ignored when provided in create requests. - "principal": "A String", # Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - "updateTime": "A String", # Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. + { + "createTime": "A String", + "dataset": "A String", + "description": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "principal": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.customModules.html b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.customModules.html index 46e8301801..d87ee602f4 100644 --- a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Gets an Event Threat Detection custom module.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,7 +100,7 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.

+

Method Details

close() @@ -109,26 +109,26 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -139,28 +139,28 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -169,16 +169,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets an Event Threat Detection custom module.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -187,30 +187,30 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -219,35 +219,35 @@ 

Method Details

Returns: An object of the form: - { # Response for listing Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -256,24 +256,24 @@ 

Method Details

Returns: An object of the form: - { # Response for listing current and descendant resident Event Threat Detection custom modules. - "eventThreatDetectionCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "eventThreatDetectionCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -307,29 +307,29 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.
+  
 
 Args:
-  name: string, Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.
-  "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "config": {
     "a_key": "", # Properties of the object.
   },
-  "description": "A String", # The description for the module.
-  "displayName": "A String", # The human readable name to be displayed for the module.
-  "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy.
-  "lastEditor": "A String", # Output only. The editor the module was last updated by.
-  "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.
-  "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP.
-  "updateTime": "A String", # Output only. The time the module was last updated.
+  "description": "A String",
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -338,19 +338,19 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - "ancestorModule": "A String", # Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # The description for the module. - "displayName": "A String", # The human readable name to be displayed for the module. - "enablementState": "A String", # The state of enablement for the module at the given level of the hierarchy. - "lastEditor": "A String", # Output only. The editor the module was last updated by. - "name": "A String", # Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`. - "type": "A String", # Type for the module. e.g. CONFIGURABLE_BAD_IP. - "updateTime": "A String", # Output only. The time the module was last updated. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.effectiveCustomModules.html index e9c41329cb..914c434eb7 100644 --- a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Gets an effective Event Threat Detection custom module at the given level.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Gets an effective Event Threat Detection custom module at the given level.
+  
 
 Args:
-  name: string, Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,27 +106,27 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.
+  
 
 Args:
-  parent: string, Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
-  pageSize: integer, The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -135,21 +135,21 @@ 

Method Details

Returns: An object of the form: - { # Response for listing EffectiveEventThreatDetectionCustomModules. - "effectiveEventThreatDetectionCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "config": { # Output only. Config for the effective module. + { + "effectiveEventThreatDetectionCustomModules": [ + { + "cloudProvider": "A String", + "config": { "a_key": "", # Properties of the object. }, - "description": "A String", # Output only. The description for the module. - "displayName": "A String", # Output only. The human readable name to be displayed for the module. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. - "type": "A String", # Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. + "description": "A String", + "displayName": "A String", + "enablementState": "A String", + "name": "A String", + "type": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.html index 4e98a53963..d153a5d42f 100644 --- a/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1.projects.eventThreatDetectionSettings.html @@ -89,7 +89,7 @@

Instance Methods

Close httplib2 connections.

validateCustomModule(parent, body=None, x__xgafv=None)

-

Validates the given Event Threat Detection custom module.

+

Method Details

close() @@ -98,16 +98,16 @@

Method Details

validateCustomModule(parent, body=None, x__xgafv=None) -
Validates the given Event Threat Detection custom module.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request to validate an Event Threat Detection custom module.
-  "rawText": "A String", # Required. The raw text of the module's contents. Used to generate error messages.
-  "type": "A String", # Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).
+{
+  "rawText": "A String",
+  "type": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -118,19 +118,19 @@ 

Method Details

Returns: An object of the form: - { # Response to validating an Event Threat Detection custom module. - "errors": { # A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. # A list of errors returned by the validator. If the list is empty, there were no errors. - "errors": [ # The list of errors. - { # An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. - "description": "A String", # A description of the error, suitable for human consumption. Required. - "end": { # A position in the uploaded text version of a module. # The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + { + "errors": { + "errors": [ + { + "description": "A String", + "end": { + "columnNumber": 42, + "lineNumber": 42, }, - "fieldPath": "A String", # The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected. - "start": { # A position in the uploaded text version of a module. # The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - "columnNumber": 42, # The column number. - "lineNumber": 42, # The line number. + "fieldPath": "A String", + "start": { + "columnNumber": 42, + "lineNumber": 42, }, }, ], diff --git a/docs/dyn/securitycenter_v1.projects.findings.html b/docs/dyn/securitycenter_v1.projects.findings.html index 678ab1c4e3..9f67442c0d 100644 --- a/docs/dyn/securitycenter_v1.projects.findings.html +++ b/docs/dyn/securitycenter_v1.projects.findings.html @@ -76,24 +76,24 @@

Security Command Center API . bulkMute(parent, body=None, x__xgafv=None)

-

Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.

+

close()

Close httplib2 connections.

Method Details

bulkMute(parent, body=None, x__xgafv=None) -
Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.
+  
 
 Args:
-  parent: string, Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.
-  "filter": "A String", # Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
-  "muteAnnotation": "A String", # This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.
-  "muteState": "A String", # Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings.
+{
+  "filter": "A String",
+  "muteAnnotation": "A String",
+  "muteState": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -104,22 +104,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
diff --git a/docs/dyn/securitycenter_v1.projects.locations.muteConfigs.html b/docs/dyn/securitycenter_v1.projects.locations.muteConfigs.html index c8f2f30294..eb78b997cd 100644 --- a/docs/dyn/securitycenter_v1.projects.locations.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.projects.locations.muteConfigs.html @@ -79,13 +79,13 @@

Instance Methods

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -94,10 +94,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,16 +106,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -124,41 +124,41 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,16 +167,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.muteConfigs.html b/docs/dyn/securitycenter_v1.projects.muteConfigs.html index 1436c2cf32..9e49a9a66c 100644 --- a/docs/dyn/securitycenter_v1.projects.muteConfigs.html +++ b/docs/dyn/securitycenter_v1.projects.muteConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, muteConfigId=None, x__xgafv=None)

-

Creates a mute config.

+

delete(name, x__xgafv=None)

-

Deletes an existing mute config.

+

get(name, x__xgafv=None)

-

Gets a mute config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists mute configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a mute config.

+

Method Details

close() @@ -103,26 +103,26 @@

Method Details

create(parent, body=None, muteConfigId=None, x__xgafv=None) -
Creates a mute config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  muteConfigId: string, Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.
+  muteConfigId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -131,25 +131,25 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes an existing mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -158,16 +158,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a mute config.
+  
 
 Args:
-  name: string, Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -176,27 +176,27 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists mute configs.
+  
 
 Args:
-  parent: string, Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
-  pageToken: string, A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -205,21 +205,21 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing mute configs. - "muteConfigs": [ # The mute configs from the specified parent. - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "muteConfigs": [ + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }, ], - "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + "nextPageToken": "A String", }
@@ -239,26 +239,26 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a mute config.
+  
 
 Args:
-  name: string, This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.
-  "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.
-  "description": "A String", # A description of the mute config.
-  "displayName": "A String", # The human readable name to be displayed for the mute config.
-  "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.
-  "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
-  "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.
-  "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`
-  "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.
-  "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.
+{
+  "createTime": "A String",
+  "description": "A String",
+  "displayName": "A String",
+  "expiryTime": "A String",
+  "filter": "A String",
+  "mostRecentEditor": "A String",
+  "name": "A String",
+  "type": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -267,16 +267,16 @@ 

Method Details

Returns: An object of the form: - { # A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - "createTime": "A String", # Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - "description": "A String", # A description of the mute config. - "displayName": "A String", # The human readable name to be displayed for the mute config. - "expiryTime": "A String", # Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - "filter": "A String", # Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - "mostRecentEditor": "A String", # Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - "name": "A String", # This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}` - "type": "A String", # Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - "updateTime": "A String", # Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. + { + "createTime": "A String", + "description": "A String", + "displayName": "A String", + "expiryTime": "A String", + "filter": "A String", + "mostRecentEditor": "A String", + "name": "A String", + "type": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.notificationConfigs.html b/docs/dyn/securitycenter_v1.projects.notificationConfigs.html index 8688947aa5..95843828cd 100644 --- a/docs/dyn/securitycenter_v1.projects.notificationConfigs.html +++ b/docs/dyn/securitycenter_v1.projects.notificationConfigs.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, configId=None, x__xgafv=None)

-

Creates a notification config.

+

delete(name, x__xgafv=None)

-

Deletes a notification config.

+

get(name, x__xgafv=None)

-

Gets a notification config.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists notification configs.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter

+

Method Details

close() @@ -103,24 +103,24 @@

Method Details

create(parent, body=None, configId=None, x__xgafv=None) -
Creates a notification config.
+  
 
 Args:
-  parent: string, Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  configId: string, Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.
+  configId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -129,23 +129,23 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
delete(name, x__xgafv=None) -
Deletes a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -154,16 +154,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets a notification config.
+  
 
 Args:
-  name: string, Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -172,25 +172,25 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists notification configs.
+  
 
 Args:
-  parent: string, Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -199,16 +199,16 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing notification configs. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "notificationConfigs": [ # Notification configs belonging to the requested parent. - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "nextPageToken": "A String", + "notificationConfigs": [ + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }, ], @@ -231,24 +231,24 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
 Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter
+  
 
 Args:
-  name: string, The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.
-  "description": "A String", # The description of the notification config (max of 1024 characters).
-  "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket".
-  "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
-  "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
-  "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications.
-    "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.
+{
+  "description": "A String",
+  "name": "A String",
+  "pubsubTopic": "A String",
+  "serviceAccount": "A String",
+  "streamingConfig": {
+    "filter": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,13 +257,13 @@ 

Method Details

Returns: An object of the form: - { # Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - "description": "A String", # The description of the notification config (max of 1024 characters). - "name": "A String", # The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/notificationConfigs/notify_public_bucket", "folders/{folder_id}/notificationConfigs/notify_public_bucket", or "projects/{project_id}/notificationConfigs/notify_public_bucket". - "pubsubTopic": "A String", # The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - "serviceAccount": "A String", # Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - "streamingConfig": { # The config for streaming-based notifications, which send each event as soon as it is detected. # The config for triggering streaming-based notifications. - "filter": "A String", # Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. + { + "description": "A String", + "name": "A String", + "pubsubTopic": "A String", + "serviceAccount": "A String", + "streamingConfig": { + "filter": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html index 0046b0404c..92d8c3eb1b 100644 --- a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html +++ b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html @@ -79,19 +79,19 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.

+

delete(name, x__xgafv=None)

-

Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.

+

get(name, x__xgafv=None)

-

Retrieves a SecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.

+

listDescendant_next()

Retrieves the next page of results.

@@ -100,10 +100,10 @@

Instance Methods

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.

+

simulate(parent, body=None, x__xgafv=None)

-

Simulates a given SecurityHealthAnalyticsCustomModule and Resource.

+

Method Details

close() @@ -112,50 +112,50 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.
+  
 
 Args:
-  parent: string, Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -166,52 +166,52 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
delete(name, x__xgafv=None) -
Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.
+  
 
 Args:
-  name: string, Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -220,16 +220,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Retrieves a SecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -238,54 +238,54 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -294,46 +294,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -341,12 +341,12 @@

Method Details

listDescendant(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.
+  
 
 Args:
-  parent: string, Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -355,46 +355,46 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing descendant Security Health Analytics custom modules. - "nextPageToken": "A String", # If not empty, indicates that there may be more custom modules to be returned. - "securityHealthAnalyticsCustomModules": [ # Custom modules belonging to the requested parent and its descendants. - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "nextPageToken": "A String", + "securityHealthAnalyticsCustomModules": [ + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }, ], }
@@ -430,53 +430,53 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only.
+  
 
 Args:
-  name: string, Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.
-  "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.
-  "cloudProvider": "A String", # The cloud provider of the custom module.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "ancestorModule": "A String",
+  "cloudProvider": "A String",
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.
-  "enablementState": "A String", # The enablement state of the custom module.
-  "lastEditor": "A String", # Output only. The editor that last updated the custom module.
-  "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.
-  "updateTime": "A String", # Output only. The time at which the custom module was last updated.
+  "displayName": "A String",
+  "enablementState": "A String",
+  "lastEditor": "A String",
+  "name": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -485,121 +485,121 @@ 

Method Details

Returns: An object of the form: - { # Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - "ancestorModule": "A String", # Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # The user specified custom configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "ancestorModule": "A String", + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # The enablement state of the custom module. - "lastEditor": "A String", # Output only. The editor that last updated the custom module. - "name": "A String", # Immutable. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - "updateTime": "A String", # Output only. The time at which the custom module was last updated. + "displayName": "A String", + "enablementState": "A String", + "lastEditor": "A String", + "name": "A String", + "updateTime": "A String", }
simulate(parent, body=None, x__xgafv=None) -
Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
+  
 
 Args:
-  parent: string, Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default.
-  "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Required. The custom configuration that you need to test.
-    "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties.
-      "properties": [ # A list of custom output properties to add to the finding.
-        { # An individual name-value pair that defines a custom source property.
-          "name": "A String", # Name of the property for the custom output.
-          "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks.
-            "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.
+{
+  "customConfig": {
+    "customOutput": {
+      "properties": [
+        {
+          "name": "A String",
+          "valueExpression": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
         },
       ],
     },
-    "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.
-    "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated.
-      "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.
+    "description": "A String",
+    "predicate": {
+      "description": "A String",
+      "expression": "A String",
+      "location": "A String",
+      "title": "A String",
     },
-    "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.
-    "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types.
-      "resourceTypes": [ # The resource types to run the detector on.
+    "recommendation": "A String",
+    "resourceSelector": {
+      "resourceTypes": [
         "A String",
       ],
     },
-    "severity": "A String", # The severity to assign to findings generated by the module.
+    "severity": "A String",
   },
-  "resource": { # Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data. # Required. Resource data to simulate custom module against.
-    "iamPolicyData": { # 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/). # Optional. A representation of the IAM policy.
-      "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-        { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-          "auditLogConfigs": [ # The configuration for logging of each type of permission.
-            { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-              "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+  "resource": {
+    "iamPolicyData": {
+      "auditConfigs": [
+        {
+          "auditLogConfigs": [
+            {
+              "exemptedMembers": [
                 "A String",
               ],
-              "logType": "A String", # The log type that this config enables.
+              "logType": "A String",
             },
           ],
-          "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+          "service": "A String",
         },
       ],
-      "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.
+      "bindings": [
+        {
+          "condition": {
+            "description": "A String",
+            "expression": "A String",
+            "location": "A String",
+            "title": "A String",
           },
-          "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`.
+          "members": [
             "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).
+          "role": "A String",
         },
       ],
-      "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).
+      "etag": "A String",
+      "version": 42,
     },
-    "resourceData": { # Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format.
+    "resourceData": {
       "a_key": "", # Properties of the object.
     },
-    "resourceType": "A String", # Required. The type of the resource, for example, `compute.googleapis.com/Disk`.
+    "resourceType": "A String",
   },
 }
 
@@ -611,826 +611,826 @@ 

Method Details

Returns: An object of the form: - { # Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource. - "result": { # Possible test result. # Result for test case in the corresponding request. - "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). # Error encountered during the test. - "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. + { + "result": { + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding that would be published for the test case, if a violation is detected. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "noViolation": { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } # Indicates that the test case does not trigger any violation. + "noViolation": { }, }, }
diff --git a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.effectiveCustomModules.html b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.effectiveCustomModules.html index aaf2056402..ffe572b621 100644 --- a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.effectiveCustomModules.html +++ b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.effectiveCustomModules.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, x__xgafv=None)

-

Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.

+

list_next()

Retrieves the next page of results.

@@ -94,10 +94,10 @@

Method Details

get(name, x__xgafv=None) -
Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.
+  
 
 Args:
-  name: string, Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}` (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -106,51 +106,51 @@ 

Method Details

Returns: An object of the form: - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.
+  
 
 Args:
-  parent: string, Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings` (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last call indicating a continuation
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,45 +159,45 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing effective Security Health Analytics custom modules. - "effectiveSecurityHealthAnalyticsCustomModules": [ # Effective custom modules belonging to the requested parent. - { # An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - "cloudProvider": "A String", # The cloud provider of the custom module. - "customConfig": { # Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. # Output only. The user-specified configuration for the module. - "customOutput": { # A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. # Custom output properties. - "properties": [ # A list of custom output properties to add to the finding. - { # An individual name-value pair that defines a custom source property. - "name": "A String", # Name of the property for the custom output. - "valueExpression": { # 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 CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - "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. + { + "effectiveSecurityHealthAnalyticsCustomModules": [ + { + "cloudProvider": "A String", + "customConfig": { + "customOutput": { + "properties": [ + { + "name": "A String", + "valueExpression": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, }, ], }, - "description": "A String", # Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - "predicate": { # 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 CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - "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. + "description": "A String", + "predicate": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "recommendation": "A String", # An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - "resourceSelector": { # Resource for selecting resource type. # The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - "resourceTypes": [ # The resource types to run the detector on. + "recommendation": "A String", + "resourceSelector": { + "resourceTypes": [ "A String", ], }, - "severity": "A String", # The severity to assign to findings generated by the module. + "severity": "A String", }, - "displayName": "A String", # Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - "enablementState": "A String", # Output only. The effective state of enablement for the module at the given level of the hierarchy. - "name": "A String", # Output only. The resource name of the custom module. Its format is "organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}", or "projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}" + "displayName": "A String", + "enablementState": "A String", + "name": "A String", }, ], - "nextPageToken": "A String", # If not empty, indicates that there may be more effective custom modules to be returned. + "nextPageToken": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.sources.findings.externalSystems.html b/docs/dyn/securitycenter_v1.projects.sources.findings.externalSystems.html index a6c94b819e..288014ef83 100644 --- a/docs/dyn/securitycenter_v1.projects.sources.findings.externalSystems.html +++ b/docs/dyn/securitycenter_v1.projects.sources.findings.externalSystems.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates external system. This is for a given finding.

+

Method Details

close() @@ -88,37 +88,37 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates external system. This is for a given finding.
+  
 
 Args:
-  name: string, Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Representation of third party SIEM/SOAR fields within SCC.
-  "assignees": [ # References primary/secondary etc assignees in the external system.
+{
+  "assignees": [
     "A String",
   ],
-  "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-  "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-  "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-  "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-  "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-  "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-  "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-  "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-  "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-  "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-    "assignee": "A String", # The assignee of the ticket in the ticket system.
-    "description": "A String", # The description of the ticket in the ticket system.
-    "id": "A String", # The identifier of the ticket in the ticket system.
-    "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-    "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-    "uri": "A String", # The link to the ticket in the ticket system.
+  "caseCloseTime": "A String",
+  "caseCreateTime": "A String",
+  "casePriority": "A String",
+  "caseSla": "A String",
+  "caseUri": "A String",
+  "externalSystemUpdateTime": "A String",
+  "externalUid": "A String",
+  "name": "A String",
+  "status": "A String",
+  "ticketInfo": {
+    "assignee": "A String",
+    "description": "A String",
+    "id": "A String",
+    "status": "A String",
+    "updateTime": "A String",
+    "uri": "A String",
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -127,26 +127,26 @@ 

Method Details

Returns: An object of the form: - { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }
diff --git a/docs/dyn/securitycenter_v1.projects.sources.findings.html b/docs/dyn/securitycenter_v1.projects.sources.findings.html index dcc6584e17..1f225663c7 100644 --- a/docs/dyn/securitycenter_v1.projects.sources.findings.html +++ b/docs/dyn/securitycenter_v1.projects.sources.findings.html @@ -84,28 +84,28 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.

+

setMute(name, body=None, x__xgafv=None)

-

Updates the mute state of a finding.

+

setState(name, body=None, x__xgafv=None)

-

Updates the state of a finding.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -114,20 +114,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-` (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by findings.
-  "compareDuration": "A String", # When compare_duration is set, the GroupResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported when compare_duration is set: * state_change
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -138,18 +138,18 @@ 

Method Details

Returns: An object of the form: - { # Response message for group by findings. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. - "totalSize": 42, # The total number of results matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -169,17 +169,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-` (required)
-  compareDuration: string, When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time.
-  fieldMask: string, A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -188,945 +188,945 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing findings. - "listFindingsResults": [ # Findings matching the list request. - { # Result containing the Finding and its StateChange. - "finding": { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. # Finding matching the search request. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. + { + "listFindingsResults": [ + { + "finding": { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. + "application": { + "baseUri": "A String", + "fullUri": "A String", }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. + "threatVector": "A String", }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". + "disk": { + "name": "A String", }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. + "totalExfiltratedBytes": "A String", }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }, - "resource": { # Information related to the Google Cloud resource that is associated with this finding. # Output only. Resource that is associated with this finding. - "adcApplication": { # Represents an ADC application associated with the finding. # The ADC application associated with the finding. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the AppHub application. - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "resource": { + "adcApplication": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application} + "name": "A String", }, - "adcApplicationTemplate": { # Represents an ADC template associated with the finding. # The ADC template associated with the finding. - "name": "A String", # The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcApplicationTemplate": { + "name": "A String", }, - "adcSharedTemplate": { # Represents an ADC shared template associated with the finding. # The ADC shared template associated with the finding. - "name": "A String", # The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision} + "adcSharedTemplate": { + "name": "A String", }, - "application": { # The App Hub Application associated with the finding's resource. # The App Hub application this resource belongs to. - "attributes": { # Consumer provided attributes for the application # Consumer provided attributes for the application - "businessOwners": [ # Business team that ensures user needs are met and value is delivered - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "application": { + "attributes": { + "businessOwners": [ + { + "email": "A String", }, ], - "criticality": { # Criticality of the Application, Service, or Workload # User-defined criticality information. - "type": "A String", # Criticality Type. + "criticality": { + "type": "A String", }, - "developerOwners": [ # Developer team that owns development and coding. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "developerOwners": [ + { + "email": "A String", }, ], - "environment": { # Environment of the Application, Service, or Workload # User-defined environment information. - "type": "A String", # Environment Type. + "environment": { + "type": "A String", }, - "operatorOwners": [ # Operator team that ensures runtime and operations. - { # Contact information of stakeholders. - "email": "A String", # Email address of the contacts. + "operatorOwners": [ + { + "email": "A String", }, ], }, - "name": "A String", # The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}` + "name": "A String", }, - "awsMetadata": { # AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. # The AWS metadata associated with the finding. - "account": { # An AWS account that is a member of an organization. # The AWS account associated with the resource. - "id": "A String", # The unique identifier (ID) of the account, containing exactly 12 digits. - "name": "A String", # The friendly name of this account. + "awsMetadata": { + "account": { + "id": "A String", + "name": "A String", }, - "organization": { # An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. # The AWS organization associated with the resource. - "id": "A String", # The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. + "organization": { + "id": "A String", }, - "organizationalUnits": [ # A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - { # An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - "id": "A String", # The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - "name": "A String", # The friendly name of the OU. + "organizationalUnits": [ + { + "id": "A String", + "name": "A String", }, ], }, - "azureMetadata": { # Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. # The Azure metadata associated with the finding. - "managementGroups": [ # A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - { # Represents an Azure management group. - "displayName": "A String", # The display name of the Azure management group. - "id": "A String", # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. + "azureMetadata": { + "managementGroups": [ + { + "displayName": "A String", + "id": "A String", }, ], - "resourceGroup": { # Represents an Azure resource group. # The Azure resource group associated with the resource. - "id": "A String", # The ID of the Azure resource group. - "name": "A String", # The name of the Azure resource group. This is not a UUID. + "resourceGroup": { + "id": "A String", + "name": "A String", }, - "subscription": { # Represents an Azure subscription. # The Azure subscription associated with the resource. - "displayName": "A String", # The display name of the Azure subscription. - "id": "A String", # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. + "subscription": { + "displayName": "A String", + "id": "A String", }, - "tenant": { # Represents a Microsoft Entra tenant. # The Azure Entra tenant associated with the resource. - "displayName": "A String", # The display name of the Azure tenant. - "id": "A String", # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". + "tenant": { + "displayName": "A String", + "id": "A String", }, }, - "cloudProvider": "A String", # Indicates which cloud provider the finding is from. - "displayName": "A String", # The human readable name of the resource. - "folders": [ # Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - { # Message that contains the resource name and display name of a folder resource. - "resourceFolder": "A String", # Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceFolderDisplayName": "A String", # The user defined display name for this folder. + "cloudProvider": "A String", + "displayName": "A String", + "folders": [ + { + "resourceFolder": "A String", + "resourceFolderDisplayName": "A String", }, ], - "location": "A String", # The region or location of the service (if applicable). - "name": "A String", # The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "organization": "A String", # Indicates which organization / tenant the finding is for. - "parentDisplayName": "A String", # The human readable name of resource's parent. - "parentName": "A String", # The full resource name of resource's parent. - "projectDisplayName": "A String", # The project ID that the resource belongs to. - "projectName": "A String", # The full resource name of project that the resource belongs to. - "resourcePath": { # Represents the path of resources leading up to the resource this finding is about. # Provides the path to the resource within the resource hierarchy. - "nodes": [ # The list of nodes that make the up resource path, ordered from lowest level to highest level. - { # A node within the resource path. Each node represents a resource within the resource hierarchy. - "displayName": "A String", # The display name of the resource this node represents. - "id": "A String", # The ID of the resource this node represents. - "nodeType": "A String", # The type of resource this node represents. + "location": "A String", + "name": "A String", + "organization": "A String", + "parentDisplayName": "A String", + "parentName": "A String", + "projectDisplayName": "A String", + "projectName": "A String", + "resourcePath": { + "nodes": [ + { + "displayName": "A String", + "id": "A String", + "nodeType": "A String", }, ], }, - "resourcePathString": "A String", # A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups. - "service": "A String", # The service or resource provider associated with the resource. - "type": "A String", # The full resource type of the resource. + "resourcePathString": "A String", + "service": "A String", + "type": "A String", }, - "stateChange": "A String", # State change of the finding between the points in time. + "stateChange": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of findings matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -1146,823 +1146,823 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.
+  
 
 Args:
-  name: string, The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.
-  "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where.
-    "callerIp": "A String", # Caller's IP address, such as "1.1.1.1".
-    "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from.
-      "regionCode": "A String", # A CLDR.
-    },
-    "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy".
-    "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).
-    "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.
-    "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.
-      { # Identity delegation history of an authenticated service account.
-        "principalEmail": "A String", # The email address of a Google account.
-        "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`
+{
+  "access": {
+    "callerIp": "A String",
+    "callerIpGeo": {
+      "regionCode": "A String",
+    },
+    "methodName": "A String",
+    "principalEmail": "A String",
+    "principalSubject": "A String",
+    "serviceAccountDelegationInfo": [
+      {
+        "principalEmail": "A String",
+        "principalSubject": "A String",
       },
     ],
-    "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}".
-    "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com"
-    "userAgent": "A String", # The caller's user agent string associated with the finding.
-    "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.
-    "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.
+    "serviceAccountKeyName": "A String",
+    "serviceName": "A String",
+    "userAgent": "A String",
+    "userAgentFamily": "A String",
+    "userName": "A String",
   },
-  "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding.
-    "count": "A String", # The count of resources affected by the finding.
+  "affectedResources": {
+    "count": "A String",
   },
-  "agentDataAccessEvents": [ # Agent data access events associated with the finding.
-    { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalSubject": "A String", # The agent principal that accessed the data.
+  "agentDataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalSubject": "A String",
     },
   ],
-  "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding.
-    "deploymentPlatform": "A String", # The platform on which the model is deployed.
-    "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model
-    "domain": "A String", # The domain of the model, for example, “image-classification”.
-    "library": "A String", # The name of the model library, for example, “transformers”.
-    "location": "A String", # The region in which the model is used, for example, “us-central1”.
-    "name": "A String", # The name of the AI model, for example, "gemini:1.0.0".
-    "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”.
-    "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training".
-  },
-  "application": { # Represents an application associated with a finding. # Represents an application associated with the finding.
-    "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.
-    "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.
-  },
-  "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding.
-    "failingPolicies": [ # A list of failing policies.
-      { # Represents an artifact guard policy.
-        "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2".
-        "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy".
-        "type": "A String", # The type of the policy evaluation.
+  "aiModel": {
+    "deploymentPlatform": "A String",
+    "displayName": "A String",
+    "domain": "A String",
+    "library": "A String",
+    "location": "A String",
+    "name": "A String",
+    "publisher": "A String",
+    "usageCategory": "A String",
+  },
+  "application": {
+    "baseUri": "A String",
+    "fullUri": "A String",
+  },
+  "artifactGuardPolicies": {
+    "failingPolicies": [
+      {
+        "failureReason": "A String",
+        "policyId": "A String",
+        "type": "A String",
       },
     ],
-    "resourceId": "A String", # The ID of the resource that has policies configured for it.
+    "resourceId": "A String",
   },
-  "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding.
-    "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`
-    "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding.
-    "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding.
-    "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding.
-    "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.
-    "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.
+  "attackExposure": {
+    "attackExposureResult": "A String",
+    "exposedHighValueResourcesCount": 42,
+    "exposedLowValueResourcesCount": 42,
+    "exposedMediumValueResourcesCount": 42,
+    "latestCalculationTime": "A String",
+    "score": 3.14,
+    "state": "A String",
   },
-  "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings.
-    "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.
-    "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
+  "backupDisasterRecovery": {
+    "appliance": "A String",
+    "applications": [
       "A String",
     ],
-    "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created.
-    "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.
-    "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.
-    "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.
-    "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.
+    "backupCreateTime": "A String",
+    "backupTemplate": "A String",
+    "backupType": "A String",
+    "host": "A String",
+    "policies": [
       "A String",
     ],
-    "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.
+    "policyOptions": [
       "A String",
     ],
-    "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.
-    "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.
+    "profile": "A String",
+    "storagePool": "A String",
   },
-  "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests.
-    "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.
+  "canonicalName": "A String",
+  "category": "A String",
+  "chokepoint": {
+    "relatedFindings": [
       "A String",
     ],
   },
-  "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings.
-    "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview).
-      "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.
-    },
-    "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification.
-      "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
-      "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.
-      "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack.
-      "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.
-      "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack.
-    },
-    "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes).
-    "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview).
-      "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term.
-      "longTermDenied": 42, # Denied RPS (requests per second) over the long term.
-      "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.
-      "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term.
-    },
-    "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.
-      "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy".
-      "preview": True or False, # Whether or not the associated rule or policy is in preview mode.
-      "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.
-    },
-    "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks.
-  },
-  "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding.
-    "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.
-    "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.
-      { # Type of information detected by the API.
-        "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
-        "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
-          "score": "A String", # The sensitivity score applied to the resource.
+  "cloudArmor": {
+    "adaptiveProtection": {
+      "confidence": 3.14,
+    },
+    "attack": {
+      "classification": "A String",
+      "volumeBps": 42,
+      "volumeBpsLong": "A String",
+      "volumePps": 42,
+      "volumePpsLong": "A String",
+    },
+    "duration": "A String",
+    "requests": {
+      "longTermAllowed": 42,
+      "longTermDenied": 42,
+      "ratio": 3.14,
+      "shortTermAllowed": 42,
+    },
+    "securityPolicy": {
+      "name": "A String",
+      "preview": True or False,
+      "type": "A String",
+    },
+    "threatVector": "A String",
+  },
+  "cloudDlpDataProfile": {
+    "dataProfile": "A String",
+    "infoTypes": [
+      {
+        "name": "A String",
+        "sensitivityScore": {
+          "score": "A String",
         },
-        "version": "A String", # Optional version name for this InfoType.
+        "version": "A String",
       },
     ],
-    "parentType": "A String", # The resource hierarchy level at which the data profile was generated.
+    "parentType": "A String",
   },
-  "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding.
-    "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset.
-    "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.
-    "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource.
-    "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.
+  "cloudDlpInspection": {
+    "fullScan": True or False,
+    "infoType": "A String",
+    "infoTypeCount": "A String",
+    "inspectJob": "A String",
   },
-  "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding.
-    "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding
-      "cloudControlName": "A String", # Name of the CloudControl associated with the finding.
-      "policyType": "A String", # Policy type of the CloudControl
-      "type": "A String", # Type of cloud control.
-      "version": 42, # Version of the Cloud Control
+  "complianceDetails": {
+    "cloudControl": {
+      "cloudControlName": "A String",
+      "policyType": "A String",
+      "type": "A String",
+      "version": 42,
     },
-    "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier
+    "cloudControlDeploymentNames": [
       "A String",
     ],
-    "frameworks": [ # Details of Frameworks associated with the finding
-      { # Compliance framework associated with the finding.
-        "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads
+    "frameworks": [
+      {
+        "category": [
           "A String",
         ],
-        "controls": [ # The controls associated with the framework.
-          { # Compliance control associated with the finding.
-            "controlName": "A String", # Name of the Control
-            "displayName": "A String", # Display name of the control. For example, AU-02.
+        "controls": [
+          {
+            "controlName": "A String",
+            "displayName": "A String",
           },
         ],
-        "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework
-        "name": "A String", # Name of the framework associated with the finding
-        "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)
+        "displayName": "A String",
+        "name": "A String",
+        "type": "A String",
       },
     ],
   },
-  "compliances": [ # Contains compliance information for security standards associated to the finding.
-    { # Contains compliance information about a security standard indicating unmet recommendations.
-      "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1
+  "compliances": [
+    {
+      "ids": [
         "A String",
       ],
-      "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.
-      "version": "A String", # Version of the standard or benchmark, for example, 1.1
+      "standard": "A String",
+      "version": "A String",
     },
   ],
-  "connections": [ # Contains information about the IP connection associated with the finding.
-    { # Contains information about the IP connection associated with the finding.
-      "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected.
-      "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected.
-      "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17).
-      "sourceIp": "A String", # Source IP address.
-      "sourcePort": 42, # Source port.
+  "connections": [
+    {
+      "destinationIp": "A String",
+      "destinationPort": 42,
+      "protocol": "A String",
+      "sourceIp": "A String",
+      "sourcePort": 42,
     },
   ],
-  "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } }
-    "a_key": { # Details about specific contacts
-      "contacts": [ # A list of contacts
-        { # The email address of a contact.
-          "email": "A String", # An email address. For example, "`person123@company.com`".
+  "contacts": {
+    "a_key": {
+      "contacts": [
+        {
+          "email": "A String",
         },
       ],
     },
   },
-  "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.
-    { # Container associated with the finding.
-      "createTime": "A String", # The time that the container was created.
-      "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-      "labels": [ # Container labels, as provided by the container runtime.
-        { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-          "name": "A String", # Name of the label.
-          "value": "A String", # Value that corresponds to the label's name.
+  "containers": [
+    {
+      "createTime": "A String",
+      "imageId": "A String",
+      "labels": [
+        {
+          "name": "A String",
+          "value": "A String",
         },
       ],
-      "name": "A String", # Name of the container.
-      "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+      "name": "A String",
+      "uri": "A String",
     },
   ],
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "dataAccessEvents": [ # Data access events associated with the finding.
-    { # Details about a data access attempt made by a principal not authorized under applicable data security policy.
-      "eventId": "A String", # Unique identifier for data access event.
-      "eventTime": "A String", # Timestamp of data access event.
-      "operation": "A String", # The operation performed by the principal to access the data.
-      "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.
+  "createTime": "A String",
+  "dataAccessEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
     },
   ],
-  "dataFlowEvents": [ # Data flow events associated with the finding.
-    { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.
-      "eventId": "A String", # Unique identifier for data flow event.
-      "eventTime": "A String", # Timestamp of data flow event.
-      "operation": "A String", # The operation performed by the principal for the data flow event.
-      "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.
-      "violatedLocation": "A String", # Non-compliant location of the principal or the data destination.
+  "dataFlowEvents": [
+    {
+      "eventId": "A String",
+      "eventTime": "A String",
+      "operation": "A String",
+      "principalEmail": "A String",
+      "violatedLocation": "A String",
     },
   ],
-  "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding.
-    { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.
-      "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.
-      "eventDetectionTime": "A String", # Timestamp indicating when the event was detected.
-      "eventType": "A String", # Type of the DRD event.
-      "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.
-      "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.
+  "dataRetentionDeletionEvents": [
+    {
+      "dataObjectCount": "A String",
+      "eventDetectionTime": "A String",
+      "eventType": "A String",
+      "maxRetentionAllowed": "A String",
+      "minRetentionAllowed": "A String",
     },
   ],
-  "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding.
-    "displayName": "A String", # The human-readable name of the database that the user connected to.
-    "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.
+  "database": {
+    "displayName": "A String",
+    "grantees": [
       "A String",
     ],
-    "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.
-    "query": "A String", # The SQL statement that is associated with the database access.
-    "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format.
-    "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).
-  },
-  "description": "A String", # Contains more details about the finding.
-  "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding.
-    "confidence": "A String", # The confidence in detection of this workload.
-    "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type.
-    "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type.
-    "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type.
-    "workloadType": "A String", # The type of workload.
-  },
-  "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding.
-    "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}".
-  },
-  "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.
-  "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding.
-    "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "name": "A String",
+    "query": "A String",
+    "userName": "A String",
+    "version": "A String",
+  },
+  "description": "A String",
+  "discoveredWorkload": {
+    "confidence": "A String",
+    "detectedRelevantHardware": True or False,
+    "detectedRelevantKeywords": True or False,
+    "detectedRelevantPackages": True or False,
+    "workloadType": "A String",
+  },
+  "disk": {
+    "name": "A String",
+  },
+  "eventTime": "A String",
+  "exfiltration": {
+    "sources": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data.
-      { # Resource where data was exfiltrated from or exfiltrated to.
-        "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.
+    "targets": [
+      {
+        "components": [
           "A String",
         ],
-        "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).
+        "name": "A String",
       },
     ],
-    "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job.
-  },
-  "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding.
-    "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}"
-    "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184".
-    "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”
-    "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
-    "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}".
-    "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/"
-    "httpResponse": [ # The http response returned by the web application.
-      { # The http response returned by the web application.
-        "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test".
-        "statusCode": "A String", # The http response code returned by the web application, for example, 200.
+    "totalExfiltratedBytes": "A String",
+  },
+  "externalExposure": {
+    "backendBucket": "A String",
+    "backendService": "A String",
+    "exposedApplication": "A String",
+    "exposedEndpoint": "A String",
+    "exposedService": "A String",
+    "forwardingRule": "A String",
+    "hostnameUri": "A String",
+    "httpResponse": [
+      {
+        "path": "A String",
+        "statusCode": "A String",
       },
     ],
-    "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}".
-    "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}".
-    "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-    "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}".
-    "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}".
-    "privateIpAddress": "A String", # Private IP address of the exposed endpoint.
-    "privatePort": "A String", # Port number associated with private IP address.
-    "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}"
-    "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}"
-    "publicIpAddress": "A String", # Public IP address of the exposed endpoint.
-    "publicPort": "A String", # Public port number of the exposed endpoint.
-    "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}".
-  },
-  "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.
-    "a_key": { # Representation of third party SIEM/SOAR fields within SCC.
-      "assignees": [ # References primary/secondary etc assignees in the external system.
+    "instanceGroup": "A String",
+    "internalBackendService": "A String",
+    "loadBalancerFirewallPolicy": "A String",
+    "networkEndpointGroup": "A String",
+    "networkIngressFirewallPolicy": "A String",
+    "privateIpAddress": "A String",
+    "privatePort": "A String",
+    "pscNetworkAttachment": "A String",
+    "pscServiceAttachment": "A String",
+    "publicIpAddress": "A String",
+    "publicPort": "A String",
+    "serviceFirewallPolicy": "A String",
+  },
+  "externalSystems": {
+    "a_key": {
+      "assignees": [
         "A String",
       ],
-      "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system.
-      "caseCreateTime": "A String", # The time when the case was created, as reported by the external system.
-      "casePriority": "A String", # The priority of the finding's corresponding case in the external system.
-      "caseSla": "A String", # The SLA of the finding's corresponding case in the external system.
-      "caseUri": "A String", # The link to the finding's corresponding case in the external system.
-      "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system.
-      "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system.
-      "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira"
-      "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system.
-      "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.
-        "assignee": "A String", # The assignee of the ticket in the ticket system.
-        "description": "A String", # The description of the ticket in the ticket system.
-        "id": "A String", # The identifier of the ticket in the ticket system.
-        "status": "A String", # The latest status of the ticket, as reported by the ticket system.
-        "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system.
-        "uri": "A String", # The link to the ticket in the ticket system.
+      "caseCloseTime": "A String",
+      "caseCreateTime": "A String",
+      "casePriority": "A String",
+      "caseSla": "A String",
+      "caseUri": "A String",
+      "externalSystemUpdateTime": "A String",
+      "externalUid": "A String",
+      "name": "A String",
+      "status": "A String",
+      "ticketInfo": {
+        "assignee": "A String",
+        "description": "A String",
+        "id": "A String",
+        "status": "A String",
+        "updateTime": "A String",
+        "uri": "A String",
       },
     },
   },
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "files": [ # File associated with the finding.
-    { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-      "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-      "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-        "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-        "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+  "externalUri": "A String",
+  "files": [
+    {
+      "contents": "A String",
+      "diskPath": {
+        "partitionUuid": "A String",
+        "relativePath": "A String",
       },
-      "fileLoadState": "A String", # The load state of the file.
-      "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-      "operations": [ # Operation(s) performed on a file.
-        { # Operation(s) performed on a file.
-          "type": "A String", # The type of the operation
+      "fileLoadState": "A String",
+      "hashedSize": "A String",
+      "operations": [
+        {
+          "type": "A String",
         },
       ],
-      "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-      "path": "A String", # Absolute path of the file as a JSON encoded string.
-      "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-      "size": "A String", # Size of the file in bytes.
+      "partiallyHashed": True or False,
+      "path": "A String",
+      "sha256": "A String",
+      "size": "A String",
     },
   ],
-  "findingClass": "A String", # The class of the finding.
-  "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.
-    { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.
-      "groupId": "A String", # ID of the group.
-      "groupType": "A String", # Type of group.
+  "findingClass": "A String",
+  "groupMemberships": [
+    {
+      "groupId": "A String",
+      "groupType": "A String",
     },
   ],
-  "iamBindings": [ # Represents IAM bindings associated with the finding.
-    { # Represents a particular IAM binding, which captures a member's role addition, removal, or state.
-      "action": "A String", # The action that was performed on a Binding.
-      "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com".
-      "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner".
+  "iamBindings": [
+    {
+      "action": "A String",
+      "member": "A String",
+      "role": "A String",
     },
   ],
-  "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
-    "domains": [ # List of domains associated to the Finding.
+  "indicator": {
+    "domains": [
       "A String",
     ],
-    "ipAddresses": [ # The list of IP addresses that are associated with the finding.
+    "ipAddresses": [
       "A String",
     ],
-    "signatures": [ # The list of matched signatures indicating that the given process is present in the environment.
-      { # Indicates what signature matched this process.
-        "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched.
-          "binaryFamily": "A String", # The binary family.
-          "detections": [ # The list of memory hash detections contributing to the binary family match.
-            { # Memory hash detection contributing to the binary family match.
-              "binary": "A String", # The name of the binary associated with the memory hash signature detection.
-              "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched.
+    "signatures": [
+      {
+        "memoryHashSignature": {
+          "binaryFamily": "A String",
+          "detections": [
+            {
+              "binary": "A String",
+              "percentPagesMatched": 3.14,
             },
           ],
         },
-        "signatureType": "A String", # Describes the type of resource associated with the signature.
-        "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched.
-          "yaraRule": "A String", # The name of the YARA rule.
+        "signatureType": "A String",
+        "yaraRuleSignature": {
+          "yaraRule": "A String",
         },
       },
     ],
-    "uris": [ # The list of URIs associated to the Findings.
+    "uris": [
       "A String",
     ],
   },
-  "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding.
-    "allowed": { # Allowed IP rule. # Tuple with allowed rules.
-      "ipRules": [ # Optional. Optional list of allowed IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+  "ipRules": {
+    "allowed": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "denied": { # Denied IP rule. # Tuple with denied rules.
-      "ipRules": [ # Optional. Optional list of denied IP rules.
-        { # IP rule information.
-          "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.
-            { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.
-              "max": "A String", # Maximum port value.
-              "min": "A String", # Minimum port value.
+    "denied": {
+      "ipRules": [
+        {
+          "portRanges": [
+            {
+              "max": "A String",
+              "min": "A String",
             },
           ],
-          "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.
+          "protocol": "A String",
         },
       ],
     },
-    "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "destinationIpRanges": [
       "A String",
     ],
-    "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress.
-    "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.
+    "direction": "A String",
+    "exposedServices": [
       "A String",
     ],
-    "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.
+    "sourceIpRanges": [
       "A String",
     ],
   },
-  "job": { # Describes a job # Job associated with the finding.
-    "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why.
-    "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1`
-    "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/`
-    "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`.
-  },
-  "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit.
-    "name": "A String", # Rootkit name, when available.
-    "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present.
-    "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present.
-    "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present.
-    "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.
-    "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.
-    "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present.
-    "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present.
-  },
-  "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding.
-    "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.
-      { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.
-        "group": "A String", # The API group of the resource. "*" means all.
-        "name": "A String", # The name of the resource being requested. Empty means all.
-        "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty).
-        "resource": "A String", # The optional resource type requested. "*" means all.
-        "subresource": "A String", # The optional subresource type.
-        "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all.
-        "version": "A String", # The API version of the resource. "*" means all.
+  "job": {
+    "errorCode": 42,
+    "location": "A String",
+    "name": "A String",
+    "state": "A String",
+  },
+  "kernelRootkit": {
+    "name": "A String",
+    "unexpectedCodeModification": True or False,
+    "unexpectedFtraceHandler": True or False,
+    "unexpectedInterruptHandler": True or False,
+    "unexpectedKernelCodePages": True or False,
+    "unexpectedKprobeHandler": True or False,
+    "unexpectedProcessesInRunqueue": True or False,
+    "unexpectedReadOnlyDataModification": True or False,
+    "unexpectedSystemCallHandler": True or False,
+  },
+  "kubernetes": {
+    "accessReviews": [
+      {
+        "group": "A String",
+        "name": "A String",
+        "ns": "A String",
+        "resource": "A String",
+        "subresource": "A String",
+        "verb": "A String",
+        "version": "A String",
       },
     ],
-    "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Represents a Kubernetes RoleBinding or ClusterRoleBinding.
-        "name": "A String", # Name for the binding.
-        "ns": "A String", # Namespace for the binding.
-        "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding.
-          "kind": "A String", # Role type.
-          "name": "A String", # Role name.
-          "ns": "A String", # Role namespace.
+    "bindings": [
+      {
+        "name": "A String",
+        "ns": "A String",
+        "role": {
+          "kind": "A String",
+          "name": "A String",
+          "ns": "A String",
         },
-        "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests.
-          { # Represents a Kubernetes subject.
-            "kind": "A String", # Authentication type for the subject.
-            "name": "A String", # Name for the subject.
-            "ns": "A String", # Namespace for the subject.
+        "subjects": [
+          {
+            "kind": "A String",
+            "name": "A String",
+            "ns": "A String",
           },
         ],
       },
     ],
-    "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.
-      { # Provides GKE node pool information.
-        "name": "A String", # Kubernetes node pool name.
-        "nodes": [ # Nodes associated with the finding.
-          { # Kubernetes nodes associated with the finding.
-            "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodePools": [
+      {
+        "name": "A String",
+        "nodes": [
+          {
+            "name": "A String",
           },
         ],
       },
     ],
-    "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.
-      { # Kubernetes nodes associated with the finding.
-        "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.
+    "nodes": [
+      {
+        "name": "A String",
       },
     ],
-    "objects": [ # Kubernetes objects related to the finding.
-      { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "objects": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1".
-        "kind": "A String", # Kubernetes object kind, such as "Namespace".
-        "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.
-        "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.
+        "group": "A String",
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.
-      { # A Kubernetes Pod.
-        "containers": [ # Pod containers associated with this finding, if any.
-          { # Container associated with the finding.
-            "createTime": "A String", # The time that the container was created.
-            "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.
-            "labels": [ # Container labels, as provided by the container runtime.
-              { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-                "name": "A String", # Name of the label.
-                "value": "A String", # Value that corresponds to the label's name.
+    "pods": [
+      {
+        "containers": [
+          {
+            "createTime": "A String",
+            "imageId": "A String",
+            "labels": [
+              {
+                "name": "A String",
+                "value": "A String",
               },
             ],
-            "name": "A String", # Name of the container.
-            "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.
+            "name": "A String",
+            "uri": "A String",
           },
         ],
-        "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container.
-          { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).
-            "name": "A String", # Name of the label.
-            "value": "A String", # Value that corresponds to the label's name.
+        "labels": [
+          {
+            "name": "A String",
+            "value": "A String",
           },
         ],
-        "name": "A String", # Kubernetes Pod name.
-        "ns": "A String", # Kubernetes Pod namespace.
+        "name": "A String",
+        "ns": "A String",
       },
     ],
-    "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).
-      { # Kubernetes Role or ClusterRole.
-        "kind": "A String", # Role type.
-        "name": "A String", # Role name.
-        "ns": "A String", # Role namespace.
+    "roles": [
+      {
+        "kind": "A String",
+        "name": "A String",
+        "ns": "A String",
       },
     ],
   },
-  "loadBalancers": [ # The load balancers associated with the finding.
-    { # Contains information related to the load balancer associated with the finding.
-      "name": "A String", # The name of the load balancer associated with the finding.
+  "loadBalancers": [
+    {
+      "name": "A String",
     },
   ],
-  "logEntries": [ # Log entries that are relevant to the finding.
-    { # An individual entry in a log.
-      "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging.
-        "insertId": "A String", # A unique identifier for the log entry.
-        "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.
-        "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry.
-        "timestamp": "A String", # The time the event described by the log entry occurred.
+  "logEntries": [
+    {
+      "cloudLoggingEntry": {
+        "insertId": "A String",
+        "logId": "A String",
+        "resourceContainer": "A String",
+        "timestamp": "A String",
       },
     },
   ],
-  "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org
-    "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any.
+  "mitreAttack": {
+    "additionalTactics": [
       "A String",
     ],
-    "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.
+    "additionalTechniques": [
       "A String",
     ],
-    "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any.
-    "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
+    "primaryTactic": "A String",
+    "primaryTechniques": [
       "A String",
     ],
-    "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
+    "version": "A String",
   },
-  "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
-  "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.
-  "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding.
-    "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding.
-      { # The record of a dynamic mute rule that matches the finding.
-        "matchTime": "A String", # When the dynamic mute rule first matched the finding.
-        "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
+  "moduleName": "A String",
+  "mute": "A String",
+  "muteInfo": {
+    "dynamicMuteRecords": [
+      {
+        "matchTime": "A String",
+        "muteConfig": "A String",
       },
     ],
-    "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute.
-      "applyTime": "A String", # When the static mute was applied.
-      "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.
+    "staticMute": {
+      "applyTime": "A String",
+      "state": "A String",
     },
   },
-  "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.
-  "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted.
-  "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}".
-  "networks": [ # Represents the VPC networks that the resource is attached to.
-    { # Contains information about a VPC network associated with the finding.
-      "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.
+  "muteInitiator": "A String",
+  "muteUpdateTime": "A String",
+  "name": "A String",
+  "networks": [
+    {
+      "name": "A String",
     },
   ],
-  "nextSteps": "A String", # Steps to address the finding.
-  "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding.
-    "lastAuthor": "A String", # The user ID of the latest author to modify the notebook.
-    "name": "A String", # The name of the notebook.
-    "notebookUpdateTime": "A String", # The most recent time the notebook was updated.
-    "service": "A String", # The source notebook service, for example, "Colab Enterprise".
+  "nextSteps": "A String",
+  "notebook": {
+    "lastAuthor": "A String",
+    "name": "A String",
+    "notebookUpdateTime": "A String",
+    "service": "A String",
   },
-  "orgPolicies": [ # Contains information about the org policies associated with the finding.
-    { # Contains information about the org policies associated with the finding.
-      "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}"
+  "orgPolicies": [
+    {
+      "name": "A String",
     },
   ],
-  "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics".
-  "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding.
-    "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy.
-    "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown".
-    "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation.
-    "policyViolationsCount": "A String", # Count of child resources in violation of the policy.
-  },
-  "processes": [ # Represents operating system processes associated with the Finding.
-    { # Represents an operating system process.
-      "args": [ # Process arguments as JSON encoded strings.
+  "parent": "A String",
+  "parentDisplayName": "A String",
+  "policyViolationSummary": {
+    "conformantResourcesCount": "A String",
+    "evaluationErrorsCount": "A String",
+    "outOfScopeResourcesCount": "A String",
+    "policyViolationsCount": "A String",
+  },
+  "processes": [
+    {
+      "args": [
         "A String",
       ],
-      "argumentsTruncated": True or False, # True if `args` is incomplete.
-      "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "argumentsTruncated": True or False,
+      "binary": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "envVariables": [ # Process environment variables.
-        { # A name-value pair representing an environment variable used in an operating system process.
-          "name": "A String", # Environment variable name as a JSON encoded string.
-          "val": "A String", # Environment variable value as a JSON encoded string.
+      "envVariables": [
+        {
+          "name": "A String",
+          "val": "A String",
         },
       ],
-      "envVariablesTruncated": True or False, # True if `env_variables` is incomplete.
-      "libraries": [ # File information for libraries loaded by the process.
-        { # File information about the related binary/library used by an executable, or the script used by a script interpreter
-          "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-          "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-            "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-            "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "envVariablesTruncated": True or False,
+      "libraries": [
+        {
+          "contents": "A String",
+          "diskPath": {
+            "partitionUuid": "A String",
+            "relativePath": "A String",
           },
-          "fileLoadState": "A String", # The load state of the file.
-          "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-          "operations": [ # Operation(s) performed on a file.
-            { # Operation(s) performed on a file.
-              "type": "A String", # The type of the operation
+          "fileLoadState": "A String",
+          "hashedSize": "A String",
+          "operations": [
+            {
+              "type": "A String",
             },
           ],
-          "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-          "path": "A String", # Absolute path of the file as a JSON encoded string.
-          "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-          "size": "A String", # Size of the file in bytes.
+          "partiallyHashed": True or False,
+          "path": "A String",
+          "sha256": "A String",
+          "size": "A String",
         },
       ],
-      "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
-      "parentPid": "A String", # The parent process ID.
-      "pid": "A String", # The process ID.
-      "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter.
-        "contents": "A String", # Prefix of the file contents as a JSON-encoded string.
-        "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers.
-          "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
-          "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh
+      "name": "A String",
+      "parentPid": "A String",
+      "pid": "A String",
+      "script": {
+        "contents": "A String",
+        "diskPath": {
+          "partitionUuid": "A String",
+          "relativePath": "A String",
         },
-        "fileLoadState": "A String", # The load state of the file.
-        "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.
-        "operations": [ # Operation(s) performed on a file.
-          { # Operation(s) performed on a file.
-            "type": "A String", # The type of the operation
+        "fileLoadState": "A String",
+        "hashedSize": "A String",
+        "operations": [
+          {
+            "type": "A String",
           },
         ],
-        "partiallyHashed": True or False, # True when the hash covers only a prefix of the file.
-        "path": "A String", # Absolute path of the file as a JSON encoded string.
-        "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.
-        "size": "A String", # Size of the file in bytes.
+        "partiallyHashed": True or False,
+        "path": "A String",
+        "sha256": "A String",
+        "size": "A String",
       },
-      "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0.
+      "userId": "A String",
     },
   ],
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding.
-    "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret.
-      "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.
+  "resourceName": "A String",
+  "secret": {
+    "environmentVariable": {
+      "key": "A String",
     },
-    "filePath": { # File path containing the secret. # The file containing the secret.
-      "path": "A String", # Path to the file.
+    "filePath": {
+      "path": "A String",
     },
-    "status": { # The status of the secret. # The status of the secret.
-      "lastUpdatedTime": "A String", # Time that the secret was found.
-      "validity": "A String", # The validity of the secret.
+    "status": {
+      "lastUpdatedTime": "A String",
+      "validity": "A String",
     },
-    "type": "A String", # The type of secret, for example, GCP_API_KEY.
+    "type": "A String",
   },
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+  "securityMarks": {
+    "canonicalName": "A String",
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
-  },
-  "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding.
-    "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.
-    "name": "A String", # Name of the posture, for example, `CIS-Posture`.
-    "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`.
-    "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture.
-      { # The policy field that violates the deployed posture and its expected and detected values.
-        "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`.
-        "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`.
-        "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce
+    "name": "A String",
+  },
+  "securityPosture": {
+    "changedPolicy": "A String",
+    "name": "A String",
+    "policy": "A String",
+    "policyDriftDetails": [
+      {
+        "detectedValue": "A String",
+        "expectedValue": "A String",
+        "field": "A String",
       },
     ],
-    "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`.
-    "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.
-    "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.
-    "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`.
+    "policySet": "A String",
+    "postureDeployment": "A String",
+    "postureDeploymentResource": "A String",
+    "revisionId": "A String",
   },
-  "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding.
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "severity": "A String",
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
-  "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests.
-    "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.
-    "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.
+  "state": "A String",
+  "toxicCombination": {
+    "attackExposureScore": 3.14,
+    "relatedFindings": [
       "A String",
     ],
   },
-  "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding.
-    "datasets": [ # Datasets associated with the finding.
-      { # Vertex AI dataset associated with the finding.
-        "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset
-        "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856
-        "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod
+  "vertexAi": {
+    "datasets": [
+      {
+        "displayName": "A String",
+        "name": "A String",
+        "source": "A String",
       },
     ],
-    "pipelines": [ # Pipelines associated with the finding.
-      { # Vertex AI training pipeline associated with the finding.
-        "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification
-        "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496
+    "pipelines": [
+      {
+        "displayName": "A String",
+        "name": "A String",
       },
     ],
   },
-  "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-    "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)
-      "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document
-        "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.
-        "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.
-        "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.
-        "baseScore": 3.14, # The base score is a function of the base metric scores.
-        "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.
-        "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability.
-        "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.
-        "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.
-        "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.
+  "vulnerability": {
+    "cve": {
+      "cvssv3": {
+        "attackComplexity": "A String",
+        "attackVector": "A String",
+        "availabilityImpact": "A String",
+        "baseScore": 3.14,
+        "confidentialityImpact": "A String",
+        "integrityImpact": "A String",
+        "privilegesRequired": "A String",
+        "scope": "A String",
+        "userInteraction": "A String",
       },
-      "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released.
-      "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild.
-      "firstExploitationDate": "A String", # Date of the earliest known exploitation.
-      "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527
-      "impact": "A String", # The potential impact of the vulnerability if it was to be exploited.
-      "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild.
-      "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
-        { # Additional Links
-          "source": "A String", # Source of the reference e.g. NVD
-          "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "exploitReleaseDate": "A String",
+      "exploitationActivity": "A String",
+      "firstExploitationDate": "A String",
+      "id": "A String",
+      "impact": "A String",
+      "observedInTheWild": True or False,
+      "references": [
+        {
+          "source": "A String",
+          "uri": "A String",
         },
       ],
-      "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE.
-      "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published.
-    },
-    "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.
-      { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).
-        "id": "A String", # The CWE identifier, e.g. CWE-94
-        "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html
-          { # Additional Links
-            "source": "A String", # Source of the reference e.g. NVD
-            "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
+      "upstreamFixAvailable": True or False,
+      "zeroDay": True or False,
+    },
+    "cwes": [
+      {
+        "id": "A String",
+        "references": [
+          {
+            "source": "A String",
+            "uri": "A String",
           },
         ],
       },
     ],
-    "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "fixedPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding.
-      "cpeUri": "A String", # The CPE URI where the vulnerability was detected.
-      "packageName": "A String", # The name of the package where the vulnerability was detected.
-      "packageType": "A String", # Type of package, for example, os, maven, or go.
-      "packageVersion": "A String", # The version of the package.
+    "offendingPackage": {
+      "cpeUri": "A String",
+      "packageName": "A String",
+      "packageType": "A String",
+      "packageVersion": "A String",
     },
-    "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.
-    "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis)
-    "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding.
-      "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability.
-      "submissionTime": "A String", # Submission time of this Security Bulletin.
-      "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0
+    "providerRiskScore": "A String",
+    "reachable": True or False,
+    "securityBulletin": {
+      "bulletinId": "A String",
+      "submissionTime": "A String",
+      "suggestedUpgradeVersion": "A String",
     },
   },
 }
 
-  updateMask: string, The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -1971,811 +1971,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -2783,15 +2783,15 @@

Method Details

setMute(name, body=None, x__xgafv=None) -
Updates the mute state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's mute status.
-  "mute": "A String", # Required. The desired state of the Mute.
+{
+  "mute": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -2802,811 +2802,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -3614,16 +3614,16 @@

Method Details

setState(name, body=None, x__xgafv=None) -
Updates the state of a finding.
+  
 
 Args:
-  name: string, Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's state.
-  "startTime": "A String", # Optional. The time at which the updated state takes effect. If unset, defaults to the request time.
-  "state": "A String", # Required. The desired State of the finding.
+{
+  "startTime": "A String",
+  "state": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -3634,811 +3634,811 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - "access": { # Represents an access event. # Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - "callerIp": "A String", # Caller's IP address, such as "1.1.1.1". - "callerIpGeo": { # Represents a geographical location for a given access. # The caller IP's geolocation, which identifies where the call came from. - "regionCode": "A String", # A CLDR. - }, - "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - "principalSubject": "A String", # A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`. - "serviceAccountDelegationInfo": [ # The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - { # Identity delegation history of an authenticated service account. - "principalEmail": "A String", # The email address of a Google account. - "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + { + "access": { + "callerIp": "A String", + "callerIpGeo": { + "regionCode": "A String", + }, + "methodName": "A String", + "principalEmail": "A String", + "principalSubject": "A String", + "serviceAccountDelegationInfo": [ + { + "principalEmail": "A String", + "principalSubject": "A String", }, ], - "serviceAccountKeyName": "A String", # The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}". - "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - "userAgent": "A String", # The caller's user agent string associated with the finding. - "userAgentFamily": "A String", # Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - "userName": "A String", # A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. + "serviceAccountKeyName": "A String", + "serviceName": "A String", + "userAgent": "A String", + "userAgentFamily": "A String", + "userName": "A String", }, - "affectedResources": { # Details about resources affected by this finding. # AffectedResources associated with the finding. - "count": "A String", # The count of resources affected by the finding. + "affectedResources": { + "count": "A String", }, - "agentDataAccessEvents": [ # Agent data access events associated with the finding. - { # Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalSubject": "A String", # The agent principal that accessed the data. + "agentDataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalSubject": "A String", }, ], - "aiModel": { # Contains information about the AI model associated with the finding. # The AI model associated with the finding. - "deploymentPlatform": "A String", # The platform on which the model is deployed. - "displayName": "A String", # The user defined display name of model. Ex. baseline-classification-model - "domain": "A String", # The domain of the model, for example, “image-classification”. - "library": "A String", # The name of the model library, for example, “transformers”. - "location": "A String", # The region in which the model is used, for example, “us-central1”. - "name": "A String", # The name of the AI model, for example, "gemini:1.0.0". - "publisher": "A String", # The publisher of the model, for example, “google” or “nvidia”. - "usageCategory": "A String", # The purpose of the model, for example, "Inteference" or "Training". - }, - "application": { # Represents an application associated with a finding. # Represents an application associated with the finding. - "baseUri": "A String", # The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - "fullUri": "A String", # The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - }, - "artifactGuardPolicies": { # Represents the result of evaluating artifact guard policies. # ArtifactGuardPolicies associated with the finding. - "failingPolicies": [ # A list of failing policies. - { # Represents an artifact guard policy. - "failureReason": "A String", # The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - "policyId": "A String", # The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - "type": "A String", # The type of the policy evaluation. + "aiModel": { + "deploymentPlatform": "A String", + "displayName": "A String", + "domain": "A String", + "library": "A String", + "location": "A String", + "name": "A String", + "publisher": "A String", + "usageCategory": "A String", + }, + "application": { + "baseUri": "A String", + "fullUri": "A String", + }, + "artifactGuardPolicies": { + "failingPolicies": [ + { + "failureReason": "A String", + "policyId": "A String", + "type": "A String", }, ], - "resourceId": "A String", # The ID of the resource that has policies configured for it. + "resourceId": "A String", }, - "attackExposure": { # An attack exposure contains the results of an attack path simulation run. # The results of an attack path simulation relevant to this finding. - "attackExposureResult": "A String", # The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - "exposedHighValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedLowValueResourcesCount": 42, # The number of high value resources that are exposed as a result of this finding. - "exposedMediumValueResourcesCount": 42, # The number of medium value resources that are exposed as a result of this finding. - "latestCalculationTime": "A String", # The most recent time the attack exposure was updated on this finding. - "score": 3.14, # A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - "state": "A String", # What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. + "attackExposure": { + "attackExposureResult": "A String", + "exposedHighValueResourcesCount": 42, + "exposedLowValueResourcesCount": 42, + "exposedMediumValueResourcesCount": 42, + "latestCalculationTime": "A String", + "score": 3.14, + "state": "A String", }, - "backupDisasterRecovery": { # Information related to Google Cloud Backup and DR Service findings. # Fields related to Backup and DR findings. - "appliance": "A String", # The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - "applications": [ # The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. + "backupDisasterRecovery": { + "appliance": "A String", + "applications": [ "A String", ], - "backupCreateTime": "A String", # The timestamp at which the Backup and DR backup was created. - "backupTemplate": "A String", # The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - "backupType": "A String", # The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - "host": "A String", # The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - "policies": [ # The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. + "backupCreateTime": "A String", + "backupTemplate": "A String", + "backupType": "A String", + "host": "A String", + "policies": [ "A String", ], - "policyOptions": [ # The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. + "policyOptions": [ "A String", ], - "profile": "A String", # The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - "storagePool": "A String", # The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. + "profile": "A String", + "storagePool": "A String", }, - "canonicalName": "A String", # The canonical name of the finding. It's either "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}" or "projects/{project_number}/sources/{source_id}/findings/{finding_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "chokepoint": { # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). # Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - "relatedFindings": [ # List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. + "canonicalName": "A String", + "category": "A String", + "chokepoint": { + "relatedFindings": [ "A String", ], }, - "cloudArmor": { # Fields related to Google Cloud Armor findings. # Fields related to Cloud Armor findings. - "adaptiveProtection": { # Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). # Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - "confidence": 3.14, # A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - }, - "attack": { # Information about DDoS attack volume and classification. # Information about DDoS attack volume and classification. - "classification": "A String", # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - "volumeBps": 42, # Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - "volumeBpsLong": "A String", # Total BPS (bytes per second) volume of attack. - "volumePps": 42, # Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - "volumePpsLong": "A String", # Total PPS (packets per second) volume of attack. - }, - "duration": "A String", # Duration of attack from the start until the current moment (updated every 5 minutes). - "requests": { # Information about the requests relevant to the finding. # Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - "longTermAllowed": 42, # Allowed RPS (requests per second) over the long term. - "longTermDenied": 42, # Denied RPS (requests per second) over the long term. - "ratio": 3.14, # For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - "shortTermAllowed": 42, # Allowed RPS (requests per second) in the short term. - }, - "securityPolicy": { # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. # Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - "name": "A String", # The name of the Google Cloud Armor security policy, for example, "my-security-policy". - "preview": True or False, # Whether or not the associated rule or policy is in preview mode. - "type": "A String", # The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - }, - "threatVector": "A String", # Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - }, - "cloudDlpDataProfile": { # The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. # Cloud DLP data profile that is associated with the finding. - "dataProfile": "A String", # Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - "infoTypes": [ # Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - { # Type of information detected by the API. - "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`. - "sensitivityScore": { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling. - "score": "A String", # The sensitivity score applied to the resource. + "cloudArmor": { + "adaptiveProtection": { + "confidence": 3.14, + }, + "attack": { + "classification": "A String", + "volumeBps": 42, + "volumeBpsLong": "A String", + "volumePps": 42, + "volumePpsLong": "A String", + }, + "duration": "A String", + "requests": { + "longTermAllowed": 42, + "longTermDenied": 42, + "ratio": 3.14, + "shortTermAllowed": 42, + }, + "securityPolicy": { + "name": "A String", + "preview": True or False, + "type": "A String", + }, + "threatVector": "A String", + }, + "cloudDlpDataProfile": { + "dataProfile": "A String", + "infoTypes": [ + { + "name": "A String", + "sensitivityScore": { + "score": "A String", }, - "version": "A String", # Optional version name for this InfoType. + "version": "A String", }, ], - "parentType": "A String", # The resource hierarchy level at which the data profile was generated. + "parentType": "A String", }, - "cloudDlpInspection": { # Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. # Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - "fullScan": True or False, # Whether Cloud DLP scanned the complete resource or a sampled subset. - "infoType": "A String", # The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - "infoTypeCount": "A String", # The number of times Cloud DLP found this infoType within this job and resource. - "inspectJob": "A String", # Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. + "cloudDlpInspection": { + "fullScan": True or False, + "infoType": "A String", + "infoTypeCount": "A String", + "inspectJob": "A String", }, - "complianceDetails": { # Compliance Details associated with the finding. # Details about the compliance implications of the finding. - "cloudControl": { # CloudControl associated with the finding. # CloudControl associated with the finding - "cloudControlName": "A String", # Name of the CloudControl associated with the finding. - "policyType": "A String", # Policy type of the CloudControl - "type": "A String", # Type of cloud control. - "version": 42, # Version of the Cloud Control + "complianceDetails": { + "cloudControl": { + "cloudControlName": "A String", + "policyType": "A String", + "type": "A String", + "version": 42, }, - "cloudControlDeploymentNames": [ # Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier + "cloudControlDeploymentNames": [ "A String", ], - "frameworks": [ # Details of Frameworks associated with the finding - { # Compliance framework associated with the finding. - "category": [ # Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads + "frameworks": [ + { + "category": [ "A String", ], - "controls": [ # The controls associated with the framework. - { # Compliance control associated with the finding. - "controlName": "A String", # Name of the Control - "displayName": "A String", # Display name of the control. For example, AU-02. + "controls": [ + { + "controlName": "A String", + "displayName": "A String", }, ], - "displayName": "A String", # Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - "name": "A String", # Name of the framework associated with the finding - "type": "A String", # Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) + "displayName": "A String", + "name": "A String", + "type": "A String", }, ], }, - "compliances": [ # Contains compliance information for security standards associated to the finding. - { # Contains compliance information about a security standard indicating unmet recommendations. - "ids": [ # Policies within the standard or benchmark, for example, A.12.4.1 + "compliances": [ + { + "ids": [ "A String", ], - "standard": "A String", # Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - "version": "A String", # Version of the standard or benchmark, for example, 1.1 + "standard": "A String", + "version": "A String", }, ], - "connections": [ # Contains information about the IP connection associated with the finding. - { # Contains information about the IP connection associated with the finding. - "destinationIp": "A String", # Destination IP address. Not present for sockets that are listening and not connected. - "destinationPort": 42, # Destination port. Not present for sockets that are listening and not connected. - "protocol": "A String", # IANA Internet Protocol Number such as TCP(6) and UDP(17). - "sourceIp": "A String", # Source IP address. - "sourcePort": 42, # Source port. + "connections": [ + { + "destinationIp": "A String", + "destinationPort": 42, + "protocol": "A String", + "sourceIp": "A String", + "sourcePort": 42, }, ], - "contacts": { # Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" }, { "email": "person2@company.com" } ] } } - "a_key": { # Details about specific contacts - "contacts": [ # A list of contacts - { # The email address of a contact. - "email": "A String", # An email address. For example, "`person123@company.com`". + "contacts": { + "a_key": { + "contacts": [ + { + "email": "A String", }, ], }, }, - "containers": [ # Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "dataAccessEvents": [ # Data access events associated with the finding. - { # Details about a data access attempt made by a principal not authorized under applicable data security policy. - "eventId": "A String", # Unique identifier for data access event. - "eventTime": "A String", # Timestamp of data access event. - "operation": "A String", # The operation performed by the principal to access the data. - "principalEmail": "A String", # The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. + "createTime": "A String", + "dataAccessEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", }, ], - "dataFlowEvents": [ # Data flow events associated with the finding. - { # Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - "eventId": "A String", # Unique identifier for data flow event. - "eventTime": "A String", # Timestamp of data flow event. - "operation": "A String", # The operation performed by the principal for the data flow event. - "principalEmail": "A String", # The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - "violatedLocation": "A String", # Non-compliant location of the principal or the data destination. + "dataFlowEvents": [ + { + "eventId": "A String", + "eventTime": "A String", + "operation": "A String", + "principalEmail": "A String", + "violatedLocation": "A String", }, ], - "dataRetentionDeletionEvents": [ # Data retention deletion events associated with the finding. - { # Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - "dataObjectCount": "A String", # Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - "eventDetectionTime": "A String", # Timestamp indicating when the event was detected. - "eventType": "A String", # Type of the DRD event. - "maxRetentionAllowed": "A String", # Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - "minRetentionAllowed": "A String", # Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. + "dataRetentionDeletionEvents": [ + { + "dataObjectCount": "A String", + "eventDetectionTime": "A String", + "eventType": "A String", + "maxRetentionAllowed": "A String", + "minRetentionAllowed": "A String", }, ], - "database": { # Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. # Database associated with the finding. - "displayName": "A String", # The human-readable name of the database that the user connected to. - "grantees": [ # The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. + "database": { + "displayName": "A String", + "grantees": [ "A String", ], - "name": "A String", # Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - "query": "A String", # The SQL statement that is associated with the database access. - "userName": "A String", # The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - "version": "A String", # The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - }, - "description": "A String", # Contains more details about the finding. - "discoveredWorkload": { # Represents discovered, customer managed workload that is not registered with the respective GCP service. # DiscoveredWorkload associated with the finding. - "confidence": "A String", # The confidence in detection of this workload. - "detectedRelevantHardware": True or False, # A boolean flag set to true if associated hardware strongly predicts the workload type. - "detectedRelevantKeywords": True or False, # A boolean flag set to true if associated keywords strongly predict the workload type. - "detectedRelevantPackages": True or False, # A boolean flag set to true if installed packages strongly predict the workload type. - "workloadType": "A String", # The type of workload. - }, - "disk": { # Contains information about the disk associated with the finding. # Disk associated with the finding. - "name": "A String", # The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}". - }, - "eventTime": "A String", # The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - "exfiltration": { # Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. # Represents exfiltrations associated with the finding. - "sources": [ # If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "name": "A String", + "query": "A String", + "userName": "A String", + "version": "A String", + }, + "description": "A String", + "discoveredWorkload": { + "confidence": "A String", + "detectedRelevantHardware": True or False, + "detectedRelevantKeywords": True or False, + "detectedRelevantPackages": True or False, + "workloadType": "A String", + }, + "disk": { + "name": "A String", + }, + "eventTime": "A String", + "exfiltration": { + "sources": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "targets": [ # If there are multiple targets, each target would get a complete copy of the "joined" source data. - { # Resource where data was exfiltrated from or exfiltrated to. - "components": [ # Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. + "targets": [ + { + "components": [ "A String", ], - "name": "A String", # The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). + "name": "A String", }, ], - "totalExfiltratedBytes": "A String", # Total exfiltrated bytes processed for the entire job. - }, - "externalExposure": { # Details about the externally exposed resource associated with the finding. # External exposure associated with the finding. - "backendBucket": "A String", # The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}" - "backendService": "A String", # The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "exposedApplication": "A String", # The name and version of the exposed web application, for example, "Jenkins 2.184". - "exposedEndpoint": "A String", # The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.” - "exposedService": "A String", # The name and version of the service, for example, "Jupyter Notebook 6.14.0". - "forwardingRule": "A String", # The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}". - "hostnameUri": "A String", # Hostname of the exposed application, for example, "https://test-app.a.run.app/" - "httpResponse": [ # The http response returned by the web application. - { # The http response returned by the web application. - "path": "A String", # The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - "statusCode": "A String", # The http response code returned by the web application, for example, 200. + "totalExfiltratedBytes": "A String", + }, + "externalExposure": { + "backendBucket": "A String", + "backendService": "A String", + "exposedApplication": "A String", + "exposedEndpoint": "A String", + "exposedService": "A String", + "forwardingRule": "A String", + "hostnameUri": "A String", + "httpResponse": [ + { + "path": "A String", + "statusCode": "A String", }, ], - "instanceGroup": "A String", # The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}". - "internalBackendService": "A String", # The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}". - "loadBalancerFirewallPolicy": "A String", # The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - "networkEndpointGroup": "A String", # The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}". - "networkIngressFirewallPolicy": "A String", # The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}". - "privateIpAddress": "A String", # Private IP address of the exposed endpoint. - "privatePort": "A String", # Port number associated with private IP address. - "pscNetworkAttachment": "A String", # The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}" - "pscServiceAttachment": "A String", # The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}" - "publicIpAddress": "A String", # Public IP address of the exposed endpoint. - "publicPort": "A String", # Public port number of the exposed endpoint. - "serviceFirewallPolicy": "A String", # The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}". - }, - "externalSystems": { # Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - "a_key": { # Representation of third party SIEM/SOAR fields within SCC. - "assignees": [ # References primary/secondary etc assignees in the external system. + "instanceGroup": "A String", + "internalBackendService": "A String", + "loadBalancerFirewallPolicy": "A String", + "networkEndpointGroup": "A String", + "networkIngressFirewallPolicy": "A String", + "privateIpAddress": "A String", + "privatePort": "A String", + "pscNetworkAttachment": "A String", + "pscServiceAttachment": "A String", + "publicIpAddress": "A String", + "publicPort": "A String", + "serviceFirewallPolicy": "A String", + }, + "externalSystems": { + "a_key": { + "assignees": [ "A String", ], - "caseCloseTime": "A String", # The time when the case was closed, as reported by the external system. - "caseCreateTime": "A String", # The time when the case was created, as reported by the external system. - "casePriority": "A String", # The priority of the finding's corresponding case in the external system. - "caseSla": "A String", # The SLA of the finding's corresponding case in the external system. - "caseUri": "A String", # The link to the finding's corresponding case in the external system. - "externalSystemUpdateTime": "A String", # The time when the case was last updated, as reported by the external system. - "externalUid": "A String", # The identifier that's used to track the finding's corresponding case in the external system. - "name": "A String", # Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - "status": "A String", # The most recent status of the finding's corresponding case, as reported by the external system. - "ticketInfo": { # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. # Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - "assignee": "A String", # The assignee of the ticket in the ticket system. - "description": "A String", # The description of the ticket in the ticket system. - "id": "A String", # The identifier of the ticket in the ticket system. - "status": "A String", # The latest status of the ticket, as reported by the ticket system. - "updateTime": "A String", # The time when the ticket was last updated, as reported by the ticket system. - "uri": "A String", # The link to the ticket in the ticket system. + "caseCloseTime": "A String", + "caseCreateTime": "A String", + "casePriority": "A String", + "caseSla": "A String", + "caseUri": "A String", + "externalSystemUpdateTime": "A String", + "externalUid": "A String", + "name": "A String", + "status": "A String", + "ticketInfo": { + "assignee": "A String", + "description": "A String", + "id": "A String", + "status": "A String", + "updateTime": "A String", + "uri": "A String", }, }, }, - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "files": [ # File associated with the finding. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "externalUri": "A String", + "files": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "findingClass": "A String", # The class of the finding. - "groupMemberships": [ # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - { # Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - "groupId": "A String", # ID of the group. - "groupType": "A String", # Type of group. + "findingClass": "A String", + "groupMemberships": [ + { + "groupId": "A String", + "groupType": "A String", }, ], - "iamBindings": [ # Represents IAM bindings associated with the finding. - { # Represents a particular IAM binding, which captures a member's role addition, removal, or state. - "action": "A String", # The action that was performed on a Binding. - "member": "A String", # A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - "role": "A String", # Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". + "iamBindings": [ + { + "action": "A String", + "member": "A String", + "role": "A String", }, ], - "indicator": { # Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). # Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - "domains": [ # List of domains associated to the Finding. + "indicator": { + "domains": [ "A String", ], - "ipAddresses": [ # The list of IP addresses that are associated with the finding. + "ipAddresses": [ "A String", ], - "signatures": [ # The list of matched signatures indicating that the given process is present in the environment. - { # Indicates what signature matched this process. - "memoryHashSignature": { # A signature corresponding to memory page hashes. # Signature indicating that a binary family was matched. - "binaryFamily": "A String", # The binary family. - "detections": [ # The list of memory hash detections contributing to the binary family match. - { # Memory hash detection contributing to the binary family match. - "binary": "A String", # The name of the binary associated with the memory hash signature detection. - "percentPagesMatched": 3.14, # The percentage of memory page hashes in the signature that were matched. + "signatures": [ + { + "memoryHashSignature": { + "binaryFamily": "A String", + "detections": [ + { + "binary": "A String", + "percentPagesMatched": 3.14, }, ], }, - "signatureType": "A String", # Describes the type of resource associated with the signature. - "yaraRuleSignature": { # A signature corresponding to a YARA rule. # Signature indicating that a YARA rule was matched. - "yaraRule": "A String", # The name of the YARA rule. + "signatureType": "A String", + "yaraRuleSignature": { + "yaraRule": "A String", }, }, ], - "uris": [ # The list of URIs associated to the Findings. + "uris": [ "A String", ], }, - "ipRules": { # IP rules associated with the finding. # IP rules associated with the finding. - "allowed": { # Allowed IP rule. # Tuple with allowed rules. - "ipRules": [ # Optional. Optional list of allowed IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "ipRules": { + "allowed": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "denied": { # Denied IP rule. # Tuple with denied rules. - "ipRules": [ # Optional. Optional list of denied IP rules. - { # IP rule information. - "portRanges": [ # Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - { # A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - "max": "A String", # Maximum port value. - "min": "A String", # Minimum port value. + "denied": { + "ipRules": [ + { + "portRanges": [ + { + "max": "A String", + "min": "A String", }, ], - "protocol": "A String", # The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. + "protocol": "A String", }, ], }, - "destinationIpRanges": [ # If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "destinationIpRanges": [ "A String", ], - "direction": "A String", # The direction that the rule is applicable to, one of ingress or egress. - "exposedServices": [ # Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. + "direction": "A String", + "exposedServices": [ "A String", ], - "sourceIpRanges": [ # If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. + "sourceIpRanges": [ "A String", ], }, - "job": { # Describes a job # Job associated with the finding. - "errorCode": 42, # Optional. If the job did not complete successfully, this field describes why. - "location": "A String", # Optional. Gives the location where the job ran, such as `US` or `europe-west1` - "name": "A String", # The fully-qualified name for a job. e.g. `projects//jobs/` - "state": "A String", # Output only. State of the job, such as `RUNNING` or `PENDING`. - }, - "kernelRootkit": { # Kernel mode rootkit signatures. # Signature of the kernel rootkit. - "name": "A String", # Rootkit name, when available. - "unexpectedCodeModification": True or False, # True if unexpected modifications of kernel code memory are present. - "unexpectedFtraceHandler": True or False, # True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedInterruptHandler": True or False, # True if interrupt handlers that are are not in the expected kernel or module code regions are present. - "unexpectedKernelCodePages": True or False, # True if kernel code pages that are not in the expected kernel or module code regions are present. - "unexpectedKprobeHandler": True or False, # True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - "unexpectedProcessesInRunqueue": True or False, # True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - "unexpectedReadOnlyDataModification": True or False, # True if unexpected modifications of kernel read-only data memory are present. - "unexpectedSystemCallHandler": True or False, # True if system call handlers that are are not in the expected kernel or module code regions are present. - }, - "kubernetes": { # Kubernetes-related attributes. # Kubernetes resources associated with the finding. - "accessReviews": [ # Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - { # Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - "group": "A String", # The API group of the resource. "*" means all. - "name": "A String", # The name of the resource being requested. Empty means all. - "ns": "A String", # Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - "resource": "A String", # The optional resource type requested. "*" means all. - "subresource": "A String", # The optional subresource type. - "verb": "A String", # A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - "version": "A String", # The API version of the resource. "*" means all. + "job": { + "errorCode": 42, + "location": "A String", + "name": "A String", + "state": "A String", + }, + "kernelRootkit": { + "name": "A String", + "unexpectedCodeModification": True or False, + "unexpectedFtraceHandler": True or False, + "unexpectedInterruptHandler": True or False, + "unexpectedKernelCodePages": True or False, + "unexpectedKprobeHandler": True or False, + "unexpectedProcessesInRunqueue": True or False, + "unexpectedReadOnlyDataModification": True or False, + "unexpectedSystemCallHandler": True or False, + }, + "kubernetes": { + "accessReviews": [ + { + "group": "A String", + "name": "A String", + "ns": "A String", + "resource": "A String", + "subresource": "A String", + "verb": "A String", + "version": "A String", }, ], - "bindings": [ # Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Represents a Kubernetes RoleBinding or ClusterRoleBinding. - "name": "A String", # Name for the binding. - "ns": "A String", # Namespace for the binding. - "role": { # Kubernetes Role or ClusterRole. # The Role or ClusterRole referenced by the binding. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "bindings": [ + { + "name": "A String", + "ns": "A String", + "role": { + "kind": "A String", + "name": "A String", + "ns": "A String", }, - "subjects": [ # Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - { # Represents a Kubernetes subject. - "kind": "A String", # Authentication type for the subject. - "name": "A String", # Name for the subject. - "ns": "A String", # Namespace for the subject. + "subjects": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, ], - "nodePools": [ # GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - { # Provides GKE node pool information. - "name": "A String", # Kubernetes node pool name. - "nodes": [ # Nodes associated with the finding. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodePools": [ + { + "name": "A String", + "nodes": [ + { + "name": "A String", }, ], }, ], - "nodes": [ # Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - { # Kubernetes nodes associated with the finding. - "name": "A String", # [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. + "nodes": [ + { + "name": "A String", }, ], - "objects": [ # Kubernetes objects related to the finding. - { # Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "objects": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "group": "A String", # Kubernetes object group, such as "policy.k8s.io/v1". - "kind": "A String", # Kubernetes object kind, such as "Namespace". - "name": "A String", # Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - "ns": "A String", # Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. + "group": "A String", + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], - "pods": [ # Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - { # A Kubernetes Pod. - "containers": [ # Pod containers associated with this finding, if any. - { # Container associated with the finding. - "createTime": "A String", # The time that the container was created. - "imageId": "A String", # Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - "labels": [ # Container labels, as provided by the container runtime. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "pods": [ + { + "containers": [ + { + "createTime": "A String", + "imageId": "A String", + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Name of the container. - "uri": "A String", # Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. + "name": "A String", + "uri": "A String", }, ], - "labels": [ # Pod labels. For Kubernetes containers, these are applied to the container. - { # Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - "name": "A String", # Name of the label. - "value": "A String", # Value that corresponds to the label's name. + "labels": [ + { + "name": "A String", + "value": "A String", }, ], - "name": "A String", # Kubernetes Pod name. - "ns": "A String", # Kubernetes Pod namespace. + "name": "A String", + "ns": "A String", }, ], - "roles": [ # Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - { # Kubernetes Role or ClusterRole. - "kind": "A String", # Role type. - "name": "A String", # Role name. - "ns": "A String", # Role namespace. + "roles": [ + { + "kind": "A String", + "name": "A String", + "ns": "A String", }, ], }, - "loadBalancers": [ # The load balancers associated with the finding. - { # Contains information related to the load balancer associated with the finding. - "name": "A String", # The name of the load balancer associated with the finding. + "loadBalancers": [ + { + "name": "A String", }, ], - "logEntries": [ # Log entries that are relevant to the finding. - { # An individual entry in a log. - "cloudLoggingEntry": { # Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) # An individual entry in a log stored in Cloud Logging. - "insertId": "A String", # A unique identifier for the log entry. - "logId": "A String", # The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - "resourceContainer": "A String", # The organization, folder, or project of the monitored resource that produced this log entry. - "timestamp": "A String", # The time the event described by the log entry occurred. + "logEntries": [ + { + "cloudLoggingEntry": { + "insertId": "A String", + "logId": "A String", + "resourceContainer": "A String", + "timestamp": "A String", }, }, ], - "mitreAttack": { # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org # MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - "additionalTactics": [ # Additional MITRE ATT&CK tactics related to this finding, if any. + "mitreAttack": { + "additionalTactics": [ "A String", ], - "additionalTechniques": [ # Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. + "additionalTechniques": [ "A String", ], - "primaryTactic": "A String", # The MITRE ATT&CK tactic most closely represented by this finding, if any. - "primaryTechniques": [ # The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). + "primaryTactic": "A String", + "primaryTechniques": [ "A String", ], - "version": "A String", # The MITRE ATT&CK version referenced by the above fields. E.g. "8". + "version": "A String", }, - "moduleName": "A String", # Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - "mute": "A String", # Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - "muteInfo": { # Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. # Output only. The mute information regarding this finding. - "dynamicMuteRecords": [ # The list of dynamic mute rules that currently match the finding. - { # The record of a dynamic mute rule that matches the finding. - "matchTime": "A String", # When the dynamic mute rule first matched the finding. - "muteConfig": "A String", # The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. + "moduleName": "A String", + "mute": "A String", + "muteInfo": { + "dynamicMuteRecords": [ + { + "matchTime": "A String", + "muteConfig": "A String", }, ], - "staticMute": { # Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. # If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - "applyTime": "A String", # When the static mute was applied. - "state": "A String", # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. + "staticMute": { + "applyTime": "A String", + "state": "A String", }, }, - "muteInitiator": "A String", # Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - "muteUpdateTime": "A String", # Output only. The most recent time this finding was muted or unmuted. - "name": "A String", # The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}", "folders/{folder_id}/sources/{source_id}/findings/{finding_id}", "projects/{project_id}/sources/{source_id}/findings/{finding_id}". - "networks": [ # Represents the VPC networks that the resource is attached to. - { # Contains information about a VPC network associated with the finding. - "name": "A String", # The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. + "muteInitiator": "A String", + "muteUpdateTime": "A String", + "name": "A String", + "networks": [ + { + "name": "A String", }, ], - "nextSteps": "A String", # Steps to address the finding. - "notebook": { # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. # Notebook associated with the finding. - "lastAuthor": "A String", # The user ID of the latest author to modify the notebook. - "name": "A String", # The name of the notebook. - "notebookUpdateTime": "A String", # The most recent time the notebook was updated. - "service": "A String", # The source notebook service, for example, "Colab Enterprise". + "nextSteps": "A String", + "notebook": { + "lastAuthor": "A String", + "name": "A String", + "notebookUpdateTime": "A String", + "service": "A String", }, - "orgPolicies": [ # Contains information about the org policies associated with the finding. - { # Contains information about the org policies associated with the finding. - "name": "A String", # The resource name of the org policy. Example: "organizations/{organization_id}/policies/{constraint_name}" + "orgPolicies": [ + { + "name": "A String", }, ], - "parent": "A String", # The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "parentDisplayName": "A String", # Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - "policyViolationSummary": { # Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. # PolicyViolationSummary associated with the finding. - "conformantResourcesCount": "A String", # Total number of child resources that conform to the policy. - "evaluationErrorsCount": "A String", # Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - "outOfScopeResourcesCount": "A String", # Total count of child resources which were not in scope for evaluation. - "policyViolationsCount": "A String", # Count of child resources in violation of the policy. - }, - "processes": [ # Represents operating system processes associated with the Finding. - { # Represents an operating system process. - "args": [ # Process arguments as JSON encoded strings. + "parent": "A String", + "parentDisplayName": "A String", + "policyViolationSummary": { + "conformantResourcesCount": "A String", + "evaluationErrorsCount": "A String", + "outOfScopeResourcesCount": "A String", + "policyViolationsCount": "A String", + }, + "processes": [ + { + "args": [ "A String", ], - "argumentsTruncated": True or False, # True if `args` is incomplete. - "binary": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # File information for the process executable. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "argumentsTruncated": True or False, + "binary": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "envVariables": [ # Process environment variables. - { # A name-value pair representing an environment variable used in an operating system process. - "name": "A String", # Environment variable name as a JSON encoded string. - "val": "A String", # Environment variable value as a JSON encoded string. + "envVariables": [ + { + "name": "A String", + "val": "A String", }, ], - "envVariablesTruncated": True or False, # True if `env_variables` is incomplete. - "libraries": [ # File information for libraries loaded by the process. - { # File information about the related binary/library used by an executable, or the script used by a script interpreter - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "envVariablesTruncated": True or False, + "libraries": [ + { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, ], - "name": "A String", # The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - "parentPid": "A String", # The parent process ID. - "pid": "A String", # The process ID. - "script": { # File information about the related binary/library used by an executable, or the script used by a script interpreter # When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - "contents": "A String", # Prefix of the file contents as a JSON-encoded string. - "diskPath": { # Path of the file in terms of underlying disk/partition identifiers. # Path of the file in terms of underlying disk/partition identifiers. - "partitionUuid": "A String", # UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - "relativePath": "A String", # Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh + "name": "A String", + "parentPid": "A String", + "pid": "A String", + "script": { + "contents": "A String", + "diskPath": { + "partitionUuid": "A String", + "relativePath": "A String", }, - "fileLoadState": "A String", # The load state of the file. - "hashedSize": "A String", # The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - "operations": [ # Operation(s) performed on a file. - { # Operation(s) performed on a file. - "type": "A String", # The type of the operation + "fileLoadState": "A String", + "hashedSize": "A String", + "operations": [ + { + "type": "A String", }, ], - "partiallyHashed": True or False, # True when the hash covers only a prefix of the file. - "path": "A String", # Absolute path of the file as a JSON encoded string. - "sha256": "A String", # SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - "size": "A String", # Size of the file in bytes. + "partiallyHashed": True or False, + "path": "A String", + "sha256": "A String", + "size": "A String", }, - "userId": "A String", # The ID of the user that executed the process. E.g. If this is the root user this will always be 0. + "userId": "A String", }, ], - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "secret": { # Details about a secret or credential associated with the finding. # Secret associated with the finding. - "environmentVariable": { # Environment variable containing the secret. # The environment variable containing the secret. - "key": "A String", # Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. + "resourceName": "A String", + "secret": { + "environmentVariable": { + "key": "A String", }, - "filePath": { # File path containing the secret. # The file containing the secret. - "path": "A String", # Path to the file. + "filePath": { + "path": "A String", }, - "status": { # The status of the secret. # The status of the secret. - "lastUpdatedTime": "A String", # Time that the secret was found. - "validity": "A String", # The validity of the secret. + "status": { + "lastUpdatedTime": "A String", + "validity": "A String", }, - "type": "A String", # The type of secret, for example, GCP_API_KEY. + "type": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". - }, - "securityPosture": { # Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. # The security posture associated with the finding. - "changedPolicy": "A String", # The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`. - "name": "A String", # Name of the posture, for example, `CIS-Posture`. - "policy": "A String", # The ID of the updated policy, for example, `compute-policy-1`. - "policyDriftDetails": [ # The details about a change in an updated policy that violates the deployed posture. - { # The policy field that violates the deployed posture and its expected and detected values. - "detectedValue": "A String", # The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"}`. - "expectedValue": "A String", # The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"}`. - "field": "A String", # The name of the updated field, for example constraint.implementation.policy_rules[0].enforce + "name": "A String", + }, + "securityPosture": { + "changedPolicy": "A String", + "name": "A String", + "policy": "A String", + "policyDriftDetails": [ + { + "detectedValue": "A String", + "expectedValue": "A String", + "field": "A String", }, ], - "policySet": "A String", # The name of the updated policyset, for example, `cis-policyset`. - "postureDeployment": "A String", # The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`. - "postureDeploymentResource": "A String", # The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`. - "revisionId": "A String", # The version of the posture, for example, `c7cfa2a8`. + "policySet": "A String", + "postureDeployment": "A String", + "postureDeploymentResource": "A String", + "revisionId": "A String", }, - "severity": "A String", # The severity of the finding. This field is managed by the source that writes the finding. - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "severity": "A String", + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. - "toxicCombination": { # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. # Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - "attackExposureScore": 3.14, # The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - "relatedFindings": [ # List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. + "state": "A String", + "toxicCombination": { + "attackExposureScore": 3.14, + "relatedFindings": [ "A String", ], }, - "vertexAi": { # Vertex AI-related information associated with the finding. # VertexAi associated with the finding. - "datasets": [ # Datasets associated with the finding. - { # Vertex AI dataset associated with the finding. - "displayName": "A String", # The user defined display name of dataset, e.g. plants-dataset - "name": "A String", # Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856 - "source": "A String", # Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod + "vertexAi": { + "datasets": [ + { + "displayName": "A String", + "name": "A String", + "source": "A String", }, ], - "pipelines": [ # Pipelines associated with the finding. - { # Vertex AI training pipeline associated with the finding. - "displayName": "A String", # The user defined display name of pipeline, e.g. plants-classification - "name": "A String", # Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496 + "pipelines": [ + { + "displayName": "A String", + "name": "A String", }, ], }, - "vulnerability": { # Refers to common vulnerability fields e.g. cve, cvss, cwe etc. # Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cve": { # CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. # CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - "cvssv3": { # Common Vulnerability Scoring System version 3. # Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - "attackComplexity": "A String", # This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - "attackVector": "A String", # Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - "availabilityImpact": "A String", # This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - "baseScore": 3.14, # The base score is a function of the base metric scores. - "confidentialityImpact": "A String", # This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - "integrityImpact": "A String", # This metric measures the impact to integrity of a successfully exploited vulnerability. - "privilegesRequired": "A String", # This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - "scope": "A String", # The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - "userInteraction": "A String", # This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. + "vulnerability": { + "cve": { + "cvssv3": { + "attackComplexity": "A String", + "attackVector": "A String", + "availabilityImpact": "A String", + "baseScore": 3.14, + "confidentialityImpact": "A String", + "integrityImpact": "A String", + "privilegesRequired": "A String", + "scope": "A String", + "userInteraction": "A String", }, - "exploitReleaseDate": "A String", # Date the first publicly available exploit or PoC was released. - "exploitationActivity": "A String", # The exploitation activity of the vulnerability in the wild. - "firstExploitationDate": "A String", # Date of the earliest known exploitation. - "id": "A String", # The unique identifier for the vulnerability. e.g. CVE-2021-34527 - "impact": "A String", # The potential impact of the vulnerability if it was to be exploited. - "observedInTheWild": True or False, # Whether or not the vulnerability has been observed in the wild. - "references": [ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "exploitReleaseDate": "A String", + "exploitationActivity": "A String", + "firstExploitationDate": "A String", + "id": "A String", + "impact": "A String", + "observedInTheWild": True or False, + "references": [ + { + "source": "A String", + "uri": "A String", }, ], - "upstreamFixAvailable": True or False, # Whether upstream fix is available for the CVE. - "zeroDay": True or False, # Whether or not the vulnerability was zero day when the finding was published. - }, - "cwes": [ # Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - { # CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - "id": "A String", # The CWE identifier, e.g. CWE-94 - "references": [ # Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - { # Additional Links - "source": "A String", # Source of the reference e.g. NVD - "uri": "A String", # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. + "upstreamFixAvailable": True or False, + "zeroDay": True or False, + }, + "cwes": [ + { + "id": "A String", + "references": [ + { + "source": "A String", + "uri": "A String", }, ], }, ], - "fixedPackage": { # Package is a generic definition of a package. # The fixed package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "fixedPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "offendingPackage": { # Package is a generic definition of a package. # The offending package is relevant to the finding. - "cpeUri": "A String", # The CPE URI where the vulnerability was detected. - "packageName": "A String", # The name of the package where the vulnerability was detected. - "packageType": "A String", # Type of package, for example, os, maven, or go. - "packageVersion": "A String", # The version of the package. + "offendingPackage": { + "cpeUri": "A String", + "packageName": "A String", + "packageType": "A String", + "packageVersion": "A String", }, - "providerRiskScore": "A String", # Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - "reachable": True or False, # Represents whether the vulnerability is reachable (detected via static analysis) - "securityBulletin": { # SecurityBulletin are notifications of vulnerabilities of Google products. # The security bulletin is relevant to this finding. - "bulletinId": "A String", # ID of the bulletin corresponding to the vulnerability. - "submissionTime": "A String", # Submission time of this Security Bulletin. - "suggestedUpgradeVersion": "A String", # This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 + "providerRiskScore": "A String", + "reachable": True or False, + "securityBulletin": { + "bulletinId": "A String", + "submissionTime": "A String", + "suggestedUpgradeVersion": "A String", }, }, }
@@ -4446,23 +4446,23 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks"
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "canonicalName": "A String",
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.
-  updateMask: string, The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.".
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -4471,12 +4471,12 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "canonicalName": "A String", # The canonical name of the marks. Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "folders/{folder_id}/assets/{asset_id}/securityMarks" "projects/{project_number}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "canonicalName": "A String", + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1.projects.sources.html b/docs/dyn/securitycenter_v1.projects.sources.html index 400bcb92d3..3c8c3935ee 100644 --- a/docs/dyn/securitycenter_v1.projects.sources.html +++ b/docs/dyn/securitycenter_v1.projects.sources.html @@ -84,7 +84,7 @@

Instance Methods

Close httplib2 connections.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all sources belonging to an organization.

+

list_next()

Retrieves the next page of results.

@@ -96,12 +96,12 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all sources belonging to an organization.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -110,14 +110,14 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing sources. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "sources": [ # Sources belonging to the requested parent. - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - "canonicalName": "A String", # The canonical name of the finding source. It's either "organizations/{organization_id}/sources/{source_id}", "folders/{folder_id}/sources/{source_id}", or "projects/{project_number}/sources/{source_id}", depending on the closest CRM ancestor of the resource associated with the finding. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "nextPageToken": "A String", + "sources": [ + { + "canonicalName": "A String", + "description": "A String", + "displayName": "A String", + "name": "A String", }, ], }
diff --git a/docs/dyn/securitycenter_v1beta1.organizations.assets.html b/docs/dyn/securitycenter_v1beta1.organizations.assets.html index c810c4ad5b..de52a51662 100644 --- a/docs/dyn/securitycenter_v1beta1.organizations.assets.html +++ b/docs/dyn/securitycenter_v1beta1.organizations.assets.html @@ -79,22 +79,22 @@

Instance Methods

Close httplib2 connections.

group(parent, body=None, x__xgafv=None)

-

Filters an organization's assets and groups them by their specified properties.

+

group_next()

Retrieves the next page of results.

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization's assets.

+

list_next()

Retrieves the next page of results.

runDiscovery(parent, body=None, x__xgafv=None)

-

Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -103,20 +103,20 @@

Method Details

group(parent, body=None, x__xgafv=None) -
Filters an organization's assets and groups them by their specified properties.
+  
 
 Args:
-  parent: string, Required. Name of the organization to groupBy. Its format is "organizations/[organization_id]". (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by assets.
-  "compareDuration": "A String", # When compare_duration is set, the Asset's "state" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state" values when compare_duration is specified: * "ADDED": indicates that the asset was not present before compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. This field is ignored if `state` is not a field in `group_by`.
-  "filter": "A String", # Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_type * security_center_properties.resource_parent The following fields are supported when compare_duration is set: * security_center_properties.resource_type
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "compareDuration": "A String",
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -127,17 +127,17 @@ 

Method Details

Returns: An object of the form: - { # Response message for grouping by assets. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. + "nextPageToken": "A String", + "readTime": "A String", }
@@ -157,17 +157,17 @@

Method Details

list(parent, compareDuration=None, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization's assets.
+  
 
 Args:
-  parent: string, Required. Name of the organization assets should belong to. Its format is "organizations/[organization_id]". (required)
-  compareDuration: string, When compare_duration is set, the ListAssetResult's "state" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state" values when compare_duration is specified: * "ADDED": indicates that the asset was not present before compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is "UNUSED", which indicates that the asset is present at read_time.
-  fieldMask: string, Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent.
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  compareDuration: string, A parameter
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -176,38 +176,38 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing assets. - "listAssetsResults": [ # Assets matching the list request. - { # Result containing the Asset and its State. - "asset": { # Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. # Asset matching the search request. - "createTime": "A String", # The time at which the asset was created in Security Command Center. - "name": "A String", # The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/assets/{asset_id}". - "resourceProperties": { # Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. + { + "listAssetsResults": [ + { + "asset": { + "createTime": "A String", + "name": "A String", + "resourceProperties": { "a_key": "", }, - "securityCenterProperties": { # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. # Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - "resourceName": "A String", # Immutable. The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceOwners": [ # Owners of the Google Cloud resource. + "securityCenterProperties": { + "resourceName": "A String", + "resourceOwners": [ "A String", ], - "resourceParent": "A String", # The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceProject": "A String", # The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - "resourceType": "A String", # The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. + "resourceParent": "A String", + "resourceProject": "A String", + "resourceType": "A String", }, - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + "securityMarks": { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "updateTime": "A String", # The time at which the asset was last updated, added, or deleted in Security Command Center. + "updateTime": "A String", }, - "state": "A String", # State of the asset. + "state": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of assets matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -227,14 +227,14 @@

Method Details

runDiscovery(parent, body=None, x__xgafv=None) -
Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.
+  
 
 Args:
-  parent: string, Required. Name of the organization to run asset discovery for. Its format is "organizations/[organization_id]". (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for running asset discovery for an organization.
+{
 }
 
   x__xgafv: string, V1 error format.
@@ -245,22 +245,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
@@ -268,22 +268,22 @@

Method Details

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect.
-  updateMask: string, The FieldMask to use when updating the security marks resource.
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -292,11 +292,11 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta1.organizations.html b/docs/dyn/securitycenter_v1beta1.organizations.html index 7eaa56c8c7..261e365f3a 100644 --- a/docs/dyn/securitycenter_v1beta1.organizations.html +++ b/docs/dyn/securitycenter_v1beta1.organizations.html @@ -94,10 +94,10 @@

Instance Methods

Close httplib2 connections.

getOrganizationSettings(name, x__xgafv=None)

-

Gets the settings for an organization.

+

updateOrganizationSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Updates an organization's settings.

+

Method Details

close() @@ -106,10 +106,10 @@

Method Details

getOrganizationSettings(name, x__xgafv=None) -
Gets the settings for an organization.
+  
 
 Args:
-  name: string, Required. Name of the organization to get organization settings for. Its format is "organizations/[organization_id]/organizationSettings". (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -118,39 +118,39 @@ 

Method Details

Returns: An object of the form: - { # User specified settings that are attached to the Security Command Center organization. - "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs. - "inclusionMode": "A String", # The mode to use for filtering asset discovery. - "projectIds": [ # The project ids to use for filtering asset discovery. + { + "assetDiscoveryConfig": { + "inclusionMode": "A String", + "projectIds": [ "A String", ], }, - "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". + "enableAssetDiscovery": True or False, + "name": "A String", }
updateOrganizationSettings(name, body=None, updateMask=None, x__xgafv=None) -
Updates an organization's settings.
+  
 
 Args:
-  name: string, The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified settings that are attached to the Security Command Center organization.
-  "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs.
-    "inclusionMode": "A String", # The mode to use for filtering asset discovery.
-    "projectIds": [ # The project ids to use for filtering asset discovery.
+{
+  "assetDiscoveryConfig": {
+    "inclusionMode": "A String",
+    "projectIds": [
       "A String",
     ],
   },
-  "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.
-  "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings".
+  "enableAssetDiscovery": True or False,
+  "name": "A String",
 }
 
-  updateMask: string, The FieldMask to use when updating the settings resource.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -159,15 +159,15 @@ 

Method Details

Returns: An object of the form: - { # User specified settings that are attached to the Security Command Center organization. - "assetDiscoveryConfig": { # The configuration used for Asset Discovery runs. # The configuration used for Asset Discovery runs. - "inclusionMode": "A String", # The mode to use for filtering asset discovery. - "projectIds": [ # The project ids to use for filtering asset discovery. + { + "assetDiscoveryConfig": { + "inclusionMode": "A String", + "projectIds": [ "A String", ], }, - "enableAssetDiscovery": True or False, # A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - "name": "A String", # The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/organizationSettings". + "enableAssetDiscovery": True or False, + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta1.organizations.operations.html b/docs/dyn/securitycenter_v1beta1.organizations.operations.html index b561fc01da..a42e5addb5 100644 --- a/docs/dyn/securitycenter_v1beta1.organizations.operations.html +++ b/docs/dyn/securitycenter_v1beta1.organizations.operations.html @@ -76,33 +76,33 @@

Security Command Center API . Instance Methods

cancel(name, body=None, x__xgafv=None)

-

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.

+

close()

Close httplib2 connections.

delete(name, x__xgafv=None)

-

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.

+

get(name, x__xgafv=None)

-

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

+

list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)

-

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.

+

list_next()

Retrieves the next page of results.

Method Details

cancel(name, body=None, x__xgafv=None) -
Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
+  
 
 Args:
-  name: string, The name of the operation resource to be cancelled. (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # The request message for Operations.CancelOperation.
+{
 }
 
   x__xgafv: string, V1 error format.
@@ -113,7 +113,7 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
@@ -124,10 +124,10 @@

Method Details

delete(name, x__xgafv=None) -
Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
+  
 
 Args:
-  name: string, The name of the operation resource to be deleted. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -136,16 +136,16 @@ 

Method Details

Returns: An object of the form: - { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } + { }
get(name, x__xgafv=None) -
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.
+  
 
 Args:
-  name: string, The name of the operation resource. (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -154,22 +154,22 @@ 

Method Details

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. + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }
@@ -177,14 +177,14 @@

Method Details

list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None) -
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.
+  
 
 Args:
-  name: string, The name of the operation's parent resource. (required)
-  filter: string, The standard list filter.
-  pageSize: integer, The standard list page size.
-  pageToken: string, The standard list page token.
-  returnPartialSuccess: boolean, When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
+  name: string, A parameter (required)
+  filter: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  returnPartialSuccess: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -193,30 +193,30 @@ 

Method Details

Returns: An object of the form: - { # The response message for Operations.ListOperations. - "nextPageToken": "A String", # The standard List next-page token. - "operations": [ # A list of operations that matches the specified filter in the request. - { # 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. + { + "nextPageToken": "A String", + "operations": [ + { + "done": True or False, + "error": { + "code": 42, + "details": [ { "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. + "message": "A String", }, - "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. + "metadata": { "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`. + "name": "A String", + "response": { "a_key": "", # Properties of the object. Contains field @type with type URL. }, }, ], - "unreachable": [ # Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. + "unreachable": [ "A String", ], }
diff --git a/docs/dyn/securitycenter_v1beta1.organizations.sources.findings.html b/docs/dyn/securitycenter_v1beta1.organizations.sources.findings.html index 84cdda0c15..40a80d9ca3 100644 --- a/docs/dyn/securitycenter_v1beta1.organizations.sources.findings.html +++ b/docs/dyn/securitycenter_v1beta1.organizations.sources.findings.html @@ -79,28 +79,28 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, findingId=None, x__xgafv=None)

-

Creates a finding. The corresponding source must exist for finding creation to succeed.

+

group(parent, body=None, x__xgafv=None)

-

Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings

+

group_next()

Retrieves the next page of results.

list(parent, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)

-

Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.

+

setState(name, body=None, x__xgafv=None)

-

Updates the state of a finding.

+

updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None)

-

Updates security marks.

+

Method Details

close() @@ -109,34 +109,34 @@

Method Details

create(parent, body=None, findingId=None, x__xgafv=None) -
Creates a finding. The corresponding source must exist for finding creation to succeed.
+  
 
 Args:
-  parent: string, Required. Resource name of the new finding's parent. Its format should be "organizations/[organization_id]/sources/[source_id]". (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved.
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}"
-  "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "category": "A String",
+  "createTime": "A String",
+  "eventTime": "A String",
+  "externalUri": "A String",
+  "name": "A String",
+  "parent": "A String",
+  "resourceName": "A String",
+  "securityMarks": {
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+    "name": "A String",
   },
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
+  "state": "A String",
 }
 
-  findingId: string, Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.
+  findingId: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -145,42 +145,42 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" - "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "category": "A String", + "createTime": "A String", + "eventTime": "A String", + "externalUri": "A String", + "name": "A String", + "parent": "A String", + "resourceName": "A String", + "securityMarks": { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. + "state": "A String", }
group(parent, body=None, x__xgafv=None) -
Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source to groupBy. Its format is "organizations/[organization_id]/sources/[source_id]". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/- (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for grouping by findings.
-  "filter": "A String", # Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.
-  "groupBy": "A String", # Required. Expression that defines what assets fields to use for grouping (including `state`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported: * resource_name * category * state * parent
-  "pageSize": 42, # The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  "pageToken": "A String", # The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.
-  "readTime": "A String", # Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+{
+  "filter": "A String",
+  "groupBy": "A String",
+  "pageSize": 42,
+  "pageToken": "A String",
+  "readTime": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -191,17 +191,17 @@ 

Method Details

Returns: An object of the form: - { # Response message for group by findings. - "groupByResults": [ # Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - { # Result containing the properties and count of a groupBy request. - "count": "A String", # Total count of resources for the given properties. - "properties": { # Properties matching the groupBy fields in the request. + { + "groupByResults": [ + { + "count": "A String", + "properties": { "a_key": "", }, }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the groupBy request. + "nextPageToken": "A String", + "readTime": "A String", }
@@ -221,16 +221,16 @@

Method Details

list(parent, fieldMask=None, filter=None, orderBy=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None) -
Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings
+  
 
 Args:
-  parent: string, Required. Name of the source the findings belong to. Its format is "organizations/[organization_id]/sources/[source_id]". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/- (required)
-  fieldMask: string, Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.
-  filter: string, Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.
-  orderBy: string, Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent.
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.
-  readTime: string, Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.
+  parent: string, A parameter (required)
+  fieldMask: string, A parameter
+  filter: string, A parameter
+  orderBy: string, A parameter
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
+  readTime: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -239,31 +239,31 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing findings. - "findings": [ # Findings matching the list request. - { # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" - "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "findings": [ + { + "category": "A String", + "createTime": "A String", + "eventTime": "A String", + "externalUri": "A String", + "name": "A String", + "parent": "A String", + "resourceName": "A String", + "securityMarks": { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. + "state": "A String", }, ], - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "readTime": "A String", # Time used for executing the list request. - "totalSize": 42, # The total number of findings matching the query. + "nextPageToken": "A String", + "readTime": "A String", + "totalSize": 42, }
@@ -283,34 +283,34 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.
+  
 
 Args:
-  name: string, The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.
-  "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION"
-  "createTime": "A String", # The time at which the finding was created in Security Command Center.
-  "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved.
-  "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.
-  "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}"
-  "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}"
-  "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.
-  "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.
-    "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "category": "A String",
+  "createTime": "A String",
+  "eventTime": "A String",
+  "externalUri": "A String",
+  "name": "A String",
+  "parent": "A String",
+  "resourceName": "A String",
+  "securityMarks": {
+    "marks": {
       "a_key": "A String",
     },
-    "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+    "name": "A String",
   },
-  "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.
+  "sourceProperties": {
     "a_key": "",
   },
-  "state": "A String", # The state of the finding.
+  "state": "A String",
 }
 
-  updateMask: string, The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -319,39 +319,39 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" - "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "category": "A String", + "createTime": "A String", + "eventTime": "A String", + "externalUri": "A String", + "name": "A String", + "parent": "A String", + "resourceName": "A String", + "securityMarks": { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. + "state": "A String", }
setState(name, body=None, x__xgafv=None) -
Updates the state of a finding.
+  
 
 Args:
-  name: string, Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/finding/{finding_id}". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for updating a finding's state.
-  "startTime": "A String", # Optional. The time at which the updated state takes effect. If not set uses the current time.
-  "state": "A String", # Required. The desired State of the finding.
+{
+  "startTime": "A String",
+  "state": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -362,45 +362,45 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - "category": "A String", # The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - "createTime": "A String", # The time at which the finding was created in Security Command Center. - "eventTime": "A String", # The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. - "externalUri": "A String", # The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - "name": "A String", # The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}" - "parent": "A String", # Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id}/sources/{source_id}" - "resourceName": "A String", # For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - "securityMarks": { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. # Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "category": "A String", + "createTime": "A String", + "eventTime": "A String", + "externalUri": "A String", + "name": "A String", + "parent": "A String", + "resourceName": "A String", + "securityMarks": { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }, - "sourceProperties": { # Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. + "sourceProperties": { "a_key": "", }, - "state": "A String", # The state of the finding. + "state": "A String", }
updateSecurityMarks(name, body=None, startTime=None, updateMask=None, x__xgafv=None) -
Updates security marks.
+  
 
 Args:
-  name: string, The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.
-  "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)
+{
+  "marks": {
     "a_key": "A String",
   },
-  "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks".
+  "name": "A String",
 }
 
-  startTime: string, The time at which the updated SecurityMarks take effect.
-  updateMask: string, The FieldMask to use when updating the security marks resource.
+  startTime: string, A parameter
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -409,11 +409,11 @@ 

Method Details

Returns: An object of the form: - { # User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - "marks": { # Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) + { + "marks": { "a_key": "A String", }, - "name": "A String", # The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id}/assets/{asset_id}/securityMarks" "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". + "name": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta1.organizations.sources.html b/docs/dyn/securitycenter_v1beta1.organizations.sources.html index b350274c15..488e1f0a1f 100644 --- a/docs/dyn/securitycenter_v1beta1.organizations.sources.html +++ b/docs/dyn/securitycenter_v1beta1.organizations.sources.html @@ -84,28 +84,28 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a source.

+

get(name, x__xgafv=None)

-

Gets a source.

+

getIamPolicy(resource, body=None, x__xgafv=None)

-

Gets the access control policy on the specified Source.

+

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists all sources belonging to an organization.

+

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

-

Updates a source.

+

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the access control policy on the specified Source.

+

testIamPermissions(resource, body=None, x__xgafv=None)

-

Returns the permissions that a caller has on the specified source.

+

Method Details

close() @@ -114,17 +114,17 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a source.
+  
 
 Args:
-  parent: string, Required. Resource name of the new source's parent. Its format should be "organizations/[organization_id]". (required)
+  parent: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc.
-  "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries."
-  "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).
-  "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}"
+{
+  "description": "A String",
+  "displayName": "A String",
+  "name": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -135,19 +135,19 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "description": "A String", + "displayName": "A String", + "name": "A String", }
get(name, x__xgafv=None) -
Gets a source.
+  
 
 Args:
-  name: string, Required. Relative resource name of the source. Its format is "organizations/[organization_id]/source/[source_id]". (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -156,25 +156,25 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "description": "A String", + "displayName": "A String", + "name": "A String", }
getIamPolicy(resource, body=None, x__xgafv=None) -
Gets the access control policy on the specified Source.
+  
 
 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)
+  resource: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for `GetIamPolicy` method.
-  "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
-    "requestedPolicyVersion": 42, # 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).
+{
+  "options": {
+    "requestedPolicyVersion": 42,
   },
 }
 
@@ -186,47 +186,47 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + { + "auditConfigs": [ + { + "auditLogConfigs": [ + { + "exemptedMembers": [ "A String", ], - "logType": "A String", # The log type that this config enables. + "logType": "A String", }, ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + "service": "A String", }, ], - "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. + "bindings": [ + { + "condition": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "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`. + "members": [ "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). + "role": "A String", }, ], - "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). + "etag": "A String", + "version": 42, }
list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Lists all sources belonging to an organization.
+  
 
 Args:
-  parent: string, Required. Resource name of the parent of sources to list. Its format should be "organizations/[organization_id]". (required)
-  pageSize: integer, The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.
-  pageToken: string, The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.
+  parent: string, A parameter (required)
+  pageSize: integer, A parameter
+  pageToken: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -235,13 +235,13 @@ 

Method Details

Returns: An object of the form: - { # Response message for listing sources. - "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results. - "sources": [ # Sources belonging to the requested parent. - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "nextPageToken": "A String", + "sources": [ + { + "description": "A String", + "displayName": "A String", + "name": "A String", }, ], }
@@ -263,20 +263,20 @@

Method Details

patch(name, body=None, updateMask=None, x__xgafv=None) -
Updates a source.
+  
 
 Args:
-  name: string, The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc.
-  "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries."
-  "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).
-  "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}"
+{
+  "description": "A String",
+  "displayName": "A String",
+  "name": "A String",
 }
 
-  updateMask: string, The FieldMask to use when updating the source resource.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -285,55 +285,55 @@ 

Method Details

Returns: An object of the form: - { # Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc. - "description": "A String", # The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries." - "displayName": "A String", # The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - "name": "A String", # The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id}/sources/{source_id}" + { + "description": "A String", + "displayName": "A String", + "name": "A String", }
setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the access control policy on the specified Source.
+  
 
 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)
+  resource: string, A parameter (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.
-    "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
-      { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
-        "auditLogConfigs": [ # The configuration for logging of each type of permission.
-          { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
-            "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+{
+  "policy": {
+    "auditConfigs": [
+      {
+        "auditLogConfigs": [
+          {
+            "exemptedMembers": [
               "A String",
             ],
-            "logType": "A String", # The log type that this config enables.
+            "logType": "A String",
           },
         ],
-        "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+        "service": "A String",
       },
     ],
-    "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.
+    "bindings": [
+      {
+        "condition": {
+          "description": "A String",
+          "expression": "A String",
+          "location": "A String",
+          "title": "A String",
         },
-        "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`.
+        "members": [
           "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).
+        "role": "A String",
       },
     ],
-    "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).
+    "etag": "A String",
+    "version": 42,
   },
-  "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: "bindings, etag"`
+  "updateMask": "A String",
 }
 
   x__xgafv: string, V1 error format.
@@ -344,50 +344,50 @@ 

Method Details

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/). - "auditConfigs": [ # Specifies cloud audit logging configuration for this policy. - { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. - "auditLogConfigs": [ # The configuration for logging of each type of permission. - { # Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. - "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + { + "auditConfigs": [ + { + "auditLogConfigs": [ + { + "exemptedMembers": [ "A String", ], - "logType": "A String", # The log type that this config enables. + "logType": "A String", }, ], - "service": "A String", # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + "service": "A String", }, ], - "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. + "bindings": [ + { + "condition": { + "description": "A String", + "expression": "A String", + "location": "A String", + "title": "A String", }, - "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`. + "members": [ "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). + "role": "A String", }, ], - "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). + "etag": "A String", + "version": 42, }
testIamPermissions(resource, body=None, x__xgafv=None) -
 Returns the permissions that a caller has on the specified source.
+  
 
 Args:
-  resource: string, REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  resource: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Request message for `TestIamPermissions` method.
-  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+{
+  "permissions": [
     "A String",
   ],
 }
@@ -400,8 +400,8 @@ 

Method Details

Returns: An object of the form: - { # Response message for `TestIamPermissions` method. - "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + { + "permissions": [ "A String", ], }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.containerThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.folders.containerThreatDetectionSettings.html index d33386e02d..576cea4ef9 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.containerThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.containerThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.folders.eventThreatDetectionSettings.html index ff96693fe7..b3eefd7f8a 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.eventThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.html b/docs/dyn/securitycenter_v1beta2.folders.html index 4fb1b55c6e..07eab8d45c 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.html +++ b/docs/dyn/securitycenter_v1beta2.folders.html @@ -109,43 +109,43 @@

Instance Methods

Close httplib2 connections.

getContainerThreatDetectionSettings(name, x__xgafv=None)

-

Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.

+

getEventThreatDetectionSettings(name, x__xgafv=None)

-

Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.

+

getRapidVulnerabilityDetectionSettings(name, x__xgafv=None)

-

Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.

+

getSecurityCenterSettings(name, x__xgafv=None)

-

Get the SecurityCenterSettings resource.

+

getSecurityHealthAnalyticsSettings(name, x__xgafv=None)

-

Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.

+

getVirtualMachineThreatDetectionSettings(name, x__xgafv=None)

-

Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.

+

getWebSecurityScannerSettings(name, x__xgafv=None)

-

Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.

+

updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the ContainerThreatDetectionSettings resource.

+

updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the EventThreatDetectionSettings resource.

+

updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the RapidVulnerabilityDetectionSettings resource.

+

updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the SecurityHealthAnalyticsSettings resource.

+

updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the VirtualMachineThreatDetectionSettings resource.

+

updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the WebSecurityScannerSettings resource.

+

Method Details

close() @@ -154,10 +154,10 @@

Method Details

getContainerThreatDetectionSettings(name, x__xgafv=None) -
Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -166,28 +166,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getEventThreatDetectionSettings(name, x__xgafv=None) -
Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -196,27 +196,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getRapidVulnerabilityDetectionSettings(name, x__xgafv=None) -
Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -225,27 +225,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getSecurityCenterSettings(name, x__xgafv=None) -
Get the SecurityCenterSettings resource.
+  
 
 Args:
-  name: string, Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -254,21 +254,21 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for Security Center. - "cryptoKeyName": "A String", # The KMS key name used for CMEK encryption. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name} - "logSinkProject": "A String", # The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding. - "name": "A String", # The resource name of the SecurityCenterSettings. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings - "onboardingTime": "A String", # Output only. Timestamp of when the customer organization was onboarded to SCC. - "orgServiceAccount": "A String", # Output only. The organization level service account to be used for security center components. + { + "cryptoKeyName": "A String", + "logSinkProject": "A String", + "name": "A String", + "onboardingTime": "A String", + "orgServiceAccount": "A String", }
getSecurityHealthAnalyticsSettings(name, x__xgafv=None) -
Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -277,28 +277,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getVirtualMachineThreatDetectionSettings(name, x__xgafv=None) -
Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -307,28 +307,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getWebSecurityScannerSettings(name, x__xgafv=None) -
Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -337,46 +337,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the ContainerThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Container Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -385,46 +385,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the EventThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Event Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -433,45 +433,45 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the RapidVulnerabilityDetectionSettings resource.
+  
 
 Args:
-  name: string, The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Rapid Vulnerability Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -480,46 +480,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the SecurityHealthAnalyticsSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Security Health Analytics service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings
-  "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -528,47 +528,47 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the VirtualMachineThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Virtual Machine Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -577,46 +577,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the WebSecurityScannerSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Web Security Scanner service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -625,18 +625,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.rapidVulnerabilityDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.folders.rapidVulnerabilityDetectionSettings.html index 88c2af5016..5171d4db4b 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.rapidVulnerabilityDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.rapidVulnerabilityDetectionSettings.html @@ -76,17 +76,17 @@

Security Command Center API . Instance Methods

calculate(name, x__xgafv=None)

-

Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, x__xgafv=None) -
Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -95,18 +95,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.securityHealthAnalyticsSettings.html b/docs/dyn/securitycenter_v1beta2.folders.securityHealthAnalyticsSettings.html index a82dba8229..f8373adbba 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.securityHealthAnalyticsSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.securityHealthAnalyticsSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.virtualMachineThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.folders.virtualMachineThreatDetectionSettings.html index 0b0f3004f4..23f9f75f45 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.virtualMachineThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.virtualMachineThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.folders.webSecurityScannerSettings.html b/docs/dyn/securitycenter_v1beta2.folders.webSecurityScannerSettings.html index 3a17b4e815..8b8bab5c61 100644 --- a/docs/dyn/securitycenter_v1beta2.folders.webSecurityScannerSettings.html +++ b/docs/dyn/securitycenter_v1beta2.folders.webSecurityScannerSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.containerThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.containerThreatDetectionSettings.html index 962b331dfc..c1c1c0a388 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.containerThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.containerThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.eventThreatDetectionSettings.html index 384a46bd98..86f88e5029 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.eventThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.html b/docs/dyn/securitycenter_v1beta2.organizations.html index 3574baa911..2872385f43 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.html @@ -109,46 +109,46 @@

Instance Methods

Close httplib2 connections.

getContainerThreatDetectionSettings(name, x__xgafv=None)

-

Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.

+

getEventThreatDetectionSettings(name, x__xgafv=None)

-

Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.

+

getRapidVulnerabilityDetectionSettings(name, x__xgafv=None)

-

Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.

+

getSecurityCenterSettings(name, x__xgafv=None)

-

Get the SecurityCenterSettings resource.

+

getSecurityHealthAnalyticsSettings(name, x__xgafv=None)

-

Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.

+

getSubscription(name, x__xgafv=None)

-

Get the Subscription resource.

+

getVirtualMachineThreatDetectionSettings(name, x__xgafv=None)

-

Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.

+

getWebSecurityScannerSettings(name, x__xgafv=None)

-

Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.

+

updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the ContainerThreatDetectionSettings resource.

+

updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the EventThreatDetectionSettings resource.

+

updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the RapidVulnerabilityDetectionSettings resource.

+

updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the SecurityHealthAnalyticsSettings resource.

+

updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the VirtualMachineThreatDetectionSettings resource.

+

updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the WebSecurityScannerSettings resource.

+

Method Details

close() @@ -157,10 +157,10 @@

Method Details

getContainerThreatDetectionSettings(name, x__xgafv=None) -
Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -169,28 +169,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getEventThreatDetectionSettings(name, x__xgafv=None) -
Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -199,27 +199,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getRapidVulnerabilityDetectionSettings(name, x__xgafv=None) -
Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -228,27 +228,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getSecurityCenterSettings(name, x__xgafv=None) -
Get the SecurityCenterSettings resource.
+  
 
 Args:
-  name: string, Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,21 +257,21 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for Security Center. - "cryptoKeyName": "A String", # The KMS key name used for CMEK encryption. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name} - "logSinkProject": "A String", # The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding. - "name": "A String", # The resource name of the SecurityCenterSettings. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings - "onboardingTime": "A String", # Output only. Timestamp of when the customer organization was onboarded to SCC. - "orgServiceAccount": "A String", # Output only. The organization level service account to be used for security center components. + { + "cryptoKeyName": "A String", + "logSinkProject": "A String", + "name": "A String", + "onboardingTime": "A String", + "orgServiceAccount": "A String", }
getSecurityHealthAnalyticsSettings(name, x__xgafv=None) -
Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -280,28 +280,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getSubscription(name, x__xgafv=None) -
Get the Subscription resource.
+  
 
 Args:
-  name: string, Required. The name of the subscription to retrieve. Format: organizations/{organization}/subscription (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -310,23 +310,23 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the state of an organization's subscription. - "details": { # Details of a subscription. # The details of the most recent active subscription. If there has never been a subscription this will be empty. - "endTime": "A String", # The time the subscription has or will end. - "startTime": "A String", # The time the subscription has or will start. - "type": "A String", # The type of subscription + { + "details": { + "endTime": "A String", + "startTime": "A String", + "type": "A String", }, - "name": "A String", # The resource name of the subscription. Format: organizations/{organization}/subscription - "tier": "A String", # The tier of SCC features this organization currently has access to. + "name": "A String", + "tier": "A String", }
getVirtualMachineThreatDetectionSettings(name, x__xgafv=None) -
Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -335,28 +335,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getWebSecurityScannerSettings(name, x__xgafv=None) -
Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -365,46 +365,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the ContainerThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Container Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -413,46 +413,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the EventThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Event Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -461,45 +461,45 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the RapidVulnerabilityDetectionSettings resource.
+  
 
 Args:
-  name: string, The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Rapid Vulnerability Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -508,46 +508,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the SecurityHealthAnalyticsSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Security Health Analytics service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings
-  "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -556,47 +556,47 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the VirtualMachineThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Virtual Machine Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -605,46 +605,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the WebSecurityScannerSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Web Security Scanner service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -653,18 +653,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.rapidVulnerabilityDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.rapidVulnerabilityDetectionSettings.html index 24c07ef161..554c7f4bbc 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.rapidVulnerabilityDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.rapidVulnerabilityDetectionSettings.html @@ -76,17 +76,17 @@

Security Command Center API . Instance Methods

calculate(name, x__xgafv=None)

-

Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, x__xgafv=None) -
Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -95,18 +95,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.securityHealthAnalyticsSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.securityHealthAnalyticsSettings.html index 021372012f..2273f15d4c 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.securityHealthAnalyticsSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.securityHealthAnalyticsSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.virtualMachineThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.virtualMachineThreatDetectionSettings.html index e10787d65f..6fc9a831f7 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.virtualMachineThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.virtualMachineThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.organizations.webSecurityScannerSettings.html b/docs/dyn/securitycenter_v1beta2.organizations.webSecurityScannerSettings.html index 05b49d5ec3..1c43919559 100644 --- a/docs/dyn/securitycenter_v1beta2.organizations.webSecurityScannerSettings.html +++ b/docs/dyn/securitycenter_v1beta2.organizations.webSecurityScannerSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.containerThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.projects.containerThreatDetectionSettings.html index f0ba0ab315..fa0df28130 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.containerThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.containerThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.eventThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.projects.eventThreatDetectionSettings.html index 397a13ac2d..d4c1b0c80d 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.eventThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.eventThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.html b/docs/dyn/securitycenter_v1beta2.projects.html index e43655beab..13ea48dc75 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.html +++ b/docs/dyn/securitycenter_v1beta2.projects.html @@ -114,43 +114,43 @@

Instance Methods

Close httplib2 connections.

getContainerThreatDetectionSettings(name, x__xgafv=None)

-

Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.

+

getEventThreatDetectionSettings(name, x__xgafv=None)

-

Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.

+

getRapidVulnerabilityDetectionSettings(name, x__xgafv=None)

-

Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.

+

getSecurityCenterSettings(name, x__xgafv=None)

-

Get the SecurityCenterSettings resource.

+

getSecurityHealthAnalyticsSettings(name, x__xgafv=None)

-

Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.

+

getVirtualMachineThreatDetectionSettings(name, x__xgafv=None)

-

Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.

+

getWebSecurityScannerSettings(name, x__xgafv=None)

-

Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.

+

updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the ContainerThreatDetectionSettings resource.

+

updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the EventThreatDetectionSettings resource.

+

updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the RapidVulnerabilityDetectionSettings resource.

+

updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the SecurityHealthAnalyticsSettings resource.

+

updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the VirtualMachineThreatDetectionSettings resource.

+

updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the WebSecurityScannerSettings resource.

+

Method Details

close() @@ -159,10 +159,10 @@

Method Details

getContainerThreatDetectionSettings(name, x__xgafv=None) -
Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -171,28 +171,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getEventThreatDetectionSettings(name, x__xgafv=None) -
Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -201,27 +201,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getRapidVulnerabilityDetectionSettings(name, x__xgafv=None) -
Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -230,27 +230,27 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getSecurityCenterSettings(name, x__xgafv=None) -
Get the SecurityCenterSettings resource.
+  
 
 Args:
-  name: string, Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -259,21 +259,21 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for Security Center. - "cryptoKeyName": "A String", # The KMS key name used for CMEK encryption. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name} - "logSinkProject": "A String", # The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding. - "name": "A String", # The resource name of the SecurityCenterSettings. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings - "onboardingTime": "A String", # Output only. Timestamp of when the customer organization was onboarded to SCC. - "orgServiceAccount": "A String", # Output only. The organization level service account to be used for security center components. + { + "cryptoKeyName": "A String", + "logSinkProject": "A String", + "name": "A String", + "onboardingTime": "A String", + "orgServiceAccount": "A String", }
getSecurityHealthAnalyticsSettings(name, x__xgafv=None) -
Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -282,28 +282,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getVirtualMachineThreatDetectionSettings(name, x__xgafv=None) -
Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -312,28 +312,28 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
getWebSecurityScannerSettings(name, x__xgafv=None) -
Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -342,46 +342,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the ContainerThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Container Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -390,46 +390,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateEventThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the EventThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Event Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -438,45 +438,45 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Event Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateRapidVulnerabilityDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the RapidVulnerabilityDetectionSettings resource.
+  
 
 Args:
-  name: string, The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Rapid Vulnerability Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -485,46 +485,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateSecurityHealthAnalyticsSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the SecurityHealthAnalyticsSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Security Health Analytics service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings
-  "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -533,47 +533,47 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateVirtualMachineThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the VirtualMachineThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Virtual Machine Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -582,46 +582,46 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateWebSecurityScannerSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the WebSecurityScannerSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Web Security Scanner service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -630,18 +630,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.containerThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.containerThreatDetectionSettings.html index 8d8534db90..ea432340f5 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.containerThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.containerThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.html b/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.html index e0d0fe7011..b7181abcb8 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.html +++ b/docs/dyn/securitycenter_v1beta2.projects.locations.clusters.html @@ -84,10 +84,10 @@

Instance Methods

Close httplib2 connections.

getContainerThreatDetectionSettings(name, x__xgafv=None)

-

Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.

+

updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None)

-

Update the ContainerThreatDetectionSettings resource.

+

Method Details

close() @@ -96,10 +96,10 @@

Method Details

getContainerThreatDetectionSettings(name, x__xgafv=None) -
Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.
+  
 
 Args:
-  name: string, Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -108,47 +108,47 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
updateContainerThreatDetectionSettings(name, body=None, updateMask=None, x__xgafv=None) -
Update the ContainerThreatDetectionSettings resource.
+  
 
 Args:
-  name: string, Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings (required)
+  name: string, A parameter (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Resource capturing the settings for the Container Threat Detection service.
-  "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.
-    "a_key": { # Configuration of a module.
-      "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy.
-      "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent.
+{
+  "modules": {
+    "a_key": {
+      "moduleEnablementState": "A String",
+      "value": {
         "a_key": "", # Properties of the object.
       },
     },
   },
-  "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings
-  "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.
-  "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.
-  "updateTime": "A String", # Output only. The time the settings were last updated.
+  "name": "A String",
+  "serviceAccount": "A String",
+  "serviceEnablementState": "A String",
+  "updateTime": "A String",
 }
 
-  updateMask: string, The list of fields to be updated.
+  updateMask: string, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -157,19 +157,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Container Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.rapidVulnerabilityDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.projects.rapidVulnerabilityDetectionSettings.html index 205692bf0a..411faef04d 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.rapidVulnerabilityDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.rapidVulnerabilityDetectionSettings.html @@ -76,17 +76,17 @@

Security Command Center API . Instance Methods

calculate(name, x__xgafv=None)

-

Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, x__xgafv=None) -
Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings (required)
+  name: string, A parameter (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -95,18 +95,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Rapid Vulnerability Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.securityHealthAnalyticsSettings.html b/docs/dyn/securitycenter_v1beta2.projects.securityHealthAnalyticsSettings.html index 327581f2f1..6c0e32d019 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.securityHealthAnalyticsSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.securityHealthAnalyticsSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Security Health Analytics service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings - "serviceAccount": "A String", # Output only. The service account used by Security Health Analytics detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.virtualMachineThreatDetectionSettings.html b/docs/dyn/securitycenter_v1beta2.projects.virtualMachineThreatDetectionSettings.html index 7adb72ab2b..df1f4357a9 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.virtualMachineThreatDetectionSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.virtualMachineThreatDetectionSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,19 +96,19 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Virtual Machine Threat Detection service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings - "serviceAccount": "A String", # Output only. The service account used by Virtual Machine Threat Detection detectors. - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceAccount": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/securitycenter_v1beta2.projects.webSecurityScannerSettings.html b/docs/dyn/securitycenter_v1beta2.projects.webSecurityScannerSettings.html index e6a066b458..5e4444ade9 100644 --- a/docs/dyn/securitycenter_v1beta2.projects.webSecurityScannerSettings.html +++ b/docs/dyn/securitycenter_v1beta2.projects.webSecurityScannerSettings.html @@ -76,18 +76,18 @@

Security Command Center API . Instance Methods

calculate(name, showEligibleModulesOnly=None, x__xgafv=None)

-

Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.

+

close()

Close httplib2 connections.

Method Details

calculate(name, showEligibleModulesOnly=None, x__xgafv=None) -
Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.
+  
 
 Args:
-  name: string, Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings (required)
-  showEligibleModulesOnly: boolean, Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.
+  name: string, A parameter (required)
+  showEligibleModulesOnly: boolean, A parameter
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -96,18 +96,18 @@ 

Method Details

Returns: An object of the form: - { # Resource capturing the settings for the Web Security Scanner service. - "modules": { # The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - "a_key": { # Configuration of a module. - "moduleEnablementState": "A String", # The state of enablement for the module at its level of the resource hierarchy. - "value": { # The configuration value for the module. The absence of this field implies its inheritance from the parent. + { + "modules": { + "a_key": { + "moduleEnablementState": "A String", + "value": { "a_key": "", # Properties of the object. }, }, }, - "name": "A String", # Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings - "serviceEnablementState": "A String", # The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - "updateTime": "A String", # Output only. The time the settings were last updated. + "name": "A String", + "serviceEnablementState": "A String", + "updateTime": "A String", }
diff --git a/docs/dyn/servicecontrol_v2.services.html b/docs/dyn/servicecontrol_v2.services.html index d1f29db4a4..c3d131c9c1 100644 --- a/docs/dyn/servicecontrol_v2.services.html +++ b/docs/dyn/servicecontrol_v2.services.html @@ -135,6 +135,7 @@

Method Details

"claims": { # Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure. "a_key": "", # Properties of the object. }, + "credentialId": "A String", # Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. "oauth": { # This message defines attributes associated with OAuth credentials. # Attributes of the OAuth token associated with the request. "clientId": "A String", # The optional OAuth client ID. This is the unique public identifier issued by an authorization server to a registered client application. Empty string is equivalent to no oauth client id. WARNING: This is for MCP tools/call and tools/list authorization and not for general use. }, @@ -290,6 +291,7 @@

Method Details

"claims": { # Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure. "a_key": "", # Properties of the object. }, + "credentialId": "A String", # Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. "oauth": { # This message defines attributes associated with OAuth credentials. # Attributes of the OAuth token associated with the request. "clientId": "A String", # The optional OAuth client ID. This is the unique public identifier issued by an authorization server to a registered client application. Empty string is equivalent to no oauth client id. WARNING: This is for MCP tools/call and tools/list authorization and not for general use. }, diff --git a/docs/dyn/servicedirectory_v1.projects.locations.html b/docs/dyn/servicedirectory_v1.projects.locations.html index 7416412830..e28445fd8b 100644 --- a/docs/dyn/servicedirectory_v1.projects.locations.html +++ b/docs/dyn/servicedirectory_v1.projects.locations.html @@ -87,7 +87,7 @@

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -126,11 +126,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.html
index 69649ca098..2256dfff15 100644
--- a/docs/dyn/servicedirectory_v1beta1.projects.locations.html
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.html
@@ -87,7 +87,7 @@ 

Instance Methods

Gets information about a location.

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

+

Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.

list_next()

Retrieves the next page of results.

@@ -126,11 +126,11 @@

Method Details

list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+  
Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
 Args:
   name: string, The resource that owns the locations collection, if applicable. (required)
-  extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
   filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
   pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
   pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
diff --git a/docs/dyn/storage_v1.buckets.html b/docs/dyn/storage_v1.buckets.html
index 2305822e6f..cfaa2ea5b2 100644
--- a/docs/dyn/storage_v1.buckets.html
+++ b/docs/dyn/storage_v1.buckets.html
@@ -327,6 +327,8 @@ 

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -634,6 +636,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -876,6 +880,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -1116,6 +1122,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -1367,6 +1375,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -1594,6 +1604,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -1837,6 +1849,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -2118,6 +2132,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -2480,6 +2496,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], @@ -2723,6 +2741,8 @@

Method Details

], "noncurrentTimeBefore": "A String", # A date in RFC 3339 format with only the date part (for instance, "2013-01-15"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects. "numNewerVersions": 42, # Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object. + "sizeAboveBytes": "A String", # Objects having a size greater than this value in bytes will be matched. + "sizeBelowBytes": "A String", # Objects having a size less than this value in bytes will be matched. }, }, ], diff --git a/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.bucketOperations.html b/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.bucketOperations.html index 0d998df11f..9add3f40bb 100644 --- a/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.bucketOperations.html +++ b/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.bucketOperations.html @@ -97,7 +97,7 @@

Method Details

Gets a BucketOperation.
 
 Args:
-  name: string, Required. `name` of the bucket operation to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}. (required)
+  name: string, Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -121,7 +121,7 @@ 

Method Details

}, "createTime": "A String", # Output only. The time that the BucketOperation was created. "deleteObject": { # Describes options to delete an object. # Delete objects. - "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. }, "errorSummaries": [ # Output only. Summarizes errors encountered with sample error log entries. { # A summary of errors by error code, plus a count and sample error log entries. @@ -138,47 +138,85 @@

Method Details

}, ], "manifest": { # Describes list of objects to be transformed. # Specifies objects in a manifest file. - "manifestLocation": "A String", # Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. + "manifestLocation": "A String", # Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored. }, - "name": "A String", # Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}. + "name": "A String", # Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}`. "prefixList": { # Describes prefixes of objects to be transformed. # Specifies objects matching a prefix set. - "includedObjectPrefixes": [ # Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket. + "includedObjectPrefixes": [ # Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''` "A String", ], }, + "projectSource": { # Describes the project source where the objects satisfying the filters will be transformed. # Specifies objects matching the object filters in a project source. + "bucketFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + "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. + }, + "dryRunJobId": "A String", # Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`. + "insightsDatasetConfig": "A String", # Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`. + "objectFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + "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. + }, + "project": "A String", # Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + "snapshotTime": "A String", # Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + "targetLocations": { # Describes the Cloud Storage locations to include in a ProjectSource job. # Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + "locations": [ # Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + "A String", + ], + "snapshotTime": "A String", # Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + }, + }, "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. - "cacheControl": "A String", # Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. - "contentDisposition": "A String", # Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. - "contentEncoding": "A String", # Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. - "contentLanguage": "A String", # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. - "contentType": "A String", # Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type - "customMetadata": { # Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + "cacheControl": "A String", # Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). + "contentDisposition": "A String", # Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). + "contentEncoding": "A String", # Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). + "contentLanguage": "A String", # Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). + "contentType": "A String", # Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). + "customMetadata": { # Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). "a_key": "A String", }, - "customTime": "A String", # Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. - "objectRetention": { # Describes options for object retention update. # Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock - "retainUntilTime": "A String", # Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. - "retentionMode": "A String", # Required. The retention mode of the object. + "customTime": "A String", # Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). + "objectRetention": { # Describes options for object retention update. # Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). + "retainUntilTime": "A String", # Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. + "retentionMode": "A String", # Required. The retention mode. }, }, "putObjectHold": { # Describes options to update object hold. # Changes object hold status. - "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. - "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. }, "rewriteObject": { # Describes options for object rewrite. # Rewrite the object and updates metadata like KMS key. - "kmsKey": "A String", # Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + "kmsKey": "A String", # Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. + "storageClass": "A String", # Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. + }, + "setObjectAcls": { # Describes options for setting object ACLs. # Updates object ACLs. + "accessControlsUpdates": { # Represents updates to existing access-control entries on an object. # Required. Add, update, or remove grants from the object's existing ACLs. + "grants": [ # Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + { # Represents an access control entry on an object. + "entity": "A String", # Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + "role": "A String", # Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + }, + ], + "removeEntities": [ # Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + "A String", + ], + }, }, "startTime": "A String", # Output only. The time that the BucketOperation was started. "state": "A String", # Output only. State of the BucketOperation. "updateObjectCustomContext": { # Describes options to update object custom contexts. # Update object custom context. - "clearAll": True or False, # If set, must be set to true and all existing object custom contexts will be deleted. + "clearAll": True or False, # If set, must be set to true and all existing object custom contexts are deleted. "customContextUpdates": { # Describes a collection of updates to apply to custom contexts identified by key. # A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key. - "keysToClear": [ # Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + "keysToClear": [ # Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. "A String", ], "updates": { # Optional. Insert or update the existing custom contexts. - "a_key": { # Describes the payload of a user defined object custom context. - "value": "A String", # The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + "a_key": { # Describes the payload of a user-defined object custom context. + "value": "A String", # The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. }, }, }, @@ -191,9 +229,9 @@

Method Details

Lists BucketOperations in a given project and job.
 
 Args:
-  parent: string, Required. Format: projects/{project_id}/locations/global/jobs/{job_id}. (required)
+  parent: string, Required. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. (required)
   filter: string, Optional. Filters results as defined by https://google.aip.dev/160.
-  orderBy: string, Optional. Field to sort by. Supported fields are name, create_time.
+  orderBy: string, Optional. Field to sort by. Supported fields are `name` and `create_time`.
   pageSize: integer, Optional. The list page size. Default page size is 100.
   pageToken: string, Optional. The list page token.
   x__xgafv: string, V1 error format.
@@ -221,7 +259,7 @@ 

Method Details

}, "createTime": "A String", # Output only. The time that the BucketOperation was created. "deleteObject": { # Describes options to delete an object. # Delete objects. - "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. }, "errorSummaries": [ # Output only. Summarizes errors encountered with sample error log entries. { # A summary of errors by error code, plus a count and sample error log entries. @@ -238,47 +276,85 @@

Method Details

}, ], "manifest": { # Describes list of objects to be transformed. # Specifies objects in a manifest file. - "manifestLocation": "A String", # Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. + "manifestLocation": "A String", # Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored. }, - "name": "A String", # Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}. + "name": "A String", # Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}`. "prefixList": { # Describes prefixes of objects to be transformed. # Specifies objects matching a prefix set. - "includedObjectPrefixes": [ # Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket. + "includedObjectPrefixes": [ # Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''` "A String", ], }, + "projectSource": { # Describes the project source where the objects satisfying the filters will be transformed. # Specifies objects matching the object filters in a project source. + "bucketFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + "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. + }, + "dryRunJobId": "A String", # Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`. + "insightsDatasetConfig": "A String", # Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`. + "objectFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + "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. + }, + "project": "A String", # Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + "snapshotTime": "A String", # Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + "targetLocations": { # Describes the Cloud Storage locations to include in a ProjectSource job. # Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + "locations": [ # Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + "A String", + ], + "snapshotTime": "A String", # Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + }, + }, "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. - "cacheControl": "A String", # Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. - "contentDisposition": "A String", # Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. - "contentEncoding": "A String", # Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. - "contentLanguage": "A String", # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. - "contentType": "A String", # Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type - "customMetadata": { # Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + "cacheControl": "A String", # Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). + "contentDisposition": "A String", # Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). + "contentEncoding": "A String", # Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). + "contentLanguage": "A String", # Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). + "contentType": "A String", # Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). + "customMetadata": { # Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). "a_key": "A String", }, - "customTime": "A String", # Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. - "objectRetention": { # Describes options for object retention update. # Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock - "retainUntilTime": "A String", # Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. - "retentionMode": "A String", # Required. The retention mode of the object. + "customTime": "A String", # Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). + "objectRetention": { # Describes options for object retention update. # Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). + "retainUntilTime": "A String", # Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. + "retentionMode": "A String", # Required. The retention mode. }, }, "putObjectHold": { # Describes options to update object hold. # Changes object hold status. - "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. - "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. }, "rewriteObject": { # Describes options for object rewrite. # Rewrite the object and updates metadata like KMS key. - "kmsKey": "A String", # Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + "kmsKey": "A String", # Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. + "storageClass": "A String", # Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. + }, + "setObjectAcls": { # Describes options for setting object ACLs. # Updates object ACLs. + "accessControlsUpdates": { # Represents updates to existing access-control entries on an object. # Required. Add, update, or remove grants from the object's existing ACLs. + "grants": [ # Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + { # Represents an access control entry on an object. + "entity": "A String", # Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + "role": "A String", # Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + }, + ], + "removeEntities": [ # Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + "A String", + ], + }, }, "startTime": "A String", # Output only. The time that the BucketOperation was started. "state": "A String", # Output only. State of the BucketOperation. "updateObjectCustomContext": { # Describes options to update object custom contexts. # Update object custom context. - "clearAll": True or False, # If set, must be set to true and all existing object custom contexts will be deleted. + "clearAll": True or False, # If set, must be set to true and all existing object custom contexts are deleted. "customContextUpdates": { # Describes a collection of updates to apply to custom contexts identified by key. # A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key. - "keysToClear": [ # Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + "keysToClear": [ # Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. "A String", ], "updates": { # Optional. Insert or update the existing custom contexts. - "a_key": { # Describes the payload of a user defined object custom context. - "value": "A String", # The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + "a_key": { # Describes the payload of a user-defined object custom context. + "value": "A String", # The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. }, }, }, diff --git a/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.html b/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.html index 423ad6d6f4..b40d14b3c2 100644 --- a/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.html +++ b/docs/dyn/storagebatchoperations_v1.projects.locations.jobs.html @@ -106,12 +106,12 @@

Method Details

Cancels a batch job.
 
 Args:
-  name: string, Required. The `name` of the job to cancel. Format: projects/{project_id}/locations/global/jobs/{job_id}. (required)
+  name: string, Required. The `name` of the job to cancel. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Message for Job to Cancel
-  "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  "requestId": "A String", # Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
 }
 
   x__xgafv: string, V1 error format.
@@ -136,20 +136,20 @@ 

Method Details

Creates a batch job.
 
 Args:
-  parent: string, Required. Value for parent. (required)
+  parent: string, Required. The value for parent. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # The Storage Batch Operations Job description.
+{ # The storage batch operations job description.
   "bucketList": { # Describes list of buckets and their objects to be transformed. # Specifies a list of buckets and their objects to be transformed.
-    "buckets": [ # Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned.
+    "buckets": [ # Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs.
       { # Describes configuration of a single bucket and its objects to be transformed.
         "bucket": "A String", # Required. Bucket name for the objects to be transformed.
         "manifest": { # Describes list of objects to be transformed. # Specifies objects in a manifest file.
-          "manifestLocation": "A String", # Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon.
+          "manifestLocation": "A String", # Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored.
         },
         "prefixList": { # Describes prefixes of objects to be transformed. # Specifies objects matching a prefix set.
-          "includedObjectPrefixes": [ # Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket.
+          "includedObjectPrefixes": [ # Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''`
             "A String",
           ],
         },
@@ -169,10 +169,10 @@ 

Method Details

}, "createTime": "A String", # Output only. The time that the job was created. "deleteObject": { # Describes options to delete an object. # Delete objects. - "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. }, - "description": "A String", # Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded. - "dryRun": True or False, # Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed. + "description": "A String", # Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded. + "dryRun": True or False, # Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed. "errorSummaries": [ # Output only. Summarizes errors encountered with sample error log entries. { # A summary of errors by error code, plus a count and sample error log entries. "errorCode": "A String", # Required. The canonical error code. @@ -187,7 +187,7 @@

Method Details

], }, ], - "isMultiBucketJob": True or False, # Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs. + "isMultiBucketJob": True or False, # Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs. "loggingConfig": { # Specifies the Cloud Logging behavior. # Optional. Logging configuration. "logActionStates": [ # Required. States in which Action are logged.If empty, no logs are generated. "A String", @@ -196,48 +196,86 @@

Method Details

"A String", ], }, - "name": "A String", # Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project}/locations/global/jobs/{job_id} . For example: "projects/123456/locations/global/jobs/job01". - "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. - "cacheControl": "A String", # Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. - "contentDisposition": "A String", # Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. - "contentEncoding": "A String", # Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. - "contentLanguage": "A String", # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. - "contentType": "A String", # Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type - "customMetadata": { # Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + "name": "A String", # Identifier. The resource name of the job. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project. + "projectSource": { # Describes the project source where the objects satisfying the filters will be transformed. # Specifies a project source and filters to identify objects to be transformed. + "bucketFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + "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. + }, + "dryRunJobId": "A String", # Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`. + "insightsDatasetConfig": "A String", # Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`. + "objectFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + "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. + }, + "project": "A String", # Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + "snapshotTime": "A String", # Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + "targetLocations": { # Describes the Cloud Storage locations to include in a ProjectSource job. # Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + "locations": [ # Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + "A String", + ], + "snapshotTime": "A String", # Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + }, + }, + "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`. + "cacheControl": "A String", # Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). + "contentDisposition": "A String", # Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). + "contentEncoding": "A String", # Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). + "contentLanguage": "A String", # Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). + "contentType": "A String", # Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). + "customMetadata": { # Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). "a_key": "A String", }, - "customTime": "A String", # Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. - "objectRetention": { # Describes options for object retention update. # Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock - "retainUntilTime": "A String", # Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. - "retentionMode": "A String", # Required. The retention mode of the object. + "customTime": "A String", # Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). + "objectRetention": { # Describes options for object retention update. # Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). + "retainUntilTime": "A String", # Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. + "retentionMode": "A String", # Required. The retention mode. }, }, "putObjectHold": { # Describes options to update object hold. # Changes object hold status. - "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. - "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. }, "rewriteObject": { # Describes options for object rewrite. # Rewrite the object and updates metadata like KMS key. - "kmsKey": "A String", # Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + "kmsKey": "A String", # Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. + "storageClass": "A String", # Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. }, "scheduleTime": "A String", # Output only. The time that the job was scheduled. + "setObjectAcls": { # Describes options for setting object ACLs. # Updates object ACLs. + "accessControlsUpdates": { # Represents updates to existing access-control entries on an object. # Required. Add, update, or remove grants from the object's existing ACLs. + "grants": [ # Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + { # Represents an access control entry on an object. + "entity": "A String", # Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + "role": "A String", # Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + }, + ], + "removeEntities": [ # Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + "A String", + ], + }, + }, "state": "A String", # Output only. State of the job. "updateObjectCustomContext": { # Describes options to update object custom contexts. # Update object custom context. - "clearAll": True or False, # If set, must be set to true and all existing object custom contexts will be deleted. + "clearAll": True or False, # If set, must be set to true and all existing object custom contexts are deleted. "customContextUpdates": { # Describes a collection of updates to apply to custom contexts identified by key. # A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key. - "keysToClear": [ # Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + "keysToClear": [ # Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. "A String", ], "updates": { # Optional. Insert or update the existing custom contexts. - "a_key": { # Describes the payload of a user defined object custom context. - "value": "A String", # The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + "a_key": { # Describes the payload of a user-defined object custom context. + "value": "A String", # The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. }, }, }, }, } - jobId: string, Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123. - requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + jobId: string, Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123. + requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -272,9 +310,9 @@

Method Details

Deletes a batch job.
 
 Args:
-  name: string, Required. The `name` of the job to delete. Format: projects/{project_id}/locations/global/jobs/{job_id} . (required)
-  force: boolean, Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations).
-  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  name: string, Required. The `name` of the job to delete. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. (required)
+  force: boolean, Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations).
+  requestId: string, Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -292,7 +330,7 @@ 

Method Details

Gets a batch job.
 
 Args:
-  name: string, Required. `name` of the job to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id} . (required)
+  name: string, Required. The `name` of the job to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -301,16 +339,16 @@ 

Method Details

Returns: An object of the form: - { # The Storage Batch Operations Job description. + { # The storage batch operations job description. "bucketList": { # Describes list of buckets and their objects to be transformed. # Specifies a list of buckets and their objects to be transformed. - "buckets": [ # Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned. + "buckets": [ # Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs. { # Describes configuration of a single bucket and its objects to be transformed. "bucket": "A String", # Required. Bucket name for the objects to be transformed. "manifest": { # Describes list of objects to be transformed. # Specifies objects in a manifest file. - "manifestLocation": "A String", # Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. + "manifestLocation": "A String", # Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored. }, "prefixList": { # Describes prefixes of objects to be transformed. # Specifies objects matching a prefix set. - "includedObjectPrefixes": [ # Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket. + "includedObjectPrefixes": [ # Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''` "A String", ], }, @@ -330,10 +368,10 @@

Method Details

}, "createTime": "A String", # Output only. The time that the job was created. "deleteObject": { # Describes options to delete an object. # Delete objects. - "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. }, - "description": "A String", # Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded. - "dryRun": True or False, # Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed. + "description": "A String", # Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded. + "dryRun": True or False, # Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed. "errorSummaries": [ # Output only. Summarizes errors encountered with sample error log entries. { # A summary of errors by error code, plus a count and sample error log entries. "errorCode": "A String", # Required. The canonical error code. @@ -348,7 +386,7 @@

Method Details

], }, ], - "isMultiBucketJob": True or False, # Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs. + "isMultiBucketJob": True or False, # Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs. "loggingConfig": { # Specifies the Cloud Logging behavior. # Optional. Logging configuration. "logActionStates": [ # Required. States in which Action are logged.If empty, no logs are generated. "A String", @@ -357,40 +395,78 @@

Method Details

"A String", ], }, - "name": "A String", # Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project}/locations/global/jobs/{job_id} . For example: "projects/123456/locations/global/jobs/job01". - "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. - "cacheControl": "A String", # Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. - "contentDisposition": "A String", # Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. - "contentEncoding": "A String", # Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. - "contentLanguage": "A String", # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. - "contentType": "A String", # Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type - "customMetadata": { # Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + "name": "A String", # Identifier. The resource name of the job. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project. + "projectSource": { # Describes the project source where the objects satisfying the filters will be transformed. # Specifies a project source and filters to identify objects to be transformed. + "bucketFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + "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. + }, + "dryRunJobId": "A String", # Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`. + "insightsDatasetConfig": "A String", # Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`. + "objectFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + "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. + }, + "project": "A String", # Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + "snapshotTime": "A String", # Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + "targetLocations": { # Describes the Cloud Storage locations to include in a ProjectSource job. # Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + "locations": [ # Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + "A String", + ], + "snapshotTime": "A String", # Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + }, + }, + "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`. + "cacheControl": "A String", # Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). + "contentDisposition": "A String", # Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). + "contentEncoding": "A String", # Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). + "contentLanguage": "A String", # Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). + "contentType": "A String", # Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). + "customMetadata": { # Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). "a_key": "A String", }, - "customTime": "A String", # Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. - "objectRetention": { # Describes options for object retention update. # Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock - "retainUntilTime": "A String", # Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. - "retentionMode": "A String", # Required. The retention mode of the object. + "customTime": "A String", # Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). + "objectRetention": { # Describes options for object retention update. # Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). + "retainUntilTime": "A String", # Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. + "retentionMode": "A String", # Required. The retention mode. }, }, "putObjectHold": { # Describes options to update object hold. # Changes object hold status. - "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. - "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. }, "rewriteObject": { # Describes options for object rewrite. # Rewrite the object and updates metadata like KMS key. - "kmsKey": "A String", # Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + "kmsKey": "A String", # Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. + "storageClass": "A String", # Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. }, "scheduleTime": "A String", # Output only. The time that the job was scheduled. + "setObjectAcls": { # Describes options for setting object ACLs. # Updates object ACLs. + "accessControlsUpdates": { # Represents updates to existing access-control entries on an object. # Required. Add, update, or remove grants from the object's existing ACLs. + "grants": [ # Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + { # Represents an access control entry on an object. + "entity": "A String", # Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + "role": "A String", # Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + }, + ], + "removeEntities": [ # Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + "A String", + ], + }, + }, "state": "A String", # Output only. State of the job. "updateObjectCustomContext": { # Describes options to update object custom contexts. # Update object custom context. - "clearAll": True or False, # If set, must be set to true and all existing object custom contexts will be deleted. + "clearAll": True or False, # If set, must be set to true and all existing object custom contexts are deleted. "customContextUpdates": { # Describes a collection of updates to apply to custom contexts identified by key. # A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key. - "keysToClear": [ # Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + "keysToClear": [ # Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. "A String", ], "updates": { # Optional. Insert or update the existing custom contexts. - "a_key": { # Describes the payload of a user defined object custom context. - "value": "A String", # The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + "a_key": { # Describes the payload of a user-defined object custom context. + "value": "A String", # The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. }, }, }, @@ -405,8 +481,8 @@

Method Details

Args: parent: string, Required. Format: projects/{project_id}/locations/global. (required) filter: string, Optional. Filters results as defined by https://google.aip.dev/160. - orderBy: string, Optional. Field to sort by. Supported fields are name, create_time. - pageSize: integer, Optional. The list page size. default page size is 100. + orderBy: string, Optional. Field to sort by. Supported fields are `name` and `create_time`. + pageSize: integer, Optional. The list page size. The default page size is 100. pageToken: string, Optional. The list page token. x__xgafv: string, V1 error format. Allowed values @@ -418,16 +494,16 @@

Method Details

{ # Message for response to listing Jobs "jobs": [ # A list of storage batch jobs. - { # The Storage Batch Operations Job description. + { # The storage batch operations job description. "bucketList": { # Describes list of buckets and their objects to be transformed. # Specifies a list of buckets and their objects to be transformed. - "buckets": [ # Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned. + "buckets": [ # Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs. { # Describes configuration of a single bucket and its objects to be transformed. "bucket": "A String", # Required. Bucket name for the objects to be transformed. "manifest": { # Describes list of objects to be transformed. # Specifies objects in a manifest file. - "manifestLocation": "A String", # Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. + "manifestLocation": "A String", # Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored. }, "prefixList": { # Describes prefixes of objects to be transformed. # Specifies objects matching a prefix set. - "includedObjectPrefixes": [ # Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket. + "includedObjectPrefixes": [ # Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''` "A String", ], }, @@ -447,10 +523,10 @@

Method Details

}, "createTime": "A String", # Output only. The time that the job was created. "deleteObject": { # Describes options to delete an object. # Delete objects. - "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + "permanentObjectDeletionEnabled": True or False, # Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. }, - "description": "A String", # Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded. - "dryRun": True or False, # Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed. + "description": "A String", # Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded. + "dryRun": True or False, # Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed. "errorSummaries": [ # Output only. Summarizes errors encountered with sample error log entries. { # A summary of errors by error code, plus a count and sample error log entries. "errorCode": "A String", # Required. The canonical error code. @@ -465,7 +541,7 @@

Method Details

], }, ], - "isMultiBucketJob": True or False, # Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs. + "isMultiBucketJob": True or False, # Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs. "loggingConfig": { # Specifies the Cloud Logging behavior. # Optional. Logging configuration. "logActionStates": [ # Required. States in which Action are logged.If empty, no logs are generated. "A String", @@ -474,40 +550,78 @@

Method Details

"A String", ], }, - "name": "A String", # Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project}/locations/global/jobs/{job_id} . For example: "projects/123456/locations/global/jobs/job01". - "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. - "cacheControl": "A String", # Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. - "contentDisposition": "A String", # Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. - "contentEncoding": "A String", # Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. - "contentLanguage": "A String", # Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. - "contentType": "A String", # Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type - "customMetadata": { # Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + "name": "A String", # Identifier. The resource name of the job. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project. + "projectSource": { # Describes the project source where the objects satisfying the filters will be transformed. # Specifies a project source and filters to identify objects to be transformed. + "bucketFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + "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. + }, + "dryRunJobId": "A String", # Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`. + "insightsDatasetConfig": "A String", # Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`. + "objectFilters": { # 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. # Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + "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. + }, + "project": "A String", # Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + "snapshotTime": "A String", # Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + "targetLocations": { # Describes the Cloud Storage locations to include in a ProjectSource job. # Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + "locations": [ # Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + "A String", + ], + "snapshotTime": "A String", # Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + }, + }, + "putMetadata": { # Describes options for object metadata update. # Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`. + "cacheControl": "A String", # Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). + "contentDisposition": "A String", # Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). + "contentEncoding": "A String", # Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). + "contentLanguage": "A String", # Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). + "contentType": "A String", # Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). + "customMetadata": { # Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). "a_key": "A String", }, - "customTime": "A String", # Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. - "objectRetention": { # Describes options for object retention update. # Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock - "retainUntilTime": "A String", # Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. - "retentionMode": "A String", # Required. The retention mode of the object. + "customTime": "A String", # Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). + "objectRetention": { # Describes options for object retention update. # Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). + "retainUntilTime": "A String", # Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. + "retentionMode": "A String", # Required. The retention mode. }, }, "putObjectHold": { # Describes options to update object hold. # Changes object hold status. - "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. - "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + "eventBasedHold": "A String", # Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + "temporaryHold": "A String", # Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. }, "rewriteObject": { # Describes options for object rewrite. # Rewrite the object and updates metadata like KMS key. - "kmsKey": "A String", # Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + "kmsKey": "A String", # Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. + "storageClass": "A String", # Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. }, "scheduleTime": "A String", # Output only. The time that the job was scheduled. + "setObjectAcls": { # Describes options for setting object ACLs. # Updates object ACLs. + "accessControlsUpdates": { # Represents updates to existing access-control entries on an object. # Required. Add, update, or remove grants from the object's existing ACLs. + "grants": [ # Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + { # Represents an access control entry on an object. + "entity": "A String", # Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + "role": "A String", # Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + }, + ], + "removeEntities": [ # Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + "A String", + ], + }, + }, "state": "A String", # Output only. State of the job. "updateObjectCustomContext": { # Describes options to update object custom contexts. # Update object custom context. - "clearAll": True or False, # If set, must be set to true and all existing object custom contexts will be deleted. + "clearAll": True or False, # If set, must be set to true and all existing object custom contexts are deleted. "customContextUpdates": { # Describes a collection of updates to apply to custom contexts identified by key. # A collection of updates to apply to specific custom contexts. Use this to add, update or delete individual contexts by key. - "keysToClear": [ # Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + "keysToClear": [ # Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. "A String", ], "updates": { # Optional. Insert or update the existing custom contexts. - "a_key": { # Describes the payload of a user defined object custom context. - "value": "A String", # The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + "a_key": { # Describes the payload of a user-defined object custom context. + "value": "A String", # The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. }, }, }, diff --git a/docs/dyn/threatintelligence_v1beta.projects.configurations.html b/docs/dyn/threatintelligence_v1beta.projects.configurations.html index ddbf66d83e..faf5e59d74 100644 --- a/docs/dyn/threatintelligence_v1beta.projects.configurations.html +++ b/docs/dyn/threatintelligence_v1beta.projects.configurations.html @@ -284,6 +284,7 @@

Method Details

"detailType": "A String", # Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. }, "displayName": "A String", # Output only. Human readable name for the configuration. + "etag": "A String", # If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. "name": "A String", # Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration} "provider": "A String", # Required. Name of the service that provides the configuration. "state": "A String", # Optional. State of the configuration. @@ -481,6 +482,7 @@

Method Details

"detailType": "A String", # Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. }, "displayName": "A String", # Output only. Human readable name for the configuration. + "etag": "A String", # If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. "name": "A String", # Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration} "provider": "A String", # Required. Name of the service that provides the configuration. "state": "A String", # Optional. State of the configuration. @@ -684,6 +686,7 @@

Method Details

"detailType": "A String", # Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. }, "displayName": "A String", # Output only. Human readable name for the configuration. + "etag": "A String", # If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. "name": "A String", # Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration} "provider": "A String", # Required. Name of the service that provides the configuration. "state": "A String", # Optional. State of the configuration. diff --git a/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html b/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html index c90a6fe47e..a914248406 100644 --- a/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html +++ b/docs/dyn/threatintelligence_v1beta.projects.configurations.revisions.html @@ -283,6 +283,7 @@

Method Details

"detailType": "A String", # Output only. Name of the detail type. Will be set by the server during creation to the name of the field that is set in the detail union. }, "displayName": "A String", # Output only. Human readable name for the configuration. + "etag": "A String", # If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. "name": "A String", # Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration} "provider": "A String", # Required. Name of the service that provides the configuration. "state": "A String", # Optional. State of the configuration. diff --git a/docs/dyn/travelimpactmodel_v1.flights.html b/docs/dyn/travelimpactmodel_v1.flights.html index 76e6b786a2..b406e78b7e 100644 --- a/docs/dyn/travelimpactmodel_v1.flights.html +++ b/docs/dyn/travelimpactmodel_v1.flights.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

computeFlightEmissions(body=None, x__xgafv=None)

-

Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model) The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.

+

Retrieves emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.

computeScope3FlightEmissions(body=None, x__xgafv=None)

-

Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.

+

Retrieves GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.

computeTypicalFlightEmissions(body=None, x__xgafv=None)

Retrieves typical flight emissions estimates between two airports, also known as a market. If there are no estimates available for a certain market, the response will return the market object with empty emission fields. The request will still be considered successful. Details on how the typical emissions estimates are computed are on [GitHub](https://github.com/google/travel-impact-model/blob/main/projects/typical_flight_emissions.md). The request can contain up to 1000 markets. If the request has more than 1000 markets, it will fail with an INVALID_ARGUMENT error.

@@ -94,7 +94,7 @@

Method Details

computeFlightEmissions(body=None, x__xgafv=None) -
Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model) The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.
+  
Retrieves emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.
 
 Args:
   body: object, The request body.
@@ -173,7 +173,7 @@ 

Method Details

computeScope3FlightEmissions(body=None, x__xgafv=None) -
Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.
+  
Retrieves GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.
 
 Args:
   body: object, The request body.
diff --git a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
index 2ad9e0b6ba..1dbb1fc471 100644
--- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
+++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cloneJobs.html
@@ -152,8 +152,8 @@ 

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -307,8 +307,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -438,8 +438,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html index ba1db178b6..c882b547ca 100644 --- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html +++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.cutoverJobs.html @@ -152,8 +152,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -417,8 +417,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -658,8 +658,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html index cc621189b4..472b1f86e7 100644 --- a/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html +++ b/docs/dyn/vmmigration_v1.projects.locations.sources.migratingVms.html @@ -292,6 +292,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -471,8 +487,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -582,8 +598,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -1141,6 +1157,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -1320,8 +1352,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -1431,8 +1463,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -1849,6 +1881,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -2028,8 +2076,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -2139,8 +2187,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -2561,6 +2609,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -2740,8 +2804,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -2851,8 +2915,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html index d4ffdc5224..86b170e68c 100644 --- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html +++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cloneJobs.html @@ -152,8 +152,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -416,8 +416,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -656,8 +656,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html index c66e0f3fa5..b66b8b6c92 100644 --- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html +++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.cutoverJobs.html @@ -152,8 +152,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -529,8 +529,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -882,8 +882,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html index 7785144e85..0fbe9f8f5b 100644 --- a/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html +++ b/docs/dyn/vmmigration_v1alpha1.projects.locations.sources.migratingVms.html @@ -294,6 +294,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -529,8 +545,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -749,8 +765,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -1476,6 +1492,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -1711,8 +1743,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -1931,8 +1963,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -2517,6 +2549,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -2752,8 +2800,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -2972,8 +3020,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -3562,6 +3610,22 @@

Method Details

"A String", ], "diskType": "A String", # The disk type to use in the VM. + "disks": [ # Optional. The details of each disk to create. + { # Details for creation of a Persistent Disk. + "additionalLabels": { # A map of labels to associate with the Persistent Disk. + "a_key": "A String", + }, + "diskName": "A String", # Optional. The name of the Persistent Disk to create. + "diskType": "A String", # The disk type to use. + "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk. + "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS. + }, + "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk. + "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM. + "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks. + }, + }, + ], "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled. "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI. "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks. @@ -3797,8 +3861,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. @@ -4017,8 +4081,8 @@

Method Details

"computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine. "disks": [ # The details of each created Persistent Disk. { # Details of a created Persistent Disk. - "diskUri": "A String", # The URI of the Persistent Disk. - "sourceDiskNumber": 42, # The ordinal number of the source VM disk. + "diskUri": "A String", # Output only. The URI of the Persistent Disk. + "sourceDiskNumber": 42, # Output only. The ordinal number of the source VM disk. }, ], "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target. diff --git a/docs/dyn/vmwareengine_v1.projects.locations.html b/docs/dyn/vmwareengine_v1.projects.locations.html index 70d4b6bfff..3670367113 100644 --- a/docs/dyn/vmwareengine_v1.projects.locations.html +++ b/docs/dyn/vmwareengine_v1.projects.locations.html @@ -203,7 +203,7 @@

Method Details

Args: name: string, The resource that owns the locations collection, if applicable. (required) - extraLocationTypes: string, Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. (repeated) + extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated) filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). pageSize: integer, The maximum number of results to return. If not set, the service selects a default. pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. diff --git a/docs/dyn/vmwareengine_v1.projects.locations.privateClouds.html b/docs/dyn/vmwareengine_v1.projects.locations.privateClouds.html index 340abe0da1..75d9b04c7b 100644 --- a/docs/dyn/vmwareengine_v1.projects.locations.privateClouds.html +++ b/docs/dyn/vmwareengine_v1.projects.locations.privateClouds.html @@ -133,6 +133,9 @@

Instance Methods

list_next()

Retrieves the next page of results.

+

+ migrateManagementVms(name, body=None, x__xgafv=None)

+

Migrates the management VMs of the PC from the current management cluster to a workload cluster. Post this migration, the provided workload cluster becomes the management cluster

patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

Modifies a `PrivateCloud` resource. Only the following fields can be updated: `description`. Only fields specified in `updateMask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes.

@@ -531,6 +534,50 @@

Method Details

+
+ migrateManagementVms(name, body=None, x__xgafv=None) +
Migrates the management VMs of the PC from the current management cluster to a workload cluster. Post this migration, the provided workload cluster becomes the management cluster
+
+Args:
+  name: string, Required. The resource name of the private cloud whose management vms are getting migrated. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for VmwareEngine.MigrateManagementVms
+  "clusterId": "A String", # Required. The user-provided identifier of the workload cluster to which the management VMs are to be migrated. The cluster must be in the same private cloud as the one specified in `name`, and must be a workload cluster. The eventual cluster name will be constructed from the private cloud name and this cluster ID.
+  "etag": "A String", # Optional. Checksum used to ensure that the user-provided value is up to date before the server processes the request. The server compares provided checksum with the current checksum of the resource. If the user-provided value is out of date, this request returns an `ABORTED` error.
+  "requestId": "A String", # Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+}
+
+  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.
+  },
+}
+
+
patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)
Modifies a `PrivateCloud` resource. Only the following fields can be updated: `description`. Only fields specified in `updateMask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes.
diff --git a/docs/dyn/webcontentpublisher_v1.html b/docs/dyn/webcontentpublisher_v1.html
new file mode 100644
index 0000000000..3b79666444
--- /dev/null
+++ b/docs/dyn/webcontentpublisher_v1.html
@@ -0,0 +1,111 @@
+
+
+
+

Web Content Publisher API

+

Instance Methods

+

+ publications() +

+

Returns the publications Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+                Args:
+                  callback: callable, A callback to be called for each response, of the
+                    form callback(id, response, exception). The first parameter is the
+                    request id, and the second is the deserialized response object. The
+                    third is an apiclient.errors.HttpError exception object if an HTTP
+                    error occurred while processing the request, or None if no error
+                    occurred.
+
+                Returns:
+                  A BatchHttpRequest object based on the discovery document.
+                
+
+ + \ No newline at end of file diff --git a/docs/dyn/webcontentpublisher_v1.publications.html b/docs/dyn/webcontentpublisher_v1.publications.html new file mode 100644 index 0000000000..0502e52b06 --- /dev/null +++ b/docs/dyn/webcontentpublisher_v1.publications.html @@ -0,0 +1,110 @@ + + + +

Web Content Publisher API . publications

+

Instance Methods

+

+ checkFreeAccess(name, httpReferrer=None, uri=None, x__xgafv=None)

+

Checks if a user is eligible for free article access.

+

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ checkFreeAccess(name, httpReferrer=None, uri=None, x__xgafv=None) +
Checks if a user is eligible for free article access.
+
+Args:
+  name: string, Required. The resource name of the publication. Format: publications/{publication_id} (required)
+  httpReferrer: string, Required. The HTTP referrer.
+  uri: string, Required. The URI of the content.
+  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 CheckFreeAccess
+  "isAllowed": True or False, # True if free access should be allowed, false otherwise.
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/webrisk_v1.projects.submissions.html b/docs/dyn/webrisk_v1.projects.submissions.html index c769da68e7..406ad498c4 100644 --- a/docs/dyn/webrisk_v1.projects.submissions.html +++ b/docs/dyn/webrisk_v1.projects.submissions.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access.

+

Creates a Submission of a URI suspected of containing phishing content for review. If the review confirms malicious phishing content, Google adds the site to [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) to help protect users. Only allowlisted projects can use this method during Early Access. To obtain access, contact Sales or your customer engineer.

Method Details

close() @@ -88,7 +88,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access.
+  
Creates a Submission of a URI suspected of containing phishing content for review. If the review confirms malicious phishing content, Google adds the site to [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) to help protect users. Only allowlisted projects can use this method during Early Access. To obtain access, contact Sales or your customer engineer.
 
 Args:
   parent: string, Required. The name of the project that is making the submission. This string is in the format "projects/{project_number}". (required)
diff --git a/docs/dyn/workstations_v1beta.projects.locations.workstationClusters.workstationConfigs.workstations.html b/docs/dyn/workstations_v1beta.projects.locations.workstationClusters.workstationConfigs.workstations.html
index 875db1055e..3ff0de0ca4 100644
--- a/docs/dyn/workstations_v1beta.projects.locations.workstationClusters.workstationConfigs.workstations.html
+++ b/docs/dyn/workstations_v1beta.projects.locations.workstationClusters.workstationConfigs.workstations.html
@@ -174,10 +174,6 @@ 

Method Details

"name": "A String", # Identifier. Full name of this workstation. "persistentDirectories": [ # Optional. Directories to persist across workstation sessions. { # A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. - "gcePd": { # A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. # A PersistentDirectory backed by a Compute Engine persistent disk. - "name": "A String", # The name of the persistent directory. - "sizeGb": 42, # Required. The desired size of the persistent directory in GB. - }, "mountPath": "A String", # Optional. The mount path of the persistent directory. "sizeGb": 42, # Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. }, @@ -347,10 +343,6 @@

Method Details

"name": "A String", # Identifier. Full name of this workstation. "persistentDirectories": [ # Optional. Directories to persist across workstation sessions. { # A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. - "gcePd": { # A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. # A PersistentDirectory backed by a Compute Engine persistent disk. - "name": "A String", # The name of the persistent directory. - "sizeGb": 42, # Required. The desired size of the persistent directory in GB. - }, "mountPath": "A String", # Optional. The mount path of the persistent directory. "sizeGb": 42, # Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. }, @@ -481,10 +473,6 @@

Method Details

"name": "A String", # Identifier. Full name of this workstation. "persistentDirectories": [ # Optional. Directories to persist across workstation sessions. { # A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. - "gcePd": { # A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. # A PersistentDirectory backed by a Compute Engine persistent disk. - "name": "A String", # The name of the persistent directory. - "sizeGb": 42, # Required. The desired size of the persistent directory in GB. - }, "mountPath": "A String", # Optional. The mount path of the persistent directory. "sizeGb": 42, # Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. }, @@ -568,10 +556,6 @@

Method Details

"name": "A String", # Identifier. Full name of this workstation. "persistentDirectories": [ # Optional. Directories to persist across workstation sessions. { # A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. - "gcePd": { # A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. # A PersistentDirectory backed by a Compute Engine persistent disk. - "name": "A String", # The name of the persistent directory. - "sizeGb": 42, # Required. The desired size of the persistent directory in GB. - }, "mountPath": "A String", # Optional. The mount path of the persistent directory. "sizeGb": 42, # Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. }, @@ -670,10 +654,6 @@

Method Details

"name": "A String", # Identifier. Full name of this workstation. "persistentDirectories": [ # Optional. Directories to persist across workstation sessions. { # A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. - "gcePd": { # A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. # A PersistentDirectory backed by a Compute Engine persistent disk. - "name": "A String", # The name of the persistent directory. - "sizeGb": 42, # Required. The desired size of the persistent directory in GB. - }, "mountPath": "A String", # Optional. The mount path of the persistent directory. "sizeGb": 42, # Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. }, diff --git a/docs/dyn/youtube_v3.search.html b/docs/dyn/youtube_v3.search.html index f573269e61..2ffa0995d3 100644 --- a/docs/dyn/youtube_v3.search.html +++ b/docs/dyn/youtube_v3.search.html @@ -95,7 +95,7 @@

Method Details

Args: part: string, The *part* parameter specifies a comma-separated list of one or more search resource properties that the API response will include. Set the parameter value to snippet. (required) (repeated) - channelId: string, Filter on resources belonging to this channelId. + channelId: string, Filter on resources belonging to this channelId. (Force TAP rebuild) channelType: string, Add a filter on the channel search. Allowed values channelTypeUnspecified - @@ -255,7 +255,7 @@

Method Details

"regionCode": "A String", "tokenPagination": { # Stub token pagination template to suppress results. }, - "visitorId": "A String", # The visitorId identifies the visitor. + "visitorId": "A String", # The visitor ID identifies the visitor. }
diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html index ae7c8545de..5512192114 100644 --- a/docs/dyn/youtube_v3.videos.html +++ b/docs/dyn/youtube_v3.videos.html @@ -74,6 +74,9 @@

YouTube Data API v3 . videos

Instance Methods

+

+ batchGetStats(id=None, onBehalfOfContentOwner=None, part=None, x__xgafv=None)

+

Retrieves a batch of VideoStat resources, possibly filtered. BatchGetStats is intentionally not atomic to provide a better user experience.

close()

Close httplib2 connections.

@@ -102,6 +105,46 @@

Instance Methods

update(part, body=None, onBehalfOfContentOwner=None, x__xgafv=None)

Updates an existing resource.

Method Details

+
+ batchGetStats(id=None, onBehalfOfContentOwner=None, part=None, x__xgafv=None) +
Retrieves a batch of VideoStat resources, possibly filtered. BatchGetStats is intentionally not atomic to provide a better user experience.
+
+Args:
+  id: string, Required. Return videos with the given ids. The number of IDs specified cannot exceed 50. (repeated)
+  onBehalfOfContentOwner: string, Optional. **Note:** This parameter is intended exclusively for YouTube content partners. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.
+  part: string, Required. The `**part**` parameter specifies a comma-separated list of one or more `videoStat` resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a `videoStat` resource, the `statistics` property contains `view_count` and `like_count`. As such, if you set `**part=snippet**`, the API response will contain all of those properties. (repeated)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for the Videos.stats API. Returns VideoStat information about a batch of videos. VideoStat contains a subset of the information in Video that is relevant to statistics and content details. BatchGetStats is intentionally not atomic to provide a better user experience. BatchGetStatsResponse returns a summary to help users understand the outcome of the operation.
+  "etag": "A String", # Etag of this resource.
+  "items": [ # The videos' stats information.
+    { # A *VideoStat* resource represents a YouTube video's stats.
+      "contentDetails": { # Details about the content of a YouTube Video. This is a subset of the information in VideoContentDetails specifically for the Videos.stats API. # Output only. The VideoStatsContentDetails object contains information about the video content, including the length of the video.
+        "duration": "A String", # Output only. The length of the video. The property value is a [`google.protobuf.Duration`](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) object.
+      },
+      "etag": "A String", # Output only. Etag of this resource.
+      "id": "A String", # Output only. The ID that YouTube uses to uniquely identify the video.
+      "kind": "A String", # Output only. Identifies what kind of resource this is. Value: the fixed string "youtube#videoStats".
+      "snippet": { # Basic details about a video. This is a subset of the information in VideoSnippet specifically for the Videos.stats API. # Output only. The VideoStatsSnippet object contains basic details about the video, such publish time.
+        "publishTime": "A String", # Output only. The date and time that the video was uploaded. The property value is a [`google.protobuf.Timestamp`](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp) object.
+      },
+      "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # Output only. The VideoStatsStatistics object contains statistics about the video.
+        "commentCount": "A String", # Output only. The number of comments for the video.
+        "likeCount": "A String", # Output only. The number of users who have indicated that they liked the video by giving it a positive rating.
+        "viewCount": "A String", # Output only. The number of times the video has been viewed.
+      },
+    },
+  ],
+  "kind": "youtube#batchGetStatsResponse", # Identifies what kind of resource this is. Value: the fixed string "youtube#batchGetStatsResponse".
+}
+
+
close()
Close httplib2 connections.
diff --git a/docs/dyn/youtube_v3.youtube.v3.html b/docs/dyn/youtube_v3.youtube.v3.html index 6ea36da1c7..f5513e109e 100644 --- a/docs/dyn/youtube_v3.youtube.v3.html +++ b/docs/dyn/youtube_v3.youtube.v3.html @@ -82,167 +82,10 @@

Instance Methods

close()

Close httplib2 connections.

-

- updateCommentThreads(body=None, part=None, x__xgafv=None)

-

Updates an existing resource.

Method Details

close()
Close httplib2 connections.
-
- updateCommentThreads(body=None, part=None, x__xgafv=None) -
Updates an existing resource.
-
-Args:
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A *comment thread* represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
-  "etag": "A String", # Etag of this resource.
-  "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
-  "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
-  "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
-    "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
-      { # A *comment* represents a single YouTube comment.
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
-        "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
-        "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
-          "authorChannelId": { # Contains the id of the author's YouTube channel, if any.
-            "value": "A String", # The id of the author's YouTube channel.
-          },
-          "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
-          "authorDisplayName": "A String", # The name of the user who posted the comment.
-          "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
-          "canRate": True or False, # Whether the current viewer can rate this comment.
-          "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video or post comment it's the video/post's channel.
-          "likeCount": 42, # The total number of likes this comment has received.
-          "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
-          "parentId": "A String", # The unique id of the top-level comment, only set for replies.
-          "postId": "A String", # The ID of the post the comment refers to, if any.
-          "publishedAt": "A String", # The date and time when the comment was originally published.
-          "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
-          "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
-          "updatedAt": "A String", # The date and time when the comment was last updated.
-          "videoId": "A String", # The ID of the video the comment refers to, if any.
-          "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
-        },
-      },
-    ],
-  },
-  "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
-    "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
-    "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If neither video_id nor post_id is set the comments refer to the channel itself.
-    "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
-    "postId": "A String", # The ID of the post the comments refer to, if any.
-    "topLevelComment": { # A *comment* represents a single YouTube comment. # The top level comment of this thread.
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
-      "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
-      "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
-        "authorChannelId": { # Contains the id of the author's YouTube channel, if any.
-          "value": "A String", # The id of the author's YouTube channel.
-        },
-        "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
-        "authorDisplayName": "A String", # The name of the user who posted the comment.
-        "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
-        "canRate": True or False, # Whether the current viewer can rate this comment.
-        "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video or post comment it's the video/post's channel.
-        "likeCount": 42, # The total number of likes this comment has received.
-        "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
-        "parentId": "A String", # The unique id of the top-level comment, only set for replies.
-        "postId": "A String", # The ID of the post the comment refers to, if any.
-        "publishedAt": "A String", # The date and time when the comment was originally published.
-        "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
-        "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
-        "updatedAt": "A String", # The date and time when the comment was last updated.
-        "videoId": "A String", # The ID of the video the comment refers to, if any.
-        "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
-      },
-    },
-    "totalReplyCount": 42, # The total number of replies (not including the top level comment).
-    "videoId": "A String", # The ID of the video the comments refer to, if any.
-  },
-}
-
-  part: string, The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. (repeated)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A *comment thread* represents information that applies to a top level comment and all its replies. It can also include the top level comment itself and some of the replies.
-  "etag": "A String", # Etag of this resource.
-  "id": "A String", # The ID that YouTube uses to uniquely identify the comment thread.
-  "kind": "youtube#commentThread", # Identifies what kind of resource this is. Value: the fixed string "youtube#commentThread".
-  "replies": { # Comments written in (direct or indirect) reply to the top level comment. # The replies object contains a limited number of replies (if any) to the top level comment found in the snippet.
-    "comments": [ # A limited number of replies. Unless the number of replies returned equals total_reply_count in the snippet the returned replies are only a subset of the total number of replies.
-      { # A *comment* represents a single YouTube comment.
-        "etag": "A String", # Etag of this resource.
-        "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
-        "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
-        "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
-          "authorChannelId": { # Contains the id of the author's YouTube channel, if any.
-            "value": "A String", # The id of the author's YouTube channel.
-          },
-          "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
-          "authorDisplayName": "A String", # The name of the user who posted the comment.
-          "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
-          "canRate": True or False, # Whether the current viewer can rate this comment.
-          "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video or post comment it's the video/post's channel.
-          "likeCount": 42, # The total number of likes this comment has received.
-          "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
-          "parentId": "A String", # The unique id of the top-level comment, only set for replies.
-          "postId": "A String", # The ID of the post the comment refers to, if any.
-          "publishedAt": "A String", # The date and time when the comment was originally published.
-          "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
-          "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
-          "updatedAt": "A String", # The date and time when the comment was last updated.
-          "videoId": "A String", # The ID of the video the comment refers to, if any.
-          "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
-        },
-      },
-    ],
-  },
-  "snippet": { # Basic details about a comment thread. # The snippet object contains basic details about the comment thread and also the top level comment.
-    "canReply": True or False, # Whether the current viewer of the thread can reply to it. This is viewer specific - other viewers may see a different value for this field.
-    "channelId": "A String", # The YouTube channel the comments in the thread refer to or the channel with the video the comments refer to. If neither video_id nor post_id is set the comments refer to the channel itself.
-    "isPublic": True or False, # Whether the thread (and therefore all its comments) is visible to all YouTube users.
-    "postId": "A String", # The ID of the post the comments refer to, if any.
-    "topLevelComment": { # A *comment* represents a single YouTube comment. # The top level comment of this thread.
-      "etag": "A String", # Etag of this resource.
-      "id": "A String", # The ID that YouTube uses to uniquely identify the comment.
-      "kind": "youtube#comment", # Identifies what kind of resource this is. Value: the fixed string "youtube#comment".
-      "snippet": { # Basic details about a comment, such as its author and text. # The snippet object contains basic details about the comment.
-        "authorChannelId": { # Contains the id of the author's YouTube channel, if any.
-          "value": "A String", # The id of the author's YouTube channel.
-        },
-        "authorChannelUrl": "A String", # Link to the author's YouTube channel, if any.
-        "authorDisplayName": "A String", # The name of the user who posted the comment.
-        "authorProfileImageUrl": "A String", # The URL for the avatar of the user who posted the comment.
-        "canRate": True or False, # Whether the current viewer can rate this comment.
-        "channelId": "A String", # The id of the corresponding YouTube channel. In case of a channel comment this is the channel the comment refers to. In case of a video or post comment it's the video/post's channel.
-        "likeCount": 42, # The total number of likes this comment has received.
-        "moderationStatus": "A String", # The comment's moderation status. Will not be set if the comments were requested through the id filter.
-        "parentId": "A String", # The unique id of the top-level comment, only set for replies.
-        "postId": "A String", # The ID of the post the comment refers to, if any.
-        "publishedAt": "A String", # The date and time when the comment was originally published.
-        "textDisplay": "A String", # The comment's text. The format is either plain text or HTML dependent on what has been requested. Even the plain text representation may differ from the text originally posted in that it may replace video links with video titles etc.
-        "textOriginal": "A String", # The comment's original raw text as initially posted or last updated. The original text will only be returned if it is accessible to the viewer, which is only guaranteed if the viewer is the comment's author.
-        "updatedAt": "A String", # The date and time when the comment was last updated.
-        "videoId": "A String", # The ID of the video the comment refers to, if any.
-        "viewerRating": "A String", # The rating the viewer has given to this comment. For the time being this will never return RATE_TYPE_DISLIKE and instead return RATE_TYPE_NONE. This may change in the future.
-      },
-    },
-    "totalReplyCount": 42, # The total number of replies (not including the top level comment).
-    "videoId": "A String", # The ID of the video the comments refer to, if any.
-  },
-}
-
- \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json index e54e7c467b..c76a3ddc38 100644 --- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json @@ -3115,7 +3115,7 @@ } } }, -"revision": "20260319", +"revision": "20260602", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { @@ -3514,7 +3514,15 @@ "CompleteSetupRequest": { "description": "Request message for indicating that the proposal's setup step is complete.", "id": "CompleteSetupRequest", -"properties": {}, +"properties": { +"externalDealIds": { +"description": "The external deal ids of the deals to mark as setup completed. If empty, all the deals in the proposal will be marked as setup completed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, "type": "object" }, "ContactInformation": { diff --git a/googleapiclient/discovery_cache/documents/admin.directory_v1.json b/googleapiclient/discovery_cache/documents/admin.directory_v1.json index e539d8db66..9af2e37c47 100644 --- a/googleapiclient/discovery_cache/documents/admin.directory_v1.json +++ b/googleapiclient/discovery_cache/documents/admin.directory_v1.json @@ -3890,7 +3890,7 @@ "users": { "methods": { "createGuest": { -"description": "Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Alpha. Please reach out to support if you are interested in trying this feature.", +"description": "Create a guest user with access to a [subset of Workspace capabilities](https://support.google.com/a/answer/16558545). This feature is currently in Open Beta.", "flatPath": "admin/directory/v1/users:createGuest", "httpMethod": "POST", "id": "directory.users.createGuest", @@ -4729,7 +4729,7 @@ } } }, -"revision": "20260421", +"revision": "20260531", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -6429,11 +6429,11 @@ false "id": "DirectoryUsersCreateGuestRequest", "properties": { "customer": { -"description": "Optional. Immutable ID of the Google Workspace account.", +"description": "Optional. Immutable ID of the Google Workspace account. Only required when request is created by a service account. Defaults to the authenticated user's customer ID otherwise.", "type": "string" }, "primaryGuestEmail": { -"description": "Immutable. External email of the guest user being created.", +"description": "Required. External email of the guest user being created.", "type": "string" } }, @@ -8008,6 +8008,11 @@ false "readOnly": true, "type": "array" }, +"archivalTime": { +"description": "Output only. User's account archival time. (Read-only)", +"readOnly": true, +"type": "string" +}, "archived": { "description": "Indicates if user is archived.", "type": "boolean" @@ -8213,6 +8218,11 @@ false "readOnly": true, "type": "string" }, +"suspensionTime": { +"description": "Output only. User's account suspension time. (Read-only)", +"readOnly": true, +"type": "string" +}, "thumbnailPhotoEtag": { "description": "Output only. ETag of the user's photo (Read-only)", "readOnly": true, diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1.json index c40590a8b8..001804d224 100644 --- a/googleapiclient/discovery_cache/documents/aiplatform.v1.json +++ b/googleapiclient/discovery_cache/documents/aiplatform.v1.json @@ -22751,7 +22751,7 @@ "type": "string" }, "updateMask": { -"description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -32357,23 +32357,29 @@ } } }, -"revision": "20260509", +"revision": "20260605", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoExperiments": { "description": "Experimental parameters for video generation.", "id": "CloudAiLargeModelsVisionGenerateVideoExperiments", "properties": { +"anchorLastFrame": { +"description": "Optional. If true, anchors the last frame in video generation by generating a custom border mask.", +"type": "boolean" +}, "codec": { "description": "Optional. Video codec to use for output.", "enum": [ "VIDEO_CODEC_UNSPECIFIED", "VIDEO_CODEC_H264", -"VIDEO_CODEC_PRORES" +"VIDEO_CODEC_PRORES", +"VIDEO_CODEC_DNXHR" ], "enumDescriptions": [ "", "", +"", "" ], "type": "string" @@ -32385,6 +32391,14 @@ }, "type": "array" }, +"customParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Generic key-value pairs for experimental parameters. This allows adding new parameters without changing the dataplane binary.", +"type": "object" +}, "humanPose": { "$ref": "CloudAiLargeModelsVisionHumanPose", "description": "Human pose parameters for Pose Control" @@ -32398,6 +32412,10 @@ "format": "int32", "type": "integer" }, +"originalRequestJson": { +"description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", +"type": "string" +}, "promptInputs": { "$ref": "CloudAiLargeModelsVisionPromptInputs", "description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." @@ -32406,6 +32424,14 @@ "description": "Optional tag for tracking the source of this request. Allowed values: \"colab\", \"comfyui\", \"curl\", \"flowresearch\", \"vertexstudio\". Unrecognized tags are recorded as \"unknown\" in metrics. Tags do not affect video generation behavior. Up to 16 characters, ASCII alphanumeric, hyphens, and underscores only.", "type": "string" }, +"schedulingConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"description": "Optional. Scheduling configuration." +}, +"seamless": { +"$ref": "CloudAiLargeModelsVisionSeamless", +"description": "Parameters for seamless (edge-continuous) video generation, enabling temporal looping and/or spatial tessellation." +}, "truncateInputVideo": { "description": "If true (default), truncate input videos that exceed the model's maximum frame count by applying a frame_selection_config to __video_file__ inputs. Set to false to preserve the existing fail-fast behavior.", "type": "boolean" @@ -32437,6 +32463,17 @@ }, "type": "object" }, +"CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig": { +"description": "Scheduling configuration for Veo Experimental.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"properties": { +"enableRetry": { +"description": "Optional. If true, enable retries on transient errors with default backoff.", +"type": "boolean" +} +}, +"type": "object" +}, "CloudAiLargeModelsVisionGenerateVideoRequestImage": { "description": "The image bytes or Cloud Storage URI to make the prediction on.", "id": "CloudAiLargeModelsVisionGenerateVideoRequestImage", @@ -32810,6 +32847,24 @@ }, "type": "object" }, +"CloudAiLargeModelsVisionSeamless": { +"id": "CloudAiLargeModelsVisionSeamless", +"properties": { +"loop": { +"description": "If true, the generated video will be loopable (seamless time looping).", +"type": "boolean" +}, +"tessellateHorizontal": { +"description": "If true, the generated video will be tessellatable as a horizontal tessellation.", +"type": "boolean" +}, +"tessellateVertical": { +"description": "If true, the generated video will be tessellatable as a vertical tessellation.", +"type": "boolean" +} +}, +"type": "object" +}, "CloudAiLargeModelsVisionSemanticFilterResponse": { "id": "CloudAiLargeModelsVisionSemanticFilterResponse", "properties": { @@ -33670,11 +33725,11 @@ "type": "object" }, "GoogleCloudAiplatformV1AutomaticResources": { -"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", +"description": "A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "id": "GoogleCloudAiplatformV1AutomaticResources", "properties": { "maxReplicaCount": { -"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", +"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number.", "format": "int32", "type": "integer" }, @@ -33860,7 +33915,7 @@ "type": "integer" }, "startingReplicaCount": { -"description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", +"description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count", "format": "int32", "type": "integer" } @@ -36063,6 +36118,18 @@ }, "type": "object" }, +"GoogleCloudAiplatformV1CreateServingProfileOperationMetadata": { +"description": "Runtime operation metadata for ServingProfileService.CreateServingProfile.", +"id": "GoogleCloudAiplatformV1CreateServingProfileOperationMetadata", +"properties": { +"genericMetadata": { +"$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", +"description": "Output only. The standard operation metadata for Vertex AI.", +"readOnly": true +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata": { "description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", "id": "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata", @@ -36837,7 +36904,7 @@ "description": "Required. Immutable. The specification of a single machine being used." }, "maxReplicaCount": { -"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", +"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", "format": "int32", "type": "integer" }, @@ -38282,7 +38349,7 @@ "properties": { "autoraterConfig": { "$ref": "GoogleCloudAiplatformV1AutoraterConfig", -"description": "Optional. Autorater config used for evaluation." +"description": "Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored." }, "bleuInput": { "$ref": "GoogleCloudAiplatformV1BleuInput", @@ -46612,7 +46679,7 @@ "id": "GoogleCloudAiplatformV1MachineSpec", "properties": { "acceleratorCount": { -"description": "The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.", +"description": "The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.", "format": "int32", "type": "integer" }, @@ -46688,7 +46755,7 @@ false "type": "string" }, "machineType": { -"description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", +"description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", "type": "string" }, "reservationAffinity": { @@ -49733,7 +49800,8 @@ false "INVALID_SPARSE_EMBEDDING", "INVALID_EMBEDDING", "INVALID_EMBEDDING_METADATA", -"EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT" +"EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT", +"DUPLICATE_ID" ], "enumDescriptions": [ "Default, shall not be used.", @@ -49755,7 +49823,8 @@ false "Invalid sparse embedding.", "Invalid dense embedding.", "Invalid embedding metadata.", -"Embedding metadata exceeds size limit." +"Embedding metadata exceeds size limit.", +"Multiple input records share the same datapoint id. The input conversion pipeline performs non-deterministic last-write-wins de-duplication and emits one error per duplicated id." ], "type": "string" }, @@ -50959,7 +51028,7 @@ false "type": "object" }, "GoogleCloudAiplatformV1PersistentDiskSpec": { -"description": "Represents the spec of persistent disk options.", +"description": "Represents the spec of persistent disk and hyperdisk options.", "id": "GoogleCloudAiplatformV1PersistentDiskSpec", "properties": { "diskSizeGb": { @@ -50968,7 +51037,7 @@ false "type": "string" }, "diskType": { -"description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk)", +"description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk) \"hyperdisk-balanced\" (Hyperdisk Balanced) \"hyperdisk-extreme\" (Hyperdisk Extreme) \"hyperdisk-balanced-high-availability\" (Hyperdisk Balanced High Availability) \"hyperdisk-ml\" (Hyperdisk ML) \"hyperdisk-throughput\" (Hyperdisk Throughput)", "type": "string" } }, @@ -55998,6 +56067,10 @@ false "The default container image for Computer Use." ], "type": "string" +}, +"resources": { +"$ref": "GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements", +"description": "Optional. Resource requests and limits for the default container." } }, "type": "object" @@ -63186,6 +63259,10 @@ false "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, +"exaAiSearch": { +"$ref": "GoogleCloudAiplatformV1ToolExaAiSearch", +"description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation" +}, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { @@ -63350,6 +63427,25 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1ToolExaAiSearch": { +"description": "ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding.", +"id": "GoogleCloudAiplatformV1ToolExaAiSearch", +"properties": { +"apiKey": { +"description": "Required. The API key for ExaAiSearch.", +"type": "string" +}, +"customConfigs": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API.", +"type": "object" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1ToolGoogleSearch", diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json index 25c7cbd2d2..14e4b967c1 100644 --- a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json @@ -5747,31 +5747,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"delete": { -"description": "Deletes an interaction.", -"flatPath": "v1beta1/interactions/{interactionsId}", -"httpMethod": "DELETE", -"id": "aiplatform.interactions.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the interaction to delete. Format: interactions/{interaction}", -"location": "path", -"pattern": "^interactions/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleApiHttpBody" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "getPoll": { "description": "Fully typed proto, unary version of GetInteraction that returns Interaction proto.", "flatPath": "v1beta1/interactions/{interactionsId}:poll", @@ -8951,6 +8926,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"getSemanticGovernancePolicyEngine": { +"description": "Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.getSemanticGovernancePolicyEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SemanticGovernancePolicyEngine to retrieve. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "list": { "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", @@ -9081,13 +9081,47 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"updateSemanticGovernancePolicyEngine": { +"description": "Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.updateSemanticGovernancePolicyEngine", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Specifies the fields to be overwritten in the SemanticGovernancePolicyEngine resource by the update. The fields specified in the update_mask are relative to the resource itself. If no update_mask is provided, all fields are overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, "resources": { "agents": { "methods": { "create": { -"description": "Creates a new Agent in a given location.", +"description": "Creates an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents", "httpMethod": "POST", "id": "aiplatform.projects.locations.agents.create", @@ -9115,7 +9149,7 @@ ] }, "delete": { -"description": "Deletes the specific Agent.", +"description": "Deletes an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "DELETE", "id": "aiplatform.projects.locations.agents.delete", @@ -9124,7 +9158,7 @@ ], "parameters": { "name": { -"description": "Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`", +"description": "Required. The resource name of the agent to delete. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, @@ -9140,7 +9174,7 @@ ] }, "get": { -"description": "Gets details of the specific Agent.", +"description": "Retrieves an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "GET", "id": "aiplatform.projects.locations.agents.get", @@ -9149,7 +9183,7 @@ ], "parameters": { "name": { -"description": "Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", +"description": "Required. The resource name of the agent to retrieve. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, @@ -9165,7 +9199,7 @@ ] }, "list": { -"description": "Lists Agents in a given location.", +"description": "Lists agents in a location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents", "httpMethod": "GET", "id": "aiplatform.projects.locations.agents.list", @@ -9174,23 +9208,23 @@ ], "parameters": { "orderBy": { -"description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `create_time` * `update_time` Example: `create_time desc`.", +"description": "Optional. A comma-separated list of fields to order by. Supported fields: * `create_time` * `update_time` Use `desc` after a field name for descending order. Example: `create_time desc`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of agents to return. The service may return fewer than this value. If unspecified, at most 100 agents will be returned.", +"description": "Optional. The maximum number of agents to return. The service may return fewer than this value. The maximum page size is 100; values above 100 will be coerced to 100. If unspecified, the default page size is 10.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.", +"description": "Optional. A page token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}", +"description": "Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -9206,7 +9240,7 @@ ] }, "patch": { -"description": "Updates the specific Agent.", +"description": "Updates an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "PATCH", "id": "aiplatform.projects.locations.agents.patch", @@ -9215,14 +9249,14 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", +"description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", +"description": "Optional. The list of fields to update. If not present, all fields are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -21049,6 +21083,31 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"delete": { +"description": "Deletes an interaction.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interactions/{interactionsId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.interactions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the interaction to delete. Format: interactions/{interaction}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/interactions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GenaiVertexV1beta1DeleteInteractionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -26463,7 +26522,7 @@ "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 50 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.", +"description": "Optional. The maximum number of OnlineEvaluators to return. The service may return fewer than this value. If unspecified, at most 100 OnlineEvaluators will be returned. The maximum value is 100; values above 100 will be coerced to 100. Based on aip.dev/158.", "format": "int32", "location": "query", "type": "integer" @@ -31168,7 +31227,7 @@ "type": "string" }, "updateMask": { -"description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -34511,6 +34570,166 @@ } }, "semanticGovernancePolicies": { +"methods": { +"create": { +"description": "Creates a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"semanticGovernancePolicyId": { +"description": "Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+parent}/semanticGovernancePolicies", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"httpMethod": "DELETE", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SemanticGovernancePolicies in a given location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", +"httpMethod": "GET", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The list page size. If zero, a default page size of 10 is used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The standard list page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/semanticGovernancePolicies", +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates a SemanticGovernancePolicy.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", +"httpMethod": "PATCH", +"id": "aiplatform.projects.locations.semanticGovernancePolicies.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Resource name of the SemanticGovernancePolicy.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, "resources": { "operations": { "methods": { @@ -34671,14 +34890,46 @@ } }, "semanticGovernancePolicyEngine": { +"methods": { +"deprovision": { +"description": "Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine:deprovision", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.deprovision", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:deprovision", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"servingProfiles": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine/operations/{operationsId}:cancel", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.cancel", +"id": "aiplatform.projects.locations.servingProfiles.operations.cancel", "parameterOrder": [ "name" ], @@ -34686,7 +34937,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -34701,9 +34952,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.delete", +"id": "aiplatform.projects.locations.servingProfiles.operations.delete", "parameterOrder": [ "name" ], @@ -34711,7 +34962,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -34726,9 +34977,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine/operations/{operationsId}", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.get", +"id": "aiplatform.projects.locations.servingProfiles.operations.get", "parameterOrder": [ "name" ], @@ -34736,7 +34987,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -34751,9 +35002,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine/operations", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.list", +"id": "aiplatform.projects.locations.servingProfiles.operations.list", "parameterOrder": [ "name" ], @@ -34766,167 +35017,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"returnPartialSuccess": { -"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", -"location": "query", -"type": "boolean" -} -}, -"path": "v1beta1/{+name}/operations", -"response": { -"$ref": "GoogleLongrunningListOperationsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.wait", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/operations/[^/]+$", -"required": true, -"type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -}, -"servingProfiles": { -"resources": { -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.projects.locations.servingProfiles.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.projects.locations.servingProfiles.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/servingProfiles/{servingProfilesId}/operations", -"httpMethod": "GET", -"id": "aiplatform.projects.locations.servingProfiles.operations.list", -"parameterOrder": [ -"name" -], -"parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/servingProfiles/[^/]+$", "required": true, "type": "string" }, @@ -35009,7 +35100,7 @@ "type": "string" }, "skillId": { -"description": "Optional. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", +"description": "Required. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", "location": "query", "type": "string" } @@ -38668,6 +38759,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"processData": { +"description": "Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:processData", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.processData", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to process the data in. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tuningJobs:processData", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequest" +}, +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "rebaseTunedModel": { "description": "Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", @@ -38695,6 +38814,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"validateReinforcementTuningReward": { +"description": "Validates a reward on a given example.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:validateReinforcementTuningReward", +"httpMethod": "POST", +"id": "aiplatform.projects.locations.tuningJobs.validateReinforcementTuningReward", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The resource name of the Location to validate the reward in Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/tuningJobs:validateReinforcementTuningReward", +"request": { +"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardRequest" +}, +"response": { +"$ref": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } }, "resources": { @@ -41300,7 +41447,7 @@ "type": "string" }, "updateMask": { -"description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", +"description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -44495,15 +44642,15 @@ } } }, -"semanticGovernancePolicyEngine": { +"servingProfiles": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/semanticGovernancePolicyEngine/operations/{operationsId}:cancel", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.semanticGovernancePolicyEngine.operations.cancel", +"id": "aiplatform.servingProfiles.operations.cancel", "parameterOrder": [ "name" ], @@ -44511,7 +44658,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44526,9 +44673,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/semanticGovernancePolicyEngine/operations/{operationsId}", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.semanticGovernancePolicyEngine.operations.delete", +"id": "aiplatform.servingProfiles.operations.delete", "parameterOrder": [ "name" ], @@ -44536,7 +44683,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44551,9 +44698,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/semanticGovernancePolicyEngine/operations/{operationsId}", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.semanticGovernancePolicyEngine.operations.get", +"id": "aiplatform.servingProfiles.operations.get", "parameterOrder": [ "name" ], @@ -44561,7 +44708,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44576,9 +44723,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/semanticGovernancePolicyEngine/operations", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations", "httpMethod": "GET", -"id": "aiplatform.semanticGovernancePolicyEngine.operations.list", +"id": "aiplatform.servingProfiles.operations.list", "parameterOrder": [ "name" ], @@ -44591,7 +44738,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^semanticGovernancePolicyEngine$", +"pattern": "^servingProfiles/[^/]+$", "required": true, "type": "string" }, @@ -44622,9 +44769,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/semanticGovernancePolicyEngine/operations/{operationsId}:wait", +"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.semanticGovernancePolicyEngine.operations.wait", +"id": "aiplatform.servingProfiles.operations.wait", "parameterOrder": [ "name" ], @@ -44632,7 +44779,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^semanticGovernancePolicyEngine/operations/[^/]+$", +"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -44655,15 +44802,15 @@ } } }, -"servingProfiles": { +"skills": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.servingProfiles.operations.cancel", +"id": "aiplatform.skills.operations.cancel", "parameterOrder": [ "name" ], @@ -44671,7 +44818,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44686,9 +44833,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.servingProfiles.operations.delete", +"id": "aiplatform.skills.operations.delete", "parameterOrder": [ "name" ], @@ -44696,7 +44843,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44711,9 +44858,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.servingProfiles.operations.get", +"id": "aiplatform.skills.operations.get", "parameterOrder": [ "name" ], @@ -44721,7 +44868,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44736,9 +44883,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations", +"flatPath": "v1beta1/skills/{skillsId}/operations", "httpMethod": "GET", -"id": "aiplatform.servingProfiles.operations.list", +"id": "aiplatform.skills.operations.list", "parameterOrder": [ "name" ], @@ -44751,7 +44898,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^servingProfiles/[^/]+$", +"pattern": "^skills/[^/]+$", "required": true, "type": "string" }, @@ -44782,9 +44929,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/servingProfiles/{servingProfilesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.servingProfiles.operations.wait", +"id": "aiplatform.skills.operations.wait", "parameterOrder": [ "name" ], @@ -44792,7 +44939,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^servingProfiles/[^/]+/operations/[^/]+$", +"pattern": "^skills/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -44815,40 +44962,15 @@ } } }, -"skills": { +"solvers": { "resources": { "operations": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.skills.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", +"flatPath": "v1beta1/solvers/{solversId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.skills.operations.delete", +"id": "aiplatform.solvers.operations.delete", "parameterOrder": [ "name" ], @@ -44856,7 +44978,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^solvers/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44871,9 +44993,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}", +"flatPath": "v1beta1/solvers/{solversId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.skills.operations.get", +"id": "aiplatform.solvers.operations.get", "parameterOrder": [ "name" ], @@ -44881,7 +45003,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^solvers/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -44896,9 +45018,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/skills/{skillsId}/operations", +"flatPath": "v1beta1/solvers/{solversId}/operations", "httpMethod": "GET", -"id": "aiplatform.skills.operations.list", +"id": "aiplatform.solvers.operations.list", "parameterOrder": [ "name" ], @@ -44911,7 +45033,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^skills/[^/]+$", +"pattern": "^solvers/[^/]+$", "required": true, "type": "string" }, @@ -44939,51 +45061,45 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +} +} +} +} }, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/skills/{skillsId}/operations/{operationsId}:wait", +"specialistPools": { +"resources": { +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.skills.operations.wait", +"id": "aiplatform.specialistPools.operations.cancel", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to wait on.", +"description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^skills/[^/]+/operations/[^/]+$", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" } }, -"path": "v1beta1/{+name}:wait", +"path": "v1beta1/{+name}:cancel", "response": { -"$ref": "GoogleLongrunningOperation" +"$ref": "GoogleProtobufEmpty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] -} -} -} -} }, -"solvers": { -"resources": { -"operations": { -"methods": { "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.solvers.operations.delete", +"id": "aiplatform.specialistPools.operations.delete", "parameterOrder": [ "name" ], @@ -44991,7 +45107,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^solvers/[^/]+/operations/[^/]+$", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45006,9 +45122,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/solvers/{solversId}/operations/{operationsId}", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.solvers.operations.get", +"id": "aiplatform.specialistPools.operations.get", "parameterOrder": [ "name" ], @@ -45016,7 +45132,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^solvers/[^/]+/operations/[^/]+$", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45031,9 +45147,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/solvers/{solversId}/operations", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations", "httpMethod": "GET", -"id": "aiplatform.solvers.operations.list", +"id": "aiplatform.specialistPools.operations.list", "parameterOrder": [ "name" ], @@ -45046,7 +45162,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^solvers/[^/]+$", +"pattern": "^specialistPools/[^/]+$", "required": true, "type": "string" }, @@ -45074,20 +45190,51 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"wait": { +"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", +"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"httpMethod": "POST", +"id": "aiplatform.specialistPools.operations.wait", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to wait on.", +"location": "path", +"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +}, +"timeout": { +"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", +"format": "google-duration", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}:wait", +"response": { +"$ref": "GoogleLongrunningOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } } } }, -"specialistPools": { +"studies": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.specialistPools.operations.cancel", +"id": "aiplatform.studies.operations.cancel", "parameterOrder": [ "name" ], @@ -45095,7 +45242,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45110,9 +45257,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.specialistPools.operations.delete", +"id": "aiplatform.studies.operations.delete", "parameterOrder": [ "name" ], @@ -45120,7 +45267,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45135,9 +45282,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.specialistPools.operations.get", +"id": "aiplatform.studies.operations.get", "parameterOrder": [ "name" ], @@ -45145,7 +45292,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45160,9 +45307,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations", +"flatPath": "v1beta1/studies/{studiesId}/operations", "httpMethod": "GET", -"id": "aiplatform.specialistPools.operations.list", +"id": "aiplatform.studies.operations.list", "parameterOrder": [ "name" ], @@ -45175,7 +45322,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^specialistPools/[^/]+$", +"pattern": "^studies/[^/]+$", "required": true, "type": "string" }, @@ -45206,9 +45353,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/specialistPools/{specialistPoolsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.specialistPools.operations.wait", +"id": "aiplatform.studies.operations.wait", "parameterOrder": [ "name" ], @@ -45216,7 +45363,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^specialistPools/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45236,18 +45383,16 @@ ] } } -} -} }, -"studies": { +"trials": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.studies.operations.cancel", +"id": "aiplatform.studies.trials.operations.cancel", "parameterOrder": [ "name" ], @@ -45255,7 +45400,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45270,9 +45415,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.studies.operations.delete", +"id": "aiplatform.studies.trials.operations.delete", "parameterOrder": [ "name" ], @@ -45280,7 +45425,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45295,9 +45440,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.studies.operations.get", +"id": "aiplatform.studies.trials.operations.get", "parameterOrder": [ "name" ], @@ -45305,7 +45450,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45320,9 +45465,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/studies/{studiesId}/operations", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations", "httpMethod": "GET", -"id": "aiplatform.studies.operations.list", +"id": "aiplatform.studies.trials.operations.list", "parameterOrder": [ "name" ], @@ -45335,7 +45480,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^studies/[^/]+$", +"pattern": "^studies/[^/]+/trials/[^/]+$", "required": true, "type": "string" }, @@ -45366,9 +45511,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/studies/{studiesId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.studies.operations.wait", +"id": "aiplatform.studies.trials.operations.wait", "parameterOrder": [ "name" ], @@ -45376,7 +45521,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^studies/[^/]+/operations/[^/]+$", +"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45396,16 +45541,22 @@ ] } } +} +} +} +} }, -"trials": { +"tensorboards": { +"resources": { +"experiments": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.studies.trials.operations.cancel", +"id": "aiplatform.tensorboards.experiments.operations.cancel", "parameterOrder": [ "name" ], @@ -45413,7 +45564,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45428,9 +45579,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.studies.trials.operations.delete", +"id": "aiplatform.tensorboards.experiments.operations.delete", "parameterOrder": [ "name" ], @@ -45438,7 +45589,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45453,9 +45604,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.studies.trials.operations.get", +"id": "aiplatform.tensorboards.experiments.operations.get", "parameterOrder": [ "name" ], @@ -45463,7 +45614,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45478,9 +45629,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", "httpMethod": "GET", -"id": "aiplatform.studies.trials.operations.list", +"id": "aiplatform.tensorboards.experiments.operations.list", "parameterOrder": [ "name" ], @@ -45493,7 +45644,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+$", "required": true, "type": "string" }, @@ -45524,9 +45675,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.studies.trials.operations.wait", +"id": "aiplatform.tensorboards.experiments.operations.wait", "parameterOrder": [ "name" ], @@ -45534,7 +45685,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^studies/[^/]+/trials/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45554,22 +45705,16 @@ ] } } -} -} -} -} }, -"tensorboards": { -"resources": { -"experiments": { +"runs": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.operations.cancel", +"id": "aiplatform.tensorboards.experiments.runs.operations.cancel", "parameterOrder": [ "name" ], @@ -45577,7 +45722,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45592,9 +45737,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.operations.delete", +"id": "aiplatform.tensorboards.experiments.runs.operations.delete", "parameterOrder": [ "name" ], @@ -45602,7 +45747,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45617,9 +45762,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.operations.get", +"id": "aiplatform.tensorboards.experiments.runs.operations.get", "parameterOrder": [ "name" ], @@ -45627,7 +45772,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45642,9 +45787,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.operations.list", +"id": "aiplatform.tensorboards.experiments.runs.operations.list", "parameterOrder": [ "name" ], @@ -45657,7 +45802,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", "required": true, "type": "string" }, @@ -45688,9 +45833,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.operations.wait", +"id": "aiplatform.tensorboards.experiments.runs.operations.wait", "parameterOrder": [ "name" ], @@ -45698,7 +45843,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45719,15 +45864,15 @@ } } }, -"runs": { +"timeSeries": { "resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.operations.cancel", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", "parameterOrder": [ "name" ], @@ -45735,7 +45880,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45750,9 +45895,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.runs.operations.delete", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", "parameterOrder": [ "name" ], @@ -45760,7 +45905,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45775,9 +45920,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.operations.get", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", "parameterOrder": [ "name" ], @@ -45785,7 +45930,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45800,9 +45945,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.operations.list", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", "parameterOrder": [ "name" ], @@ -45815,7 +45960,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", "required": true, "type": "string" }, @@ -45846,9 +45991,9 @@ }, "wait": { "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:wait", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.operations.wait", +"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", "parameterOrder": [ "name" ], @@ -45856,7 +46001,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -45876,16 +46021,20 @@ ] } } +} +} +} +} +} +} }, -"timeSeries": { -"resources": { "operations": { "methods": { "cancel": { "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", "httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.cancel", +"id": "aiplatform.tensorboards.operations.cancel", "parameterOrder": [ "name" ], @@ -45893,7 +46042,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45908,9 +46057,9 @@ }, "delete": { "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", "httpMethod": "DELETE", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.delete", +"id": "aiplatform.tensorboards.operations.delete", "parameterOrder": [ "name" ], @@ -45918,7 +46067,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45933,9 +46082,9 @@ }, "get": { "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.get", +"id": "aiplatform.tensorboards.operations.get", "parameterOrder": [ "name" ], @@ -45943,7 +46092,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", +"pattern": "^tensorboards/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -45958,9 +46107,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations", +"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations", "httpMethod": "GET", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.list", +"id": "aiplatform.tensorboards.operations.list", "parameterOrder": [ "name" ], @@ -45973,169 +46122,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+$", -"required": true, -"type": "string" -}, -"pageSize": { -"description": "The standard list page size.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "The standard list page token.", -"location": "query", -"type": "string" -}, -"returnPartialSuccess": { -"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", -"location": "query", -"type": "boolean" -} -}, -"path": "v1beta1/{+name}/operations", -"response": { -"$ref": "GoogleLongrunningListOperationsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"wait": { -"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:wait", -"httpMethod": "POST", -"id": "aiplatform.tensorboards.experiments.runs.timeSeries.operations.wait", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to wait on.", -"location": "path", -"pattern": "^tensorboards/[^/]+/experiments/[^/]+/runs/[^/]+/timeSeries/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -}, -"timeout": { -"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", -"format": "google-duration", -"location": "query", -"type": "string" -} -}, -"path": "v1beta1/{+name}:wait", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -} -} -} -} -}, -"operations": { -"methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", -"httpMethod": "POST", -"id": "aiplatform.tensorboards.operations.cancel", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", -"location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}:cancel", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", -"httpMethod": "DELETE", -"id": "aiplatform.tensorboards.operations.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource to be deleted.", -"location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations/{operationsId}", -"httpMethod": "GET", -"id": "aiplatform.tensorboards.operations.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "The name of the operation resource.", -"location": "path", -"pattern": "^tensorboards/[^/]+/operations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1beta1/{+name}", -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1beta1/tensorboards/{tensorboardsId}/operations", -"httpMethod": "GET", -"id": "aiplatform.tensorboards.operations.list", -"parameterOrder": [ -"name" -], -"parameters": { -"filter": { -"description": "The standard list filter.", -"location": "query", -"type": "string" -}, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^tensorboards/[^/]+$", +"pattern": "^tensorboards/[^/]+$", "required": true, "type": "string" }, @@ -46515,23 +46502,29 @@ } } }, -"revision": "20260515", +"revision": "20260605", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoExperiments": { "description": "Experimental parameters for video generation.", "id": "CloudAiLargeModelsVisionGenerateVideoExperiments", "properties": { +"anchorLastFrame": { +"description": "Optional. If true, anchors the last frame in video generation by generating a custom border mask.", +"type": "boolean" +}, "codec": { "description": "Optional. Video codec to use for output.", "enum": [ "VIDEO_CODEC_UNSPECIFIED", "VIDEO_CODEC_H264", -"VIDEO_CODEC_PRORES" +"VIDEO_CODEC_PRORES", +"VIDEO_CODEC_DNXHR" ], "enumDescriptions": [ "", "", +"", "" ], "type": "string" @@ -46543,6 +46536,14 @@ }, "type": "array" }, +"customParameters": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Generic key-value pairs for experimental parameters. This allows adding new parameters without changing the dataplane binary.", +"type": "object" +}, "humanPose": { "$ref": "CloudAiLargeModelsVisionHumanPose", "description": "Human pose parameters for Pose Control" @@ -46556,6 +46557,10 @@ "format": "int32", "type": "integer" }, +"originalRequestJson": { +"description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", +"type": "string" +}, "promptInputs": { "$ref": "CloudAiLargeModelsVisionPromptInputs", "description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." @@ -46564,6 +46569,14 @@ "description": "Optional tag for tracking the source of this request. Allowed values: \"colab\", \"comfyui\", \"curl\", \"flowresearch\", \"vertexstudio\". Unrecognized tags are recorded as \"unknown\" in metrics. Tags do not affect video generation behavior. Up to 16 characters, ASCII alphanumeric, hyphens, and underscores only.", "type": "string" }, +"schedulingConfig": { +"$ref": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"description": "Optional. Scheduling configuration." +}, +"seamless": { +"$ref": "CloudAiLargeModelsVisionSeamless", +"description": "Parameters for seamless (edge-continuous) video generation, enabling temporal looping and/or spatial tessellation." +}, "truncateInputVideo": { "description": "If true (default), truncate input videos that exceed the model's maximum frame count by applying a frame_selection_config to __video_file__ inputs. Set to false to preserve the existing fail-fast behavior.", "type": "boolean" @@ -46595,6 +46608,17 @@ }, "type": "object" }, +"CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig": { +"description": "Scheduling configuration for Veo Experimental.", +"id": "CloudAiLargeModelsVisionGenerateVideoExperimentsVESchedulingConfig", +"properties": { +"enableRetry": { +"description": "Optional. If true, enable retries on transient errors with default backoff.", +"type": "boolean" +} +}, +"type": "object" +}, "CloudAiLargeModelsVisionGenerateVideoRequestImage": { "description": "The image bytes or Cloud Storage URI to make the prediction on.", "id": "CloudAiLargeModelsVisionGenerateVideoRequestImage", @@ -46968,6 +46992,24 @@ }, "type": "object" }, +"CloudAiLargeModelsVisionSeamless": { +"id": "CloudAiLargeModelsVisionSeamless", +"properties": { +"loop": { +"description": "If true, the generated video will be loopable (seamless time looping).", +"type": "boolean" +}, +"tessellateHorizontal": { +"description": "If true, the generated video will be tessellatable as a horizontal tessellation.", +"type": "boolean" +}, +"tessellateVertical": { +"description": "If true, the generated video will be tessellatable as a vertical tessellation.", +"type": "boolean" +} +}, +"type": "object" +}, "CloudAiLargeModelsVisionSemanticFilterResponse": { "id": "CloudAiLargeModelsVisionSemanticFilterResponse", "properties": { @@ -47213,7 +47255,7 @@ "GenaiVertexV1beta1ArgumentsDelta": { "id": "GenaiVertexV1beta1ArgumentsDelta", "properties": { -"partial_arguments": { +"arguments": { "type": "string" } }, @@ -47355,12 +47397,12 @@ "enum": [ "DELIVERY_UNSPECIFIED", "INLINE", -"URL" +"URI" ], "enumDescriptions": [ "Default value. This value is unused.", "Audio data is returned inline in the response.", -"Audio data is returned as a URL." +"Audio data is returned as a URI." ], "type": "string" }, @@ -47697,6 +47739,10 @@ "description": "Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.", "type": "boolean" }, +"enable_bigquery_tool": { +"description": "Enables bigquery tool for the Deep Research agent.", +"type": "boolean" +}, "thinking_summaries": { "description": "Whether to include thought summaries in the response.", "enum": [ @@ -47728,6 +47774,12 @@ }, "type": "object" }, +"GenaiVertexV1beta1DeleteInteractionResponse": { +"description": "Response for InteractionService.DeleteInteraction.", +"id": "GenaiVertexV1beta1DeleteInteractionResponse", +"properties": {}, +"type": "object" +}, "GenaiVertexV1beta1DocumentContent": { "description": "A document content block.", "id": "GenaiVertexV1beta1DocumentContent", @@ -47741,11 +47793,13 @@ "description": "The mime type of the document.", "enum": [ "TYPE_UNSPECIFIED", -"TYPE_PDF" +"TYPE_PDF", +"TYPE_CSV" ], "enumDescriptions": [ "", -"PDF document format" +"PDF document format", +"CSV document format" ], "type": "string" }, @@ -47766,11 +47820,13 @@ "mime_type": { "enum": [ "TYPE_UNSPECIFIED", -"TYPE_PDF" +"TYPE_PDF", +"TYPE_CSV" ], "enumDescriptions": [ "", -"PDF document format" +"PDF document format", +"CSV document format" ], "type": "string" }, @@ -47791,6 +47847,107 @@ }, "type": "object" }, +"GenaiVertexV1beta1EnvironmentConfig": { +"description": "Configuration for a custom environment.", +"id": "GenaiVertexV1beta1EnvironmentConfig", +"properties": { +"networkAllowlist": { +"$ref": "GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist", +"description": "Allow only specific domains." +}, +"networkMode": { +"description": "Network egress mode.", +"enum": [ +"NETWORK_MODE_UNSPECIFIED", +"DISABLED" +], +"enumDescriptions": [ +"Default value. Unused.", +"All network egress is blocked." +], +"type": "string" +}, +"sources": { +"items": { +"$ref": "GenaiVertexV1beta1EnvironmentConfigSource" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiVertexV1beta1EnvironmentConfigEgressRule": { +"description": "A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.", +"id": "GenaiVertexV1beta1EnvironmentConfigEgressRule", +"properties": { +"domain": { +"description": "The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.", +"type": "string" +}, +"transform": { +"additionalProperties": { +"type": "string" +}, +"description": "Headers to inject into requests matching this rule. Key: header name (e.g., \"Authorization\"). Value: header value (e.g., \"Bearer your-token\").", +"type": "object" +} +}, +"type": "object" +}, +"GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist": { +"description": "Network egress configuration for the environment.", +"id": "GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist", +"properties": { +"allowlist": { +"description": "List of allowed domains and their configurations.", +"items": { +"$ref": "GenaiVertexV1beta1EnvironmentConfigEgressRule" +}, +"type": "array" +} +}, +"type": "object" +}, +"GenaiVertexV1beta1EnvironmentConfigSource": { +"description": "A source to be mounted into the environment.", +"id": "GenaiVertexV1beta1EnvironmentConfigSource", +"properties": { +"content": { +"description": "The inline content if `type` is `INLINE`.", +"type": "string" +}, +"encoding": { +"description": "Optional encoding for inline content (e.g. `base64`).", +"type": "string" +}, +"source": { +"description": "The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.", +"type": "string" +}, +"target": { +"description": "Where the source should appear in the environment.", +"type": "string" +}, +"type": { +"enum": [ +"TYPE_UNSPECIFIED", +"GCS", +"INLINE", +"REPOSITORY", +"SKILL_REGISTRY" +], +"enumDescriptions": [ +"", +"A GCS bucket.", +"Inline content.", +"A generic repository. The protocol prefix in the source URL identifies the provider (e.g., github://, gcs://).", +"A skill resource from the Skill Registry Service. Skill: projects/{project}/locations/{location}/skills/{skill} SkillRevision: projects/{project}/locations/{location}/skills/{skill}/revisions/{revision} Support mounting all skills under a project: projects/{project}/locations/{location}/skills." +], +"type": "string" +} +}, +"type": "object" +}, "GenaiVertexV1beta1Error": { "description": "Error message from an interaction.", "id": "GenaiVertexV1beta1Error", @@ -48085,6 +48242,7 @@ "properties": { "image_config": { "$ref": "GenaiVertexV1beta1ImageConfig", +"deprecated": true, "description": "Configuration for image interaction." }, "max_output_tokens": { @@ -48747,12 +48905,12 @@ "enum": [ "DELIVERY_UNSPECIFIED", "INLINE", -"URL" +"URI" ], "enumDescriptions": [ "Default value. This value is unused.", "Image data is returned inline in the response.", -"Image data is returned as a URL." +"Image data is returned as a URI." ], "type": "string" }, @@ -48811,6 +48969,15 @@ "readOnly": true, "type": "string" }, +"env_id": { +"description": "The environment ID for the interaction. Can be 'remote' for default environment.", +"type": "string" +}, +"environment_id": { +"description": "Output only. The environment ID for the interaction. Only populated if environment config is set in the request.", +"readOnly": true, +"type": "string" +}, "id": { "description": "Required. Output only. A unique identifier for the interaction completion.", "readOnly": true, @@ -48833,6 +49000,9 @@ "description": "The ID of the previous interaction, if any.", "type": "string" }, +"remoteEnvironment": { +"$ref": "GenaiVertexV1beta1EnvironmentConfig" +}, "responseFormatList": { "$ref": "GenaiVertexV1beta1ResponseFormatList" }, @@ -48845,6 +49015,7 @@ "description": "Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field." }, "response_mime_type": { +"deprecated": true, "description": "The mime type of the response. This is required if response_format is set.", "type": "string" }, @@ -48886,7 +49057,8 @@ "COMPLETED", "FAILED", "CANCELLED", -"INCOMPLETE" +"INCOMPLETE", +"BUDGET_EXCEEDED" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -48895,7 +49067,8 @@ "The interaction is completed.", "The interaction failed.", "The interaction was cancelled.", -"The interaction is completed, but contains incomplete results (e.g. hitting max_tokens)." +"The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", +"The interaction was halted because the token budget was exceeded." ], "readOnly": true, "type": "string" @@ -48905,7 +49078,7 @@ "description": "Input only. The steps for the interaction." }, "steps": { -"description": "Output only. The steps that make up the interaction.", +"description": "Required. Output only. The steps that make up the interaction.", "items": { "$ref": "GenaiVertexV1beta1Step" }, @@ -48999,7 +49172,8 @@ "COMPLETED", "FAILED", "CANCELLED", -"INCOMPLETE" +"INCOMPLETE", +"BUDGET_EXCEEDED" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -49008,7 +49182,8 @@ "The interaction is completed.", "The interaction failed.", "The interaction was cancelled.", -"The interaction is completed, but contains incomplete results (e.g. hitting max_tokens)." +"The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", +"The interaction was halted because the token budget was exceeded." ], "type": "string" } @@ -49060,6 +49235,10 @@ "$ref": "GenaiVertexV1beta1InteractionStatusUpdate", "description": "The interaction status data, used for interaction.status_update events." }, +"metadata": { +"$ref": "GenaiVertexV1beta1StreamMetadata", +"description": "Optional metadata accompanying ANY streamed event." +}, "stepDelta": { "$ref": "GenaiVertexV1beta1StepDelta", "description": "The step delta data, used for step.delta events." @@ -49427,9 +49606,6 @@ }, "text": { "$ref": "GenaiVertexV1beta1TextResponseFormat" -}, -"video": { -"$ref": "GenaiVertexV1beta1VideoResponseFormat" } }, "type": "object" @@ -49491,6 +49667,64 @@ }, "type": "object" }, +"GenaiVertexV1beta1ServerToolCallDelta": { +"id": "GenaiVertexV1beta1ServerToolCallDelta", +"properties": { +"codeExecutionCall": { +"$ref": "GenaiVertexV1beta1CodeExecutionCallDelta" +}, +"fileSearchCall": { +"$ref": "GenaiVertexV1beta1FileSearchCallDelta" +}, +"googleMapsCall": { +"$ref": "GenaiVertexV1beta1GoogleMapsCallDelta" +}, +"googleSearchCall": { +"$ref": "GenaiVertexV1beta1GoogleSearchCallDelta" +}, +"mcpServerToolCall": { +"$ref": "GenaiVertexV1beta1McpServerToolCallDelta" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", +"type": "string" +}, +"urlContextCall": { +"$ref": "GenaiVertexV1beta1UrlContextCallDelta" +} +}, +"type": "object" +}, +"GenaiVertexV1beta1ServerToolResultDelta": { +"id": "GenaiVertexV1beta1ServerToolResultDelta", +"properties": { +"codeExecutionResult": { +"$ref": "GenaiVertexV1beta1CodeExecutionResultDelta" +}, +"fileSearchResult": { +"$ref": "GenaiVertexV1beta1FileSearchResultDelta" +}, +"googleMapsResult": { +"$ref": "GenaiVertexV1beta1GoogleMapsResultDelta" +}, +"googleSearchResult": { +"$ref": "GenaiVertexV1beta1GoogleSearchResultDelta" +}, +"mcpServerToolResult": { +"$ref": "GenaiVertexV1beta1McpServerToolResultDelta" +}, +"signature": { +"description": "A signature hash for backend validation.", +"format": "byte", +"type": "string" +}, +"urlContextResult": { +"$ref": "GenaiVertexV1beta1UrlContextResultDelta" +} +}, +"type": "object" +}, "GenaiVertexV1beta1SpeechConfig": { "description": "The configuration for speech interaction.", "id": "GenaiVertexV1beta1SpeechConfig", @@ -49557,9 +49791,18 @@ "document": { "$ref": "GenaiVertexV1beta1DocumentDelta" }, +"functionResult": { +"$ref": "GenaiVertexV1beta1FunctionResultDelta" +}, "image": { "$ref": "GenaiVertexV1beta1ImageDelta" }, +"serverToolCall": { +"$ref": "GenaiVertexV1beta1ServerToolCallDelta" +}, +"serverToolResult": { +"$ref": "GenaiVertexV1beta1ServerToolResultDelta" +}, "text": { "$ref": "GenaiVertexV1beta1TextDelta" }, @@ -49615,6 +49858,15 @@ }, "type": "object" }, +"GenaiVertexV1beta1StreamMetadata": { +"id": "GenaiVertexV1beta1StreamMetadata", +"properties": { +"usage": { +"$ref": "GenaiVertexV1beta1InteractionUsage" +} +}, +"type": "object" +}, "GenaiVertexV1beta1TextAnnotationDelta": { "id": "GenaiVertexV1beta1TextAnnotationDelta", "properties": { @@ -50280,11 +50532,13 @@ "description": "Input provided by the user.", "id": "GenaiVertexV1beta1UserInputStep", "properties": { -"content": { -"items": { -"$ref": "GenaiVertexV1beta1Content" +"contentList": { +"$ref": "GenaiVertexV1beta1ContentList", +"description": "The content of the step. An array of Content objects." }, -"type": "array" +"contentString": { +"description": "The content of the step. A single string.", +"type": "string" } }, "type": "object" @@ -50427,12 +50681,6 @@ }, "type": "object" }, -"GenaiVertexV1beta1VideoResponseFormat": { -"description": "Configuration for video output format.", -"id": "GenaiVertexV1beta1VideoResponseFormat", -"properties": {}, -"type": "object" -}, "GoogleApiHttpBody": { "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", "id": "GoogleApiHttpBody", @@ -50684,15 +50932,15 @@ "id": "GoogleCloudAiplatformV1beta1Agent", "properties": { "base_agent": { -"description": "Required. The base agent of the agent. Supported values: - \"antigravity-preview-05-2026\"", +"description": "Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`", "type": "string" }, "base_environment": { -"description": "Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.", +"description": "Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.", "type": "any" }, "created": { -"description": "Output only. Timestamp when the agent was created.", +"description": "Output only. The time the agent was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -50702,38 +50950,38 @@ "type": "string" }, "id": { -"description": "Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.", +"description": "Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, -"description": "Optional. The metadata of the agent.", +"description": "Optional. The metadata for the agent.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", +"description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "type": "string" }, "object": { -"description": "Output only. The object type of this resource. Always set to \"agent\" in this case.", +"description": "Output only. The object type of the resource. For agents, the value is `agent`.", "readOnly": true, "type": "string" }, "system_instruction": { -"description": "Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.", +"description": "Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.", "type": "string" }, "tools": { -"description": "Optional. A list of tools that are available for the agent during the process of execucting the task.", +"description": "Optional. The tools available to the agent.", "items": { "$ref": "GoogleCloudAiplatformV1beta1AgentTool" }, "type": "array" }, "updated": { -"description": "Output only. Timestamp when the agent was last updated.", +"description": "Output only. The time the agent was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -50835,26 +51083,26 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1AgentTool": { -"description": "A tool provides a list of actions that are available for the Agent during the process of executing the task.", +"description": "A tool provides a list of actions available to the Agent during the process of executing a task.", "id": "GoogleCloudAiplatformV1beta1AgentTool", "properties": { "headers": { "additionalProperties": { "type": "string" }, -"description": "Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is \"mcp\".", +"description": "Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.", "type": "object" }, "name": { -"description": "Optional. The name of the MCP server. Only applicable when `type` is \"mcp\".", +"description": "Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.", "type": "string" }, "type": { -"description": "Required. Type of the tool. Supported types: - \"code_execution\" - \"filesystem\" - \"google_search\" - \"mcp\" - \"url_context\"", +"description": "Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`", "type": "string" }, "url": { -"description": "Optional. The full URL for the MCP server endpoint. Only applicable when `type` is \"mcp\".", +"description": "Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.", "type": "string" } }, @@ -51616,11 +51864,11 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1AutomaticResources": { -"description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", +"description": "A description of resources that to large degree are decided by Agent Platform, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "id": "GoogleCloudAiplatformV1beta1AutomaticResources", "properties": { "maxReplicaCount": { -"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.", +"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Agent Platform may be unable to scale beyond certain replica number.", "format": "int32", "type": "integer" }, @@ -51863,7 +52111,7 @@ "type": "boolean" }, "startingReplicaCount": { -"description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Vertex AI decides starting number, not greater than max_replica_count", +"description": "Immutable. The number of machine replicas used at the start of the batch operation. If not set, Agent Platform decides starting number, not greater than max_replica_count", "format": "int32", "type": "integer" } @@ -53441,6 +53689,36 @@ }, "type": "object" }, +"GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfig": { +"description": "Composite reward function configuration for reinforcement tuning.", +"id": "GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfig", +"properties": { +"weightedRewardConfigs": { +"description": "List of reward function configurations with weights.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfigWeightedRewardConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfigWeightedRewardConfig": { +"description": "Reward function configuration with a weight. The weight is used to combine the reward with other rewards. The weight can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight.", +"id": "GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfigWeightedRewardConfig", +"properties": { +"rewardConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SingleReinforcementTuningRewardConfig", +"description": "Single Reward configuration." +}, +"weight": { +"description": "How much this single reward contributes to the total overall reward. Total reward is a linear combination of single rewards with their corresponding weights. I.e., ``` Total reward = ( reward_weight_of_reward_a * reward of reward_a + reward_weight_of_reward_b * reward of reward_b + ... )/(sum of reward_weights) ``` This reward weight represents the default weighting that will be used to sum up different rewards. This weighting can be overridden at the data source level with dataset specific weights, which is a map from reward_name to reward_weight. Consider setting this to 1.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec": { "description": "Specification for a computation based metric.", "id": "GoogleCloudAiplatformV1beta1ComputationBasedMetricSpec", @@ -55042,6 +55320,11 @@ "description": "Statistics computed over a tuning dataset.", "id": "GoogleCloudAiplatformV1beta1DatasetStats", "properties": { +"contentsPerExampleDistribution": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetDistribution", +"description": "Output only. Dataset distributions for the number of contents per example.", +"readOnly": true +}, "droppedExampleIndices": { "description": "Output only. A partial sample of the indices (starting from 1) of the dropped examples.", "items": { @@ -55059,12 +55342,23 @@ "readOnly": true, "type": "array" }, +"reinforcementTuningUserDatasetExamples": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningUserDatasetExamples", +"description": "Output only. Sample user dataset examples in the training dataset uri for Reinforcement Tuning.", +"readOnly": true +}, "totalBillableCharacterCount": { "description": "Output only. Number of billable characters in the tuning dataset.", "format": "int64", "readOnly": true, "type": "string" }, +"totalBillableTokenCount": { +"description": "Output only. Number of billable tokens in the tuning dataset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, "totalTuningCharacterCount": { "description": "Output only. Number of tuning characters in the tuning dataset.", "format": "int64", @@ -55191,7 +55485,7 @@ "description": "Required. Immutable. The specification of a single machine being used." }, "maxReplicaCount": { -"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", +"description": "Immutable. The maximum number of replicas that may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale to that many replicas is guaranteed (barring service outages). If traffic increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, will use min_replica_count as the default value. The value of this field impacts the charge against Agent Platform CPU and GPU quotas. Specifically, you will be charged for (max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).", "format": "int32", "type": "integer" }, @@ -56005,6 +56299,12 @@ }, "type": "object" }, +"GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest": { +"description": "Request message for SemanticGovernancePolicyEngineService.DeprovisionSemanticGovernancePolicyEngine.", +"id": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest", +"properties": {}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1DestinationFeatureSetting": { "id": "GoogleCloudAiplatformV1beta1DestinationFeatureSetting", "properties": { @@ -56856,7 +57156,7 @@ "properties": { "autoraterConfig": { "$ref": "GoogleCloudAiplatformV1beta1AutoraterConfig", -"description": "Optional. Autorater config used for evaluation." +"description": "Optional. Autorater config used for evaluation. Not applicable for predefined metrics (PredefinedMetricSpec); the server uses its own model configuration for predefined metrics and this field is ignored." }, "bleuInput": { "$ref": "GoogleCloudAiplatformV1beta1BleuInput", @@ -59814,6 +60114,21 @@ "description": "Output only. The region of the project.", "readOnly": true, "type": "string" +}, +"tier": { +"description": "Output only. The tier of the project.", +"enum": [ +"TIER_UNSPECIFIED", +"TIER_FREE", +"TIER_PAID" +], +"enumDescriptions": [ +"Not specified.", +"Free tier - initial tier for managed project.", +"Paid tier is assigned to managed project after the upgrade." +], +"readOnly": true, +"type": "string" } }, "type": "object" @@ -62408,6 +62723,61 @@ }, "type": "object" }, +"GoogleCloudAiplatformV1beta1GatewayConfig": { +"description": "Configuration for a single gateway.", +"id": "GoogleCloudAiplatformV1beta1GatewayConfig", +"properties": { +"dnsRecord": { +"description": "Output only. The fully qualified record name of the created A-record in Cloud DNS.", +"readOnly": true, +"type": "string" +}, +"dnsZoneName": { +"description": "Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.", +"type": "string" +}, +"ipAddress": { +"description": "Output only. The private IP address of the PSC endpoint.", +"readOnly": true, +"type": "string" +}, +"network": { +"description": "Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}", +"type": "string" +}, +"pscEndpoint": { +"description": "Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the Gateway configuration.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"ACTIVE", +"DEPROVISIONING", +"INACTIVE", +"FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"The Gateway is being provisioned.", +"The Gateway is active and ready to use.", +"The Gateway is being de-provisioned.", +"The Gateway is inactive.", +"The Gateway failed to be provisioned." +], +"readOnly": true, +"type": "string" +}, +"subnetwork": { +"description": "Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1GcsDestination": { "description": "The Google Cloud Storage location where the output is to be written to.", "id": "GoogleCloudAiplatformV1beta1GcsDestination", @@ -65483,14 +65853,14 @@ "id": "GoogleCloudAiplatformV1beta1ListAgentsResponse", "properties": { "agents": { -"description": "A list of agents matching the request.", +"description": "The agents matching the request.", "items": { "$ref": "GoogleCloudAiplatformV1beta1Agent" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", +"description": "A token to retrieve the next page of results. Pass this value as ListAgentsRequest.page_token in a subsequent call.", "type": "string" } }, @@ -66667,6 +67037,24 @@ }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse": { +"description": "Response message for SemanticGovernancePolicyService.ListSemanticGovernancePolicies.", +"id": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse", +"properties": { +"nextPageToken": { +"description": "A token to retrieve the next page of results. Pass to ListSemanticGovernancePoliciesRequest.page_token to obtain that page.", +"type": "string" +}, +"semanticGovernancePolicies": { +"description": "The list of SemanticGovernancePolicies.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ListSessionsResponse": { "description": "Response message for SessionService.ListSessions.", "id": "GoogleCloudAiplatformV1beta1ListSessionsResponse", @@ -67084,7 +67472,7 @@ "id": "GoogleCloudAiplatformV1beta1MachineSpec", "properties": { "acceleratorCount": { -"description": "The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.", +"description": "The number of accelerators to attach to the machine. For [accelerator optimized machine types](https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the accelerator_count from 1 to N for machine with N GPUs. If accelerator_count is less than or equal to N / 2, Agent Platform co-schedules the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set accelerator_count to 1 to 8. If accelerator_count is 1, 2, 3, or 4, Agent Platform co-schedules 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihost_gpu_node_count is set, the co-scheduling will not be enabled.", "format": "int32", "type": "integer" }, @@ -67160,7 +67548,7 @@ false "type": "string" }, "machineType": { -"description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", +"description": "Immutable. The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/gemini-enterprise-agent-platform/machine-learning/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.", "type": "string" }, "minGpuDriverVersion": { @@ -71088,7 +71476,8 @@ false "INVALID_SPARSE_EMBEDDING", "INVALID_EMBEDDING", "INVALID_EMBEDDING_METADATA", -"EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT" +"EMBEDDING_METADATA_EXCEEDS_SIZE_LIMIT", +"DUPLICATE_ID" ], "enumDescriptions": [ "Default, shall not be used.", @@ -71110,7 +71499,8 @@ false "Invalid sparse embedding.", "Invalid dense embedding.", "Invalid embedding metadata.", -"Embedding metadata exceeds size limit." +"Embedding metadata exceeds size limit.", +"Multiple input records share the same datapoint id. The input conversion pipeline performs non-deterministic last-write-wins de-duplication and emits one error per duplicated id." ], "type": "string" }, @@ -72587,7 +72977,7 @@ false "type": "object" }, "GoogleCloudAiplatformV1beta1PersistentDiskSpec": { -"description": "Represents the spec of persistent disk options.", +"description": "Represents the spec of persistent disk and hyperdisk options.", "id": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", "properties": { "diskSizeGb": { @@ -72596,7 +72986,7 @@ false "type": "string" }, "diskType": { -"description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk)", +"description": "Type of the disk (default is \"pd-standard\"). Valid values: \"pd-ssd\" (Persistent Disk Solid State Drive) \"pd-standard\" (Persistent Disk Hard Disk Drive) \"pd-balanced\" (Balanced Persistent Disk) \"pd-extreme\" (Extreme Persistent Disk) \"hyperdisk-balanced\" (Hyperdisk Balanced) \"hyperdisk-extreme\" (Hyperdisk Extreme) \"hyperdisk-balanced-high-availability\" (Hyperdisk Balanced High Availability) \"hyperdisk-ml\" (Hyperdisk ML) \"hyperdisk-throughput\" (Hyperdisk Throughput)", "type": "string" } }, @@ -74030,6 +74420,44 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ProcessDataRequest": { +"description": "Request message for GenAiTuningService.ProcessData.", +"id": "GoogleCloudAiplatformV1beta1ProcessDataRequest", +"properties": { +"gcsDestination": { +"$ref": "GoogleCloudAiplatformV1beta1GcsDestination", +"description": "Optional. The GCS bucket to store the processed videos and captions data." +}, +"gcsSource": { +"$ref": "GoogleCloudAiplatformV1beta1GcsSource", +"description": "Optional. A JSONL file containing a list of files to process stored in the user's GCS bucket." +}, +"veoSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec", +"description": "Optional. Spec for Veo data processing." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec": { +"description": "Spec for Veo data processing.", +"id": "GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec", +"properties": { +"processType": { +"description": "Optional. The type of data processing to perform.", +"enum": [ +"VEO_V1_AND_V2_DEFAULT", +"VEO_V3" +], +"enumDescriptions": [ +"Process type for Veo 1 and 2.", +"Process type for Veo 3." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints": { "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", "id": "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints", @@ -74408,9 +74836,21 @@ false "description": "This message contains configs of a publisher model.", "id": "GoogleCloudAiplatformV1beta1PublisherModelConfig", "properties": { +"dataSharingEnabledProvider": { +"description": "Optional. The model provider (publisher) for which the customer has enabled data sharing. For publisher models that are configured to require data sharing, a prediction request is only allowed when the model's publisher matches this provider. Otherwise, the request is rejected.", +"enum": [ +"MODEL_PROVIDER_UNSPECIFIED", +"ANTHROPIC" +], +"enumDescriptions": [ +"Unspecified model provider.", +"Anthropic." +], +"type": "string" +}, "loggingConfig": { "$ref": "GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig", -"description": "The prediction request/response logging config." +"description": "Optional. The prediction request/response logging config." } }, "type": "object" @@ -77158,6 +77598,345 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorer": { +"description": "ReinforcementTuningAutoraterScorer is used to score parsed responses for classification based autorater use cases. For example, for math problems, we can use classification based autorater to calculate the reward based on the autorater parsed response against reference answer.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorer", +"properties": { +"autoraterConfig": { +"$ref": "GoogleCloudAiplatformV1beta1AutoraterConfig", +"description": "Autorater config for classification based autorater" +}, +"autoraterPrompt": { +"description": "Allows substituting {{prompt}}, {{response}}, {{system_instruction}} and {{references.reference}} into autorater prompt.", +"type": "string" +}, +"autoraterResponseParseConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningParseResponseConfig", +"description": "Parses autorater returned response. For example, if autorater response has reward stored in `2.0` block, defining parsing response config using regex \"`.*(.*?)`\" will give you \"2.0\"." +}, +"exactMatchScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerExactMatchScorer", +"description": "Scores autorater responses by using string match reward scorer." +}, +"parsedResponseConversionScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerParsedResponseConversionScorer", +"description": "Scores autorater responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerExactMatchScorer": { +"description": "Scores autorater responses by using exact string match reward scorer.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerExactMatchScorer", +"properties": { +"correctAnswerReward": { +"description": "Assigns this reward score if parsed response string equals the expression.", +"format": "float", +"type": "number" +}, +"expression": { +"description": "The string expression to match against. Supports substitution in the format of {{references.reference}} before matching. No regex support. For example, customer can define: ``` correct_answer_reward: 1.0 wrong_answer_reward: -1.0 expression: {{references.reference}} ``` And during evaluation for each parsed autorater response, the prompt references will be substituted into the expression here. If references.reference has a value of \"3\", the expression becomes \"3\" and we will give 1.0 reward if parsed response string equals \"3\". and -1.0 reward if parsed response string does not equal \"3\".", +"type": "string" +}, +"wrongAnswerReward": { +"description": "Assigns this reward score if parsed reward value does not equal the expression.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerParsedResponseConversionScorer": { +"description": "Scores responses by directly converting parsed autorater response to float reward. Important: reward is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorerParsedResponseConversionScorer", +"properties": {}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningCloudRunRewardScorer": { +"description": "The Cloud Run service should implement the following HTTP API: ``` HTTP Method: POST HTTP Request Body: { \"example\": ReinforcementTuningExample, \"response\": Content, \"metadata\": { \"step\": int \"tuning_job_id\": int64 } } ``` where `example` is a ReinforcementTuningExample in ProtoJSON format and `response` is a Content in ProtoJSON format. ``` HTTP Response Body: { \"reward\": float } Example HTTP Request Body: { \"example\": { \"contents\": [ { \"role\": \"user\", \"parts\": [ { \"text\": \"What is the capital of France?\" } ] } ], \"references\": { \"answer\": \"Paris\", } }, \"response\": { \"parts\": [ { \"text\": \"London\" } ] }, \"metadata\": { \"step\": 1 \"tuning_job_id\": 123456789 } } Example HTTP Response Body: { \"reward\": -1.0 } ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningCloudRunRewardScorer", +"properties": { +"cloudRunUri": { +"description": "URI of the Cloud Run service that will be used to compute the reward. The Vertex AI Secure Fine Tuning Service Agent (`service-@gcp-sa-vertex-tune.iam.gserviceaccount.com`) must be granted the permission (e.g. by granting `roles/run.invoker` in IAM) to invoke the Cloud Run service.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningCodeExecutionRewardScorer": { +"description": "Expects the user to implement the following function: ``` `example` is the dict using exactly the same format as the training, validation dataset, and also includes the system instructions and the references (e.g., user can use references for storing ground truth of this example). `response` is a dict of Content type, which is the same as all the other 1P tuning method, as well as the Online Prediction def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: ``` where the first returned argument is reward. References and system instruction will be empty if not provided by the user. Different correct answers can get different rewards. Different wrong answers can also get different rewards. Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningCodeExecutionRewardScorer", +"properties": { +"pythonCodeSnippet": { +"description": "Example python code snippet which assigns reward of 1 to answer matching user provided reference answer in per prompt references map. ``` def evaluate(example: Dict[str, ...], response:Dict[str, Content]) -> float: if response == example\"references\": return 1.0 return -1.0 ``` Important: reward output by the function is clipped to be within [-1, 1]. I.e., reward = max(min(reward, 1), -1)", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningExample": { +"description": "User-facing format for Gemini Reinforcement Tuning examples on Vertex.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningExample", +"properties": { +"contents": { +"description": "Multi-turn contents that represents the Prompt.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1Content" +}, +"type": "array" +}, +"references": { +"additionalProperties": { +"type": "string" +}, +"description": "References for the given prompt. The key is the name of the reference, and the value is the reference itself.", +"type": "object" +}, +"systemInstruction": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Corresponds to `system_instruction` in user-facing GenerateContentRequest." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningHyperParameters": { +"description": "Hyperparameters for Reinforcement Tuning.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningHyperParameters", +"properties": { +"adapterSize": { +"description": "Optional. Adapter size for Reinforcement Tuning.", +"enum": [ +"ADAPTER_SIZE_UNSPECIFIED", +"ADAPTER_SIZE_ONE", +"ADAPTER_SIZE_TWO", +"ADAPTER_SIZE_FOUR", +"ADAPTER_SIZE_EIGHT", +"ADAPTER_SIZE_SIXTEEN", +"ADAPTER_SIZE_THIRTY_TWO" +], +"enumDescriptions": [ +"Adapter size is unspecified.", +"Adapter size 1.", +"Adapter size 2.", +"Adapter size 4.", +"Adapter size 8.", +"Adapter size 16.", +"Adapter size 32." +], +"type": "string" +}, +"batchSize": { +"description": "Optional. Batch size for the tuning job. How many prompts to process at a train step. If not set, the batch size will be determined automatically.", +"format": "int32", +"type": "integer" +}, +"checkpointInterval": { +"description": "Optional. How often at steps to save checkpoints during training. If not set, one checkpoint per epoch will be set. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.```", +"format": "int32", +"type": "integer" +}, +"epochCount": { +"description": "Optional. Number of training epoches for the tuning job.", +"format": "int64", +"type": "string" +}, +"evaluateInterval": { +"description": "Optional. How often at steps to evaluate the tuning job during training. If not set, evel will be run per epoch. ```total_steps = epoch_count * samples_per_prompt/total_prompts_in_dataset.```", +"format": "int32", +"type": "integer" +}, +"learningRateMultiplier": { +"description": "Optional. Learning rate multiplier for Reinforcement Learning.", +"format": "double", +"type": "number" +}, +"maxOutputTokens": { +"description": "Optional. The maximum number of tokens to generate per prompt. If not set, we should default to 32768.", +"format": "int32", +"type": "integer" +}, +"samplesPerPrompt": { +"description": "Optional. Number of different responses to generate per prompt during tuning.", +"format": "int32", +"type": "integer" +}, +"thinkingBudget": { +"description": "Optional. The thinking budget for the tuning job to optimize for. -1 means dynamic thinking 0 means no thinking >0 means thinking budget in tokens If not set, default to -1 (dynamic thinking).", +"format": "int32", +"type": "integer" +}, +"thinkingLevel": { +"description": "Indicates the maximum thinking depth, The thinking_level parameter replaces thinking_budget for Gemini 3 models. Use with earlier models shall result in error.", +"enum": [ +"REINFORCEMENT_TUNING_THINKING_LEVEL_UNSPECIFIED", +"MINIMAL", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Unspecified thinking level.", +"Little to no thinking.", +"Low thinking level.", +"Medium thinking level.", +"High thinking level." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningParseResponseConfig": { +"description": "Defines how to parse sample response config for reinforcement tuning. For example, the input prompt might be: \"Perform step by step thoughts first to problem A, finally output answer in ` ` block.\" And the sample response might look like: \"`blahblah`\". Here, user can define the following parse config: ``` parse_type: REGEX_EXTRACT regex_extract_expression: \".*(.*?)\" ``` And we would have returned \"blahblah\" to reward scoring function.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningParseResponseConfig", +"properties": { +"parseType": { +"description": "Defines how to parse sample response.", +"enum": [ +"RESPONSE_PARSE_TYPE_UNSPECIFIED", +"IDENTITY", +"REGEX_EXTRACT" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Use the sample response as is.", +"Use regex to extract the important part of sample response. Similar as [GoogleSQL](https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions#regexp_extract) `REGEX_EXTRACT(response, expression)`, but different in that if there are multiple matches, the last match will be used." +], +"type": "string" +}, +"regexExtractExpression": { +"description": "Defines the regex to extract the important part of sample response. This field is only used when `parse_type` is `REGEX_EXTRACT`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningRewardInfo": { +"description": "The reward info for a reward function.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningRewardInfo", +"properties": { +"reward": { +"description": "Output only. The calculated reward for the reward function.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"userRequestedAuxInfo": { +"description": "Optional. Output only. The user-requested auxiliary info for the reward function.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningSpec": { +"description": "Spec for Reinforcement Tuning.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningSpec", +"properties": { +"compositeRewardConfig": { +"$ref": "GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfig", +"description": "Composite reward function configuration for reinforcement tuning." +}, +"hyperParameters": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningHyperParameters", +"description": "Optional. Additional hyper-parameters to use during tuning." +}, +"singleRewardConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SingleReinforcementTuningRewardConfig", +"description": "Single Reward function configuration for reinforcement tuning." +}, +"trainingDatasetUri": { +"description": "Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +}, +"validationDatasetUri": { +"description": "Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorer": { +"description": "ReinforcementTuningStringMatchRewardScorer is used to score parsed responses for string matching use cases. For example, for math problems, we can use string match scorer to check if the correct exact answer is generated.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorer", +"properties": { +"correctAnswerReward": { +"description": "Correct answer rewawrd is returned if evaluator evaluates to `true`. All correct answers get the same reward.", +"format": "float", +"type": "number" +}, +"jsonMatchExpression": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerJsonMatchExpression", +"description": "Uses json match expression to evaluate parsed response." +}, +"stringMatchExpression": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerStringMatchExpression", +"description": "Uses string match expression to evaluate parsed response." +}, +"wrongAnswerReward": { +"description": "Wrong answer reward is returned if evaluator evaluates to `false`. All wrong answers get the same reward.", +"format": "float", +"type": "number" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerJsonMatchExpression": { +"description": "JsonRewardScorer supports converting parsed responses to JSON format, find the first-level key in json matching key name, then perform `StringMatchRewardScorer` operation on the value of matching key name.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerJsonMatchExpression", +"properties": { +"keyName": { +"description": "Json key name to find the value to match against.", +"type": "string" +}, +"valueStringMatchExpression": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerStringMatchExpression", +"description": "String match expression to match against the value of json key." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerStringMatchExpression": { +"description": "Evaluates parsed response using match type against expression. Evaluator returns `true` if `MatchOperation(target, expression)` evaluates to `true` and `false` otherwise.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorerStringMatchExpression", +"properties": { +"expression": { +"description": "String or regular expression to match against. Customer can also provide a references map of {key_name: value} which value will be substiuted into expression {{references.key_name}} For example, customer can define: ``` match_operation: REGEX_CONTAINS expression: .*{{references.reference}}.* ``` And during evaluation for each prompt, the prompt references map will be substituted into the expression here. If references.reference has a value of \"abcdef\", the expression becomes .*abcdef.*", +"type": "string" +}, +"matchOperation": { +"description": "Match operation to use for evaluation.", +"enum": [ +"MATCH_OPERATION_UNSPECIFIED", +"REGEX_CONTAINS", +"PARTIAL_MATCH", +"EXACT_MATCH" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"Equivalent to [GoogleSQL](https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions#regexp_contains) `REGEX_CONTAINS(target, expression)`.", +"`expression` is a substring of target.", +"`expression` is an exact match of target." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ReinforcementTuningUserDatasetExamples": { +"description": "Sample Reinforcement Tuning user data in the training dataset. The contents are truncated for better UI showing.", +"id": "GoogleCloudAiplatformV1beta1ReinforcementTuningUserDatasetExamples", +"properties": { +"userDatasetExamples": { +"description": "List of user datasset examples showing to user.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningExample" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest": { "description": "Request message for MetadataService.DeleteContextChildrenRequest.", "id": "GoogleCloudAiplatformV1beta1RemoveContextChildrenRequest", @@ -78919,6 +79698,10 @@ false "The default container image for Computer Use." ], "type": "string" +}, +"resources": { +"$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateResourceRequirements", +"description": "Optional. Resource requests and limits for the default container." } }, "type": "object" @@ -84063,6 +84846,149 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1SemanticGovernancePolicy": { +"description": "Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.", +"id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy", +"properties": { +"agent": { +"description": "Required. The name of the agent in Agent Registry that is affected by this policy.", +"type": "string" +}, +"agentIdentity": { +"description": "Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`", +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. Timestamp when this SemanticGovernancePolicy was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. The description of the SemanticGovernancePolicy.", +"type": "string" +}, +"displayName": { +"description": "Optional. The user-defined name of the SemanticGovernancePolicy.", +"type": "string" +}, +"etag": { +"description": "Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.", +"type": "string" +}, +"mcpTools": { +"description": "Optional. The McpTools that are affected by this policy.", +"items": { +"$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool" +}, +"type": "array" +}, +"name": { +"description": "Identifier. Resource name of the SemanticGovernancePolicy.", +"type": "string" +}, +"naturalLanguageConstraint": { +"description": "Required. The natural language constraint of the SemanticGovernancePolicy.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this SemanticGovernancePolicy was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine": { +"description": "Define a singleton SemanticGovernancePolicyEngine resource under a project and location.", +"id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine", +"properties": { +"createTime": { +"description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"gatewayConfigs": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1GatewayConfig" +}, +"description": "Optional. Configurations for gateways. The keys are user-defined names for each gateway.", +"type": "object" +}, +"ipAddress": { +"description": "Output only. The private IPv4 address of the PSC endpoint.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", +"type": "string" +}, +"pscForwardingRule": { +"description": "Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}", +"readOnly": true, +"type": "string" +}, +"pscServiceAttachment": { +"description": "Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The state of the SemanticGovernancePolicyEngine.", +"enum": [ +"STATE_UNSPECIFIED", +"PROVISIONING", +"ACTIVE", +"DEPROVISIONING", +"INACTIVE", +"FAILED" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"A provisioning operation is in progress. The engine will transition to ACTIVE on success or FAILED on failure.", +"The engine and all of its gateway configurations are provisioned and ready to serve traffic.", +"A deprovisioning operation is in progress. The engine will transition to INACTIVE on success or FAILED on failure.", +"The engine has no provisioned infrastructure: either never provisioned, or successfully deprovisioned.", +"The most recent provisioning or deprovisioning operation failed. The engine may have partial infrastructure that needs explicit deprovision; the engine may be either re-provisioned or deprovisioned to recover." +], +"readOnly": true, +"type": "string" +}, +"targetProject": { +"description": "Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.", +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool": { +"description": "Represents a governance policy applied to MCP tools used by an Agent.", +"id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool", +"properties": { +"mcpServer": { +"description": "Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`", +"type": "string" +}, +"tools": { +"description": "Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ServiceAccountSpec": { "description": "Configuration for the use of custom service account to run the workloads.", "id": "GoogleCloudAiplatformV1beta1ServiceAccountSpec", @@ -84285,6 +85211,37 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1SingleReinforcementTuningRewardConfig": { +"description": "SingleReinforcementTuningRewardConfig defines a single reward function configuration for RL tuning. Each reward calculation/evaluation consists of two stages: stage 1: parse the part of information important from sample response via regex extract or simply take the sample response unmodified. stage 2: Call specific reward scorer to compute the reward and also output whether the sample answer is correct. While wrong answer and correct answer should get assigned different rewards, correct answers could also get assigned different rewards.", +"id": "GoogleCloudAiplatformV1beta1SingleReinforcementTuningRewardConfig", +"properties": { +"autoraterScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningAutoraterScorer", +"description": "ReinforcementTuningScoreBasedAutorater is used to score parsed responses based on score computed by autorater." +}, +"cloudRunRewardScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningCloudRunRewardScorer", +"description": "ReinforcementTuningCloudRunRewardScorer is used to score parsed responses by calling a Cloud Run service." +}, +"codeExecutionRewardScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningCodeExecutionRewardScorer", +"description": "ReinforcementTuningCodeExecutionRewardScorer is used to score parsed responses for code execution use cases." +}, +"parseResponseConfig": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningParseResponseConfig", +"description": "Defines how to parse sample response. For example, we might want to extract only text between tags and we want text between the last ` ` tags in case there are multiple such tags. We could define a regex of \"`.*(.*?)`\" to parse the sample response." +}, +"rewardName": { +"description": "A unique reward name used to identify each single reinforcement tuning reward.", +"type": "string" +}, +"stringMatchRewardScorer": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningStringMatchRewardScorer", +"description": "ReinforcementTuningClassificationBasedAutorater is used to score parsed responses for simple string matching use cases against reference answer without writing python code." +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Skill": { "description": "A skill.", "id": "GoogleCloudAiplatformV1beta1Skill", @@ -84391,7 +85348,7 @@ false }, "skill": { "$ref": "GoogleCloudAiplatformV1beta1Skill", -"description": "Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision", +"description": "Output only. The state of the Skill at this revision.", "readOnly": true }, "state": { @@ -87035,6 +87992,10 @@ false "$ref": "GoogleCloudAiplatformV1beta1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, +"exaAiSearch": { +"$ref": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", +"description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation" +}, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { @@ -87199,6 +88160,25 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ToolExaAiSearch": { +"description": "ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding.", +"id": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", +"properties": { +"apiKey": { +"description": "Required. The API key for ExaAiSearch.", +"type": "string" +}, +"customConfigs": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API.", +"type": "object" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", @@ -88316,6 +89296,11 @@ false "description": "Output only. Statistics for preference optimization.", "readOnly": true }, +"reinforcementTuningDataStats": { +"$ref": "GoogleCloudAiplatformV1beta1DatasetStats", +"description": "Output only. Statistics for reinforcement tuning.", +"readOnly": true +}, "supervisedTuningDataStats": { "$ref": "GoogleCloudAiplatformV1beta1SupervisedTuningDataStats", "description": "The SFT Tuning data stats." @@ -88415,6 +89400,10 @@ false "$ref": "GoogleCloudAiplatformV1beta1PreferenceOptimizationSpec", "description": "Tuning Spec for Preference Optimization." }, +"reinforcementTuningSpec": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningSpec", +"description": "Tuning Spec for Reinforcement Tuning." +}, "satisfiesPzi": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -89249,6 +90238,64 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardRequest": { +"description": "Request message for GenAiTuningService.ValidateReinforcementTuningReward.", +"id": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardRequest", +"properties": { +"compositeRewardConfig": { +"$ref": "GoogleCloudAiplatformV1beta1CompositeReinforcementTuningRewardConfig", +"description": "Optional. Composite reward function configuration for reinforcement tuning." +}, +"example": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningExample", +"description": "Required. The example to validate the reward configuration." +}, +"sampleResponse": { +"$ref": "GoogleCloudAiplatformV1beta1Content", +"description": "Required. The sample response for validating the reward configuration." +}, +"singleRewardConfig": { +"$ref": "GoogleCloudAiplatformV1beta1SingleReinforcementTuningRewardConfig", +"description": "Optional. Single Reward function configuration for reinforcement tuning." +} +}, +"type": "object" +}, +"GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardResponse": { +"description": "Response message for GenAiTuningService.ValidateReinforcementTuningReward.", +"id": "GoogleCloudAiplatformV1beta1ValidateReinforcementTuningRewardResponse", +"properties": { +"error": { +"description": "Output only. In case of an error, this field will be populated with a detailed error message to help with debugging.", +"readOnly": true, +"type": "string" +}, +"overallReward": { +"description": "Output only. The overall weighted reward. For a `CompositeReinforcementTuningRewardConfig`, this is the weighted average of all rewards. For a `SingleReinforcementTuningRewardConfig`, this will be the value of the single reward.", +"format": "float", +"readOnly": true, +"type": "number" +}, +"rewardDetails": { +"additionalProperties": { +"format": "float", +"type": "number" +}, +"deprecated": true, +"description": "Output only. Deprecated: Use `reward_info_details` instead. A map from reward name to the calculated reward for the reward function. This field will only be populated when a `CompositeReinforcementTuningRewardConfig` is provided in the request. It will not be set for a `SingleReinforcementTuningRewardConfig`.", +"readOnly": true, +"type": "object" +}, +"rewardInfoDetails": { +"additionalProperties": { +"$ref": "GoogleCloudAiplatformV1beta1ReinforcementTuningRewardInfo" +}, +"description": "A map from reward name to reward info.", +"type": "object" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1Value": { "description": "Value is the value of the field.", "id": "GoogleCloudAiplatformV1beta1Value", diff --git a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json index 72b5098011..d40aa42445 100644 --- a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json @@ -423,7 +423,7 @@ } } }, -"revision": "20260427", +"revision": "20260525", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { "AbuseDetected": { @@ -1852,6 +1852,18 @@ "description": "Common alert information about violated rules that are configured by Google Workspace administrators.", "id": "RuleViolationInfo", "properties": { +"agentType": { +"description": "Optional. Agent type that triggered the rule.", +"enum": [ +"AGENT_TYPE_UNSPECIFIED", +"STUDIO" +], +"enumDescriptions": [ +"Unspecified agent type.", +"Studio agent type." +], +"type": "string" +}, "dataSource": { "description": "Source of the data.", "enum": [ @@ -1995,7 +2007,8 @@ "CHROME_PAGE_PRINT", "CHROME_URL_VISITED", "CHROMEOS_FILE_TRANSFER", -"GEMINI_ACCESS" +"GEMINI_ACCESS", +"AGENT_EXECUTION" ], "enumDescriptions": [ "Trigger is unspecified.", @@ -2009,7 +2022,8 @@ "A page is being printed by Chrome.", "A URL is visited within Chrome.", "A file being transferred (copy or moved) between different file systems on ChromeOS.", -"Gemini access." +"Gemini access.", +"Agent execution." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/alloydb.v1.json b/googleapiclient/discovery_cache/documents/alloydb.v1.json index 792b87c303..7b1fd7dc33 100644 --- a/googleapiclient/discovery_cache/documents/alloydb.v1.json +++ b/googleapiclient/discovery_cache/documents/alloydb.v1.json @@ -1879,7 +1879,7 @@ } } }, -"revision": "20260507", +"revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5280,9 +5280,17 @@ false "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { -"description": "Common model for database resource instance metadata. Next ID: 32", +"description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { +"additionalMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Field to ingest additional metadata whichd does not support proto format.", +"type": "object" +}, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5436,6 +5444,18 @@ false ], "type": "string" }, +"internalAdditionalMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Field to ingest additional metadata which support proto format.", +"type": "object" +}, +"ipAddress": { +"$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"description": "Optional. Private and public IP address of the resource." +}, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6098,6 +6118,21 @@ false }, "type": "object" }, +"StorageDatabasecenterPartnerapiV1mainIpAddress": { +"description": "Used to send IP address information for a database resource.", +"id": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"properties": { +"privateIp": { +"description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", +"type": "string" +}, +"publicIp": { +"description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", +"type": "string" +} +}, +"type": "object" +}, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -6502,6 +6537,7 @@ false "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", +"ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -6528,6 +6564,7 @@ false, false, false, false, +false, false ], "enumDescriptions": [ @@ -6544,6 +6581,7 @@ false "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", +"Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/googleapiclient/discovery_cache/documents/alloydb.v1alpha.json b/googleapiclient/discovery_cache/documents/alloydb.v1alpha.json index ef83fd2871..7c6072f3d9 100644 --- a/googleapiclient/discovery_cache/documents/alloydb.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/alloydb.v1alpha.json @@ -2086,7 +2086,7 @@ } } }, -"revision": "20260507", +"revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5830,9 +5830,17 @@ false "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { -"description": "Common model for database resource instance metadata. Next ID: 32", +"description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { +"additionalMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Field to ingest additional metadata whichd does not support proto format.", +"type": "object" +}, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5986,6 +5994,18 @@ false ], "type": "string" }, +"internalAdditionalMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Field to ingest additional metadata which support proto format.", +"type": "object" +}, +"ipAddress": { +"$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"description": "Optional. Private and public IP address of the resource." +}, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6648,6 +6668,21 @@ false }, "type": "object" }, +"StorageDatabasecenterPartnerapiV1mainIpAddress": { +"description": "Used to send IP address information for a database resource.", +"id": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"properties": { +"privateIp": { +"description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", +"type": "string" +}, +"publicIp": { +"description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", +"type": "string" +} +}, +"type": "object" +}, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -7052,6 +7087,7 @@ false "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", +"ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -7078,6 +7114,7 @@ false, false, false, false, +false, false ], "enumDescriptions": [ @@ -7094,6 +7131,7 @@ false "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", +"Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/googleapiclient/discovery_cache/documents/alloydb.v1beta.json b/googleapiclient/discovery_cache/documents/alloydb.v1beta.json index ce62bb747c..c742683bc2 100644 --- a/googleapiclient/discovery_cache/documents/alloydb.v1beta.json +++ b/googleapiclient/discovery_cache/documents/alloydb.v1beta.json @@ -2083,7 +2083,7 @@ } } }, -"revision": "20260507", +"revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5806,9 +5806,17 @@ false "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { -"description": "Common model for database resource instance metadata. Next ID: 32", +"description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { +"additionalMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Field to ingest additional metadata whichd does not support proto format.", +"type": "object" +}, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5962,6 +5970,18 @@ false ], "type": "string" }, +"internalAdditionalMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Field to ingest additional metadata which support proto format.", +"type": "object" +}, +"ipAddress": { +"$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"description": "Optional. Private and public IP address of the resource." +}, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6624,6 +6644,21 @@ false }, "type": "object" }, +"StorageDatabasecenterPartnerapiV1mainIpAddress": { +"description": "Used to send IP address information for a database resource.", +"id": "StorageDatabasecenterPartnerapiV1mainIpAddress", +"properties": { +"privateIp": { +"description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", +"type": "string" +}, +"publicIp": { +"description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", +"type": "string" +} +}, +"type": "object" +}, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -7028,6 +7063,7 @@ false "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", +"ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -7054,6 +7090,7 @@ false, false, false, false, +false, false ], "enumDescriptions": [ @@ -7070,6 +7107,7 @@ false "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", +"Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json index 74e0f8a416..9e202a75fa 100644 --- a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json @@ -1265,7 +1265,7 @@ } } }, -"revision": "20260507", +"revision": "20260521", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -2370,12 +2370,21 @@ false "type": "string" }, "signingKeyCertFingerprints": { -"description": "The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number.", +"deprecated": true, +"description": "Deprecated. Use signingKeyCerts instead. The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number.", "items": { "type": "string" }, "type": "array" }, +"signingKeyCerts": { +"description": "Output only. Signing key certificates of the app.", +"items": { +"$ref": "ApplicationSigningKeyCert" +}, +"readOnly": true, +"type": "array" +}, "state": { "description": "Application state.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json index 5f91b8be2e..4a68b21e94 100644 --- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json +++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json @@ -4843,7 +4843,8 @@ ] }, "cancel": { -"description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.", +"deprecated": true, +"description": "Deprecated: Use purchases.subscriptionsv2.cancel instead. Cancels a user's subscription purchase. The subscription remains valid until its expiration time. Newer version is available at purchases.subscriptionsv2.cancel for better client library support.", "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.cancel", @@ -4878,7 +4879,8 @@ ] }, "defer": { -"description": "Defers a user's subscription purchase until a specified future expiration time.", +"deprecated": true, +"description": "Deprecated: Use purchases.subscriptionsv2.defer instead. Defers a user's subscription purchase until a specified future expiration time.", "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.defer", @@ -5637,7 +5639,7 @@ } } }, -"revision": "20260511", +"revision": "20260528", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -8092,7 +8094,7 @@ "type": "object" }, "GeneratedApksPerSigningKey": { -"description": "Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. Next ID: 10", +"description": "Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.", "id": "GeneratedApksPerSigningKey", "properties": { "certificateSha256Hash": { @@ -8555,6 +8557,17 @@ false }, "type": "object" }, +"InGracePeriodStateContext": { +"description": "Additional context around subscriptions in IN_GRACE_PERIOD state.", +"id": "InGracePeriodStateContext", +"properties": { +"renewalDeclined": { +"$ref": "RenewalDeclinedContext", +"description": "Optional. The payment for the renewal was declined." +} +}, +"type": "object" +}, "InappproductsBatchDeleteRequest": { "description": "Request to delete multiple in-app products.", "id": "InappproductsBatchDeleteRequest", @@ -9469,6 +9482,17 @@ false }, "type": "object" }, +"OnHoldStateContext": { +"description": "Additional context around subscriptions in ON_HOLD state.", +"id": "OnHoldStateContext", +"properties": { +"renewalDeclined": { +"$ref": "RenewalDeclinedContext", +"description": "Optional. The payment for the renewal was declined." +} +}, +"type": "object" +}, "OneTimeCode": { "description": "A single use promotion code.", "id": "OneTimeCode", @@ -11172,6 +11196,17 @@ false }, "type": "object" }, +"RenewalDeclinedContext": { +"description": "Context related to renewal declined scenario.", +"id": "RenewalDeclinedContext", +"properties": { +"pendingOrderId": { +"description": "Required. The ID of the pending or failed order causing the state.", +"type": "string" +} +}, +"type": "object" +}, "RentOfferDetails": { "description": "Offer details information related to a rental line item.", "id": "RentOfferDetails", @@ -11636,7 +11671,8 @@ false "type": "string" }, "offerPhase": { -"description": "The pricing phase for the billing period funded by this order. Deprecated. Use offer_phase_details instead.", +"deprecated": true, +"description": "Deprecated: Use offer_phase_details instead. The pricing phase for the billing period funded by this order.", "enum": [ "OFFER_PHASE_UNSPECIFIED", "BASE", @@ -11872,7 +11908,8 @@ false "type": "object" }, "SubscriptionPurchase": { -"description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.", +"deprecated": true, +"description": "Deprecated: Use SubscriptionPurchaseV2 instead. A SubscriptionPurchase resource indicates the status of a user's subscription purchase.", "id": "SubscriptionPurchase", "properties": { "acknowledgementState": { @@ -12086,6 +12123,10 @@ false "$ref": "ExternalAccountIdentifiers", "description": "User account identifier in the third-party service." }, +"inGracePeriodStateContext": { +"$ref": "InGracePeriodStateContext", +"description": "Optional. Additional context around subscriptions in IN_GRACE_PERIOD state. Only present if the subscription currently has subscription_state SUBSCRIPTION_STATE_IN_GRACE_PERIOD." +}, "kind": { "description": "This kind represents a SubscriptionPurchaseV2 object in the androidpublisher service.", "type": "string" @@ -12106,6 +12147,10 @@ false "description": "The purchase token of the old subscription if this subscription is one of the following: * Re-signup of a canceled but non-lapsed subscription * Upgrade/downgrade from a previous subscription. * Convert from prepaid to auto renewing subscription. * Convert from an auto renewing subscription to prepaid. * Topup a prepaid subscription.", "type": "string" }, +"onHoldStateContext": { +"$ref": "OnHoldStateContext", +"description": "Optional. Additional context around subscriptions in ON_HOLD state. Only present if the subscription currently has subscription_state SUBSCRIPTION_STATE_ON_HOLD." +}, "outOfAppPurchaseContext": { "$ref": "OutOfAppPurchaseContext", "description": "Additional context for out of app purchases. This information is only present for re-subscription purchases (subscription purchases made after the previous subscription of the same product has expired) made through the Google Play subscriptions center. This field will be removed after you acknowledge the subscription." @@ -12982,7 +13027,9 @@ false "CAN_MANAGE_APP_CONTENT_GLOBAL", "CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL", "CAN_VIEW_APP_QUALITY_GLOBAL", -"CAN_MANAGE_DEEPLINKS_GLOBAL" +"CAN_MANAGE_DEEPLINKS_GLOBAL", +"CAN_VIEW_CONNECTED_APPS_GLOBAL", +"CAN_EDIT_CONNECTED_APPS_GLOBAL" ], "enumDeprecated": [ false, @@ -13003,6 +13050,8 @@ false, false, false, false, +false, +false, false ], "enumDescriptions": [ @@ -13024,7 +13073,9 @@ false "Manage policy related pages on all apps for the developer.", "View app information and download bulk reports (read-only).", "View app quality information for all apps for the developer.", -"Manage the deep links setup for all apps for the developer." +"Manage the deep links setup for all apps for the developer.", +"Allows viewing connected apps in the Google Play Console.", +"Allows editing connected apps in the Google Play Console." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/apphub.v1.json b/googleapiclient/discovery_cache/documents/apphub.v1.json index 1965123058..a1fe1af1e1 100644 --- a/googleapiclient/discovery_cache/documents/apphub.v1.json +++ b/googleapiclient/discovery_cache/documents/apphub.v1.json @@ -281,7 +281,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -494,7 +494,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -732,7 +732,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -914,7 +914,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1486,7 +1486,7 @@ } } }, -"revision": "20260422", +"revision": "20260520", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { diff --git a/googleapiclient/discovery_cache/documents/apphub.v1alpha.json b/googleapiclient/discovery_cache/documents/apphub.v1alpha.json index f0654ab569..ea64837b72 100644 --- a/googleapiclient/discovery_cache/documents/apphub.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/apphub.v1alpha.json @@ -281,7 +281,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Boundary resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -494,7 +494,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -732,7 +732,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -914,7 +914,7 @@ "type": "string" }, "updateMask": { -"description": "Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", +"description": "Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1578,7 +1578,7 @@ } } }, -"revision": "20260422", +"revision": "20260520", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json index 844fb40e7b..61c28e8775 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json @@ -490,7 +490,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -499,7 +499,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -667,6 +667,35 @@ }, "repositories": { "methods": { +"checkPrewarmedArtifact": { +"description": "Checks an artifact streaming.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:checkPrewarmedArtifact", +"httpMethod": "POST", +"id": "artifactregistry.projects.locations.repositories.checkPrewarmedArtifact", +"parameterOrder": [ +"repository" +], +"parameters": { +"repository": { +"description": "Required. The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+repository}:checkPrewarmedArtifact", +"request": { +"$ref": "CheckPrewarmedArtifactRequest" +}, +"response": { +"$ref": "CheckPrewarmedArtifactResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, "create": { "description": "Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", @@ -892,6 +921,64 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"prewarmArtifact": { +"description": "Prewarms an artifact for streaming.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:prewarmArtifact", +"httpMethod": "POST", +"id": "artifactregistry.projects.locations.repositories.prewarmArtifact", +"parameterOrder": [ +"repository" +], +"parameters": { +"repository": { +"description": "Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+repository}:prewarmArtifact", +"request": { +"$ref": "PrewarmArtifactRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, +"removePrewarmedArtifact": { +"description": "Removes an artifact from streaming.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:removePrewarmedArtifact", +"httpMethod": "POST", +"id": "artifactregistry.projects.locations.repositories.removePrewarmedArtifact", +"parameterOrder": [ +"repository" +], +"parameters": { +"repository": { +"description": "Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+repository}:removePrewarmedArtifact", +"request": { +"$ref": "RemovePrewarmedArtifactRequest" +}, +"response": { +"$ref": "RemovePrewarmedArtifactResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +}, "setIamPolicy": { "description": "Updates the IAM policy for a given resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", @@ -2276,6 +2363,52 @@ } } }, +"prewarmedArtifacts": { +"methods": { +"list": { +"description": "Lists all streamed artifacts in a repository.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/prewarmedArtifacts", +"httpMethod": "GET", +"id": "artifactregistry.projects.locations.repositories.prewarmedArtifacts.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter should only support The location of the prewarmed artifacts. multi-region is not supported for this field.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of prewarmed artifacts to return. Maximum page size is 1,000. Default page size is 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value returned from a previous list request, if any.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The repository of the artifact to list. Format: projects/{project}/locations/{location}/repositories/{repository}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/prewarmedArtifacts", +"response": { +"$ref": "ListPrewarmedArtifactsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/cloud-platform.read-only" +] +} +} +}, "pythonPackages": { "methods": { "get": { @@ -2581,7 +2714,7 @@ } } }, -"revision": "20260320", +"revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2761,6 +2894,36 @@ "properties": {}, "type": "object" }, +"CheckPrewarmedArtifactRequest": { +"description": "The request for checking an artifact for streaming.", +"id": "CheckPrewarmedArtifactRequest", +"properties": { +"streamLocation": { +"description": "Optional. The location of the prewarmed artifact. multi-region is not supported for this field.", +"type": "string" +}, +"tag": { +"description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", +"type": "string" +}, +"version": { +"description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, +"CheckPrewarmedArtifactResponse": { +"description": "The response for checking an artifact for streaming.", +"id": "CheckPrewarmedArtifactResponse", +"properties": { +"prewarmedArtifact": { +"$ref": "PrewarmedArtifact", +"description": "The prewarmed artifact that was checked." +} +}, +"type": "object" +}, "CleanupPolicy": { "description": "Artifact policy configuration for repository cleanup policies.", "id": "CleanupPolicy", @@ -3790,6 +3953,24 @@ }, "type": "object" }, +"ListPrewarmedArtifactsResponse": { +"description": "The response for listing artifacts for streaming.", +"id": "ListPrewarmedArtifactsResponse", +"properties": { +"nextPageToken": { +"description": "The token to retrieve the next page of prewarmed artifacts, or empty if there are no more streamings to return.", +"type": "string" +}, +"prewarmedArtifacts": { +"description": "The prewarmed artifacts.", +"items": { +"$ref": "PrewarmedArtifact" +}, +"type": "array" +} +}, +"type": "object" +}, "ListPythonPackagesResponse": { "description": "The response from listing python packages.", "id": "ListPythonPackagesResponse", @@ -4206,6 +4387,65 @@ }, "type": "object" }, +"PrewarmArtifactRequest": { +"description": "The request for prewarming an artifact for streaming.", +"id": "PrewarmArtifactRequest", +"properties": { +"force": { +"description": "Optional. If true, old artifact will be evicted to make room for the new artifact.", +"type": "boolean" +}, +"retentionDays": { +"description": "Optional. The retention days of the prewarmed artifact. If not specified, the artifact will be cached for 3 days.", +"format": "int64", +"type": "string" +}, +"streamLocation": { +"description": "Optional. The location to cache the artifact in. If not specified, the artifact will be cached in the same location as the artifact. multi-region is not supported for this field.", +"type": "string" +}, +"tag": { +"description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", +"type": "string" +}, +"version": { +"description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, +"PrewarmArtifactResponse": { +"description": "The response for prewarming an artifact for streaming.", +"id": "PrewarmArtifactResponse", +"properties": { +"prewarmedArtifact": { +"$ref": "PrewarmedArtifact", +"description": "The prewarmed artifact that was prewarmed." +} +}, +"type": "object" +}, +"PrewarmedArtifact": { +"description": "PrewarmedArtifact represents a streamed artifact.", +"id": "PrewarmedArtifact", +"properties": { +"expirationTime": { +"description": "The expiration time of the prewarmed artifact.", +"format": "google-datetime", +"type": "string" +}, +"location": { +"description": "The location of the prewarmed artifact.", +"type": "string" +}, +"uri": { +"description": "URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf", +"type": "string" +} +}, +"type": "object" +}, "ProjectConfig": { "description": "The Artifact Registry logging configurations that apply to a Project.", "id": "ProjectConfig", @@ -4370,6 +4610,36 @@ false }, "type": "object" }, +"RemovePrewarmedArtifactRequest": { +"description": "The request for removing an artifact from streaming.", +"id": "RemovePrewarmedArtifactRequest", +"properties": { +"streamLocation": { +"description": "Optional. The location of the prewarmed artifact. multi-region is not supported for this field.", +"type": "string" +}, +"tag": { +"description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", +"type": "string" +}, +"version": { +"description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, +"RemovePrewarmedArtifactResponse": { +"description": "The response for removing an artifact from streaming.", +"id": "RemovePrewarmedArtifactResponse", +"properties": { +"prewarmedArtifact": { +"$ref": "PrewarmedArtifact", +"description": "The prewarmed artifact that was removed." +} +}, +"type": "object" +}, "Repository": { "description": "A Repository for storing artifacts with a specific format.", "id": "Repository", diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json index a662bde1fa..5fe12ec1a8 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json @@ -376,7 +376,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -385,7 +385,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1182,7 +1182,7 @@ } } }, -"revision": "20260320", +"revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json index 64537a3075..fe67c1072e 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json @@ -438,7 +438,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -447,7 +447,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1450,7 +1450,7 @@ } } }, -"revision": "20260320", +"revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json index ea9a8fd673..d8fc336af9 100644 --- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json +++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json @@ -642,6 +642,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"batchAcknowledgeViolations": { +"description": "Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations:batchAcknowledgeViolations", +"httpMethod": "POST", +"id": "assuredworkloads.organizations.locations.workloads.violations.batchAcknowledgeViolations", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. The parent resource shared by all violations being acknowledged. Format: organizations/{organization}/locations/{location}/workloads/{workload}", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/violations:batchAcknowledgeViolations", +"request": { +"$ref": "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsRequest" +}, +"response": { +"$ref": "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { "description": "Retrieves Assured Workload Violation based on ID.", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}", @@ -729,7 +757,7 @@ } } }, -"revision": "20260504", +"revision": "20260601", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest": { @@ -915,6 +943,44 @@ }, "type": "object" }, +"GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsRequest": { +"description": "Request for acknowledging the violations in a batch", +"id": "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsRequest", +"properties": { +"acknowledgeType": { +"description": "Optional. Acknowledge type of specified violations.", +"enum": [ +"ACKNOWLEDGE_TYPE_UNSPECIFIED", +"SINGLE_VIOLATION", +"EXISTING_CHILD_RESOURCE_VIOLATIONS" +], +"enumDescriptions": [ +"Acknowledge type unspecified.", +"Acknowledge only the specific violation.", +"Acknowledge specified orgPolicy violation and also associated resource violations." +], +"type": "string" +}, +"comment": { +"description": "Required. Business justification explaining the need for violations acknowledgement", +"type": "string" +}, +"names": { +"description": "Required. The resource names of the Violations to acknowledge. Format for each name: organizations/{organization}/locations/{location}/workloads/{workload}/violations/{violation}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsResponse": { +"description": "Response for batch violation acknowledgement", +"id": "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsResponse", +"properties": {}, +"type": "object" +}, "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": { "description": "Operation metadata to give request details of CreateWorkload.", "id": "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata", diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json index e8c1569e6f..538107a3fd 100644 --- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json @@ -614,6 +614,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"batchAcknowledgeViolations": { +"description": "Acknowledges multiple existing violations. By acknowledging violations, users acknowledge the existence of compliance violations in their workload and decide to ignore them due to a valid business justification. Acknowledgement is a permanent operation and it cannot be reverted. This is a batch version of AcknowledgeViolation.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations:batchAcknowledgeViolations", +"httpMethod": "POST", +"id": "assuredworkloads.organizations.locations.workloads.violations.batchAcknowledgeViolations", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Optional. The parent resource shared by all violations being acknowledged. Format: organizations/{organization}/locations/{location}/workloads/{workload}", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/workloads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/violations:batchAcknowledgeViolations", +"request": { +"$ref": "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsRequest" +}, +"response": { +"$ref": "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "get": { "description": "Retrieves Assured Workload Violation based on ID.", "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/workloads/{workloadsId}/violations/{violationsId}", @@ -701,7 +729,7 @@ } } }, -"revision": "20260504", +"revision": "20260601", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1beta1AcknowledgeViolationRequest": { @@ -887,6 +915,44 @@ }, "type": "object" }, +"GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsRequest": { +"description": "Request for acknowledging the violations in a batch", +"id": "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsRequest", +"properties": { +"acknowledgeType": { +"description": "Optional. Acknowledge type of specified violations.", +"enum": [ +"ACKNOWLEDGE_TYPE_UNSPECIFIED", +"SINGLE_VIOLATION", +"EXISTING_CHILD_RESOURCE_VIOLATIONS" +], +"enumDescriptions": [ +"Acknowledge type unspecified.", +"Acknowledge only the specific violation.", +"Acknowledge specified orgPolicy violation and also associated resource violations." +], +"type": "string" +}, +"comment": { +"description": "Required. Business justification explaining the need for violations acknowledgement", +"type": "string" +}, +"names": { +"description": "Required. The resource names of the Violations to acknowledge. Format for each name: organizations/{organization}/locations/{location}/workloads/{workload}/violations/{violation}", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsResponse": { +"description": "Response for batch violation acknowledgement", +"id": "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsResponse", +"properties": {}, +"type": "object" +}, "GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata": { "description": "Operation metadata to give request details of CreateWorkload.", "id": "GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata", diff --git a/googleapiclient/discovery_cache/documents/backupdr.v1.json b/googleapiclient/discovery_cache/documents/backupdr.v1.json index ced07f7499..9c274afdab 100644 --- a/googleapiclient/discovery_cache/documents/backupdr.v1.json +++ b/googleapiclient/discovery_cache/documents/backupdr.v1.json @@ -2661,7 +2661,7 @@ } } }, -"revision": "20260510", +"revision": "20260526", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -4531,6 +4531,10 @@ "description": "Required. Target project for the Compute Engine instance.", "type": "string" }, +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the Compute Engine instance restore.", +"type": "boolean" +}, "zone": { "description": "Required. The zone of the Compute Engine instance.", "type": "string" @@ -5140,6 +5144,10 @@ "description": "Required. Target project for the disk.", "type": "string" }, +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the disk restore.", +"type": "boolean" +}, "zone": { "description": "Required. Target zone for the disk.", "type": "string" @@ -6579,6 +6587,10 @@ "type": "string" }, "type": "array" +}, +"useProjectServiceAccount": { +"description": "Optional. Whether to use the project service account for the disk restore.", +"type": "boolean" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/bigquery.v2.json b/googleapiclient/discovery_cache/documents/bigquery.v2.json index 55be493b5e..1c6c5a87dd 100644 --- a/googleapiclient/discovery_cache/documents/bigquery.v2.json +++ b/googleapiclient/discovery_cache/documents/bigquery.v2.json @@ -2390,7 +2390,7 @@ } } }, -"revision": "20260314", +"revision": "20260429", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -3607,6 +3607,20 @@ }, "type": "object" }, +"DataPolicyList": { +"description": "A list of data policy options. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column).", +"id": "DataPolicyList", +"properties": { +"dataPolicies": { +"description": "Contains a list of data policy options. At most 9 data policies are allowed per field.", +"items": { +"$ref": "DataPolicyOption" +}, +"type": "array" +} +}, +"type": "object" +}, "DataPolicyOption": { "description": "Data policy option. For more information, see [Mask data by applying data policies to a column](https://docs.cloud.google.com/bigquery/docs/column-data-masking#data-policies-on-column).", "id": "DataPolicyOption", @@ -4764,6 +4778,11 @@ "description": "Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of \"M\", \"G\", \"Mi\" and \"Gi\" (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)", "type": "string" }, +"containerRequestConcurrency": { +"description": "Optional. Maximum number of requests that a Cloud Run instance can handle concurrently. If absent or if `0`, a default concurrency is used.", +"format": "int64", +"type": "string" +}, "maxBatchingRows": { "description": "Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.", "format": "int64", @@ -4883,6 +4902,18 @@ }, "type": "object" }, +"GenAiFunctionCacheStats": { +"description": "Provides cache statistics for a GenAi function call.", +"id": "GenAiFunctionCacheStats", +"properties": { +"numCacheHitRows": { +"description": "Number of rows served from cache.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, "GenAiFunctionCostOptimizationStats": { "description": "Provides cost optimization statistics for a GenAi function call.", "id": "GenAiFunctionCostOptimizationStats", @@ -4922,6 +4953,10 @@ "description": "Provides statistics for each Ai function call within a query.", "id": "GenAiFunctionStats", "properties": { +"cacheStats": { +"$ref": "GenAiFunctionCacheStats", +"description": "Cache stats for the function." +}, "costOptimizationStats": { "$ref": "GenAiFunctionCostOptimizationStats", "description": "Cost optimization stats if applied on the rows processed by the function." @@ -7318,6 +7353,25 @@ }, "type": "object" }, +"MetadataCacheStalenessInsight": { +"description": "Column Metadata Index staleness detailed infnormation.", +"id": "MetadataCacheStalenessInsight", +"properties": { +"avgPreviousStalenessMs": { +"description": "Output only. Average column metadata index staleness of previous runs with the same query hash.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"stalenessPercentageIncrease": { +"description": "Output only. The percent increase in staleness between the current job and the average staleness of previous jobs with the same query hash.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, "MetadataCacheStatistics": { "description": "Statistics for metadata caching in queried tables.", "id": "MetadataCacheStatistics", @@ -7795,6 +7849,14 @@ }, "readOnly": true, "type": "array" +}, +"tableChangeInsights": { +"description": "Output only. Performance insights for table-level attributes that changed compared to previous runs.", +"items": { +"$ref": "TableChangeInsight" +}, +"readOnly": true, +"type": "array" } }, "type": "object" @@ -9872,6 +9934,28 @@ }, "type": "object" }, +"TableChangeInsight": { +"description": "Table-level performance insights compared to previous runs. These insights don't apply to specific query stages, rather they apply to the whole table.", +"id": "TableChangeInsight", +"properties": { +"metadataCacheNotUsedButUsedPreviously": { +"description": "Output only. True if the table's column metadata index was not used in the current job, but was used in a previous job with the same query hash.", +"readOnly": true, +"type": "boolean" +}, +"metadataCacheStalenessInsight": { +"$ref": "MetadataCacheStalenessInsight", +"description": "Output only. If present, indicates that the table's metadata column index staleness has increased significantly compared to previous jobs with the same query hash.", +"readOnly": true +}, +"tableReference": { +"$ref": "TableReference", +"description": "Output only. The table that was queried.", +"readOnly": true +} +}, +"type": "object" +}, "TableConstraints": { "description": "The TableConstraints defines the primary key and foreign key.", "id": "TableConstraints", @@ -10069,6 +10153,19 @@ "description": "Optional. Field collation can be set only when the type of field is STRING. The following values are supported: * 'und:ci': undetermined locale, case insensitive. * '': empty string. Default to case-sensitive behavior.", "type": "string" }, +"dataGovernanceTagsInfo": { +"description": "Optional. Specifies the data governance tags on this field. This field works with other column-level security fields as follows: - Precedence: If a data governance tag is attached to a column, it takes precedence over the policy tag attached to the column. However, if a data policy is attached to a column, it takes precedence over the data governance tag. - Patching behavior (how this field behaves during a `Table.patch` schema update): - Unset: If the `data_governance_tags_info` field is omitted from the update request, the existing tags on the column are preserved. - Empty Field: To clear data governance tags from a column, send the `data_governance_tags_info` field as an empty object. This will remove all tags from the column. - Updating tags: To replace existing tag, send the field with the new tag.", +"properties": { +"dataGovernanceTags": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The data governance tags added to this field are used for field-level access control. Only one data governance tag is currently supported on a field. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example \"123456789012/pii\" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example \"sensitive\". See [Tag definitions](https://cloud.google.com/iam/docs/tags-access-control#definitions) for more details. For example: \"123456789012/pii\": \"sensitive\", \"myProject/cost_center\": \"sales\"", +"type": "object" +} +}, +"type": "object" +}, "dataPolicies": { "description": "Optional. Data policies attached to this field, used for field-level access control.", "items": { @@ -10076,6 +10173,10 @@ }, "type": "array" }, +"dataPolicyList": { +"$ref": "DataPolicyList", +"description": "Optional. Specifies data policies attached to this field, used for field-level access control. When set, this will be the source of truth for data policy information." +}, "defaultValueExpression": { "description": "Optional. A SQL expression to specify the [default value] (https://cloud.google.com/bigquery/docs/default-values) for this field.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json index e05ab6a5fe..ade3c0b11e 100644 --- a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json +++ b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json @@ -1651,7 +1651,7 @@ } } }, -"revision": "20260423", +"revision": "20260601", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { @@ -1898,6 +1898,17 @@ }, "type": "object" }, +"DataplexConfiguration": { +"description": "Configuration for Dataplex destination.", +"id": "DataplexConfiguration", +"properties": { +"entryGroup": { +"description": "Required. The Dataplex Universal Catalog entry group for importing the metadata. entry_group has the format of `projects/{project_id}/locations/{region}/entryGroups/{entry_group_id}`.", +"type": "string" +} +}, +"type": "object" +}, "EmailPreferences": { "description": "Represents preferences for sending email notifications for transfer run events.", "id": "EmailPreferences", @@ -2123,6 +2134,17 @@ "properties": {}, "type": "object" }, +"MetadataDestination": { +"description": "The metadata destination of the transfer config.", +"id": "MetadataDestination", +"properties": { +"dataplexConfiguration": { +"$ref": "DataplexConfiguration", +"description": "The Dataplex Universal Catalog configuration." +} +}, +"type": "object" +}, "PartitionDetail": { "description": "Partition details related to hierarchy.", "id": "PartitionDetail", @@ -2369,6 +2391,10 @@ ], "type": "string" }, +"metadataDestination": { +"$ref": "MetadataDestination", +"description": "The metadata destination of the transfer config." +}, "name": { "description": "Identifier. The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config.", "type": "string" @@ -2613,6 +2639,11 @@ "$ref": "Status", "description": "Status of the transfer run." }, +"metadataDestination": { +"$ref": "MetadataDestination", +"description": "Output only. The metadata destination of the transfer run.", +"readOnly": true +}, "name": { "description": "Identifier. The resource name of the transfer run. Transfer run names have the form `projects/{project_id}/locations/{location}/transferConfigs/{config_id}/runs/{run_id}`. The name is ignored when creating a transfer run.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json index 5b6fd2cc98..525011c24c 100644 --- a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json +++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json @@ -3194,7 +3194,7 @@ } } }, -"revision": "20260425", +"revision": "20260514", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -3330,7 +3330,7 @@ "type": "string" }, "locations": { -"description": "Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. This field can only set for tables in Enterprise Plus instances.", +"description": "Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances.", "items": { "type": "string" }, @@ -5530,7 +5530,7 @@ "type": "object" }, "ProtoSchema": { -"description": "Represents a protobuf schema.", +"description": "Represents a collection of protobuf schemas.", "id": "ProtoSchema", "properties": { "protoDescriptors": { diff --git a/googleapiclient/discovery_cache/documents/blogger.v3.json b/googleapiclient/discovery_cache/documents/blogger.v3.json index 4f444b01ed..e9a7283016 100644 --- a/googleapiclient/discovery_cache/documents/blogger.v3.json +++ b/googleapiclient/discovery_cache/documents/blogger.v3.json @@ -1713,7 +1713,7 @@ } } }, -"revision": "20260309", +"revision": "20260521", "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { @@ -2554,6 +2554,6 @@ } }, "servicePath": "", -"title": "Blogger API", +"title": "blogger API", "version": "v3" } \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/calendar.v3.json b/googleapiclient/discovery_cache/documents/calendar.v3.json index 38ce5d4475..15f4838157 100644 --- a/googleapiclient/discovery_cache/documents/calendar.v3.json +++ b/googleapiclient/discovery_cache/documents/calendar.v3.json @@ -1890,7 +1890,7 @@ } } }, -"revision": "20260225", +"revision": "20260517", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2849,6 +2849,11 @@ "format": "int32", "type": "integer" }, +"asyncOperation": { +"default": "", +"description": "If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present.\nPossible values are: \n- \"inProgress\" - The asynchronous operation is in progress. \n- (not present) - Otherwise.", +"type": "string" +}, "comment": { "description": "The attendee's response comment. Optional.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/ces.v1.json b/googleapiclient/discovery_cache/documents/ces.v1.json index 745dcf4498..9fe777e139 100644 --- a/googleapiclient/discovery_cache/documents/ces.v1.json +++ b/googleapiclient/discovery_cache/documents/ces.v1.json @@ -1489,6 +1489,39 @@ } } }, +"message": { +"methods": { +"send": { +"description": "Sends a message to an agent.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/message:send", +"httpMethod": "POST", +"id": "ces.projects.locations.apps.message.send", +"parameterOrder": [ +"tenant" +], +"parameters": { +"tenant": { +"description": "Optional. Tenant ID, provided as a path parameter.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+tenant}/message:send", +"request": { +"$ref": "LfA2aV1SendMessageRequest" +}, +"response": { +"$ref": "LfA2aV1SendMessageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/ces", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "sessions": { "methods": { "generateChatToken": { @@ -2283,7 +2316,7 @@ } } }, -"revision": "20260506", +"revision": "20260513", "rootUrl": "https://ces.googleapis.com/", "schemas": { "Action": { @@ -2590,6 +2623,10 @@ "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", "type": "object" }, +"languageCodeVariable": { +"description": "Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used.", +"type": "string" +}, "outputVariableMapping": { "additionalProperties": { "type": "string" @@ -5349,6 +5386,343 @@ }, "type": "object" }, +"LfA2aV1Artifact": { +"description": "Artifacts represent task outputs.", +"id": "LfA2aV1Artifact", +"properties": { +"artifactId": { +"description": "Required. Unique identifier (e.g. UUID) for the artifact. It must be unique within a task.", +"type": "string" +}, +"description": { +"description": "Optional. A human readable description of the artifact.", +"type": "string" +}, +"extensions": { +"description": "The URIs of extensions that are present or contributed to this Artifact.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Metadata included with the artifact.", +"type": "object" +}, +"name": { +"description": "A human readable name for the artifact.", +"type": "string" +}, +"parts": { +"description": "Required. The content of the artifact. Must contain at least one part.", +"items": { +"$ref": "LfA2aV1Part" +}, +"type": "array" +} +}, +"type": "object" +}, +"LfA2aV1AuthenticationInfo": { +"description": "Defines authentication details, used for push notifications.", +"id": "LfA2aV1AuthenticationInfo", +"properties": { +"credentials": { +"description": "Push Notification credentials. Format depends on the scheme (e.g., token for Bearer).", +"type": "string" +}, +"scheme": { +"description": "Required. HTTP Authentication Scheme from the [IANA registry](https://www.iana.org/assignments/http-authschemes/). Examples: `Bearer`, `Basic`, `Digest`. Scheme names are case-insensitive per [RFC 9110 Section 11.1](https://www.rfc-editor.org/rfc/rfc9110#section-11.1).", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1Message": { +"description": "`Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it.", +"id": "LfA2aV1Message", +"properties": { +"contextId": { +"description": "Optional. The context id of the message. If set, the message will be associated with the given context.", +"type": "string" +}, +"extensions": { +"description": "The URIs of extensions that are present or contributed to this Message.", +"items": { +"type": "string" +}, +"type": "array" +}, +"messageId": { +"description": "Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Any metadata to provide along with the message.", +"type": "object" +}, +"parts": { +"description": "Required. Parts is the container of the message content.", +"items": { +"$ref": "LfA2aV1Part" +}, +"type": "array" +}, +"referenceTaskIds": { +"description": "A list of task IDs that this message references for additional context.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Required. Identifies the sender of the message.", +"enum": [ +"ROLE_UNSPECIFIED", +"ROLE_USER", +"ROLE_AGENT" +], +"enumDescriptions": [ +"The role is unspecified.", +"The message is from the client to the server.", +"The message is from the server to the client." +], +"type": "string" +}, +"taskId": { +"description": "Optional. The task id of the message. If set, the message will be associated with the given task.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1Part": { +"description": "`Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).", +"id": "LfA2aV1Part", +"properties": { +"data": { +"description": "Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).", +"type": "any" +}, +"filename": { +"description": "An optional `filename` for the file (e.g., \"document.pdf\").", +"type": "string" +}, +"mediaType": { +"description": "The `media_type` (MIME type) of the part content (e.g., \"text/plain\", \"application/json\", \"image/png\"). This field is available for all part types.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. metadata associated with this part.", +"type": "object" +}, +"raw": { +"description": "The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.", +"format": "byte", +"type": "string" +}, +"text": { +"description": "The string content of the `text` part.", +"type": "string" +}, +"url": { +"description": "A `url` pointing to the file's content.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1SendMessageConfiguration": { +"description": "Configuration of a send message request.", +"id": "LfA2aV1SendMessageConfiguration", +"properties": { +"acceptedOutputModes": { +"description": "A list of media types the client is prepared to accept for response parts. Agents SHOULD use this to tailor their output.", +"items": { +"type": "string" +}, +"type": "array" +}, +"historyLength": { +"description": "The maximum number of most recent messages from the task's history to retrieve in the response. An unset value means the client does not impose any limit. A value of zero is a request to not include any messages. The server MUST NOT return more messages than the provided value, but MAY apply a lower limit.", +"format": "int32", +"type": "integer" +}, +"returnImmediately": { +"description": "If `true`, the operation returns immediately after creating the task, even if processing is still in progress. If `false` (default), the operation MUST wait until the task reaches a terminal (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or interrupted (`INPUT_REQUIRED`, `AUTH_REQUIRED`) state before returning.", +"type": "boolean" +}, +"taskPushNotificationConfig": { +"$ref": "LfA2aV1TaskPushNotificationConfig", +"description": "Configuration for the agent to send push notifications for task updates. Task id should be empty when sending this configuration in a `SendMessage` request." +} +}, +"type": "object" +}, +"LfA2aV1SendMessageRequest": { +"description": "Represents a request for the `SendMessage` method.", +"id": "LfA2aV1SendMessageRequest", +"properties": { +"configuration": { +"$ref": "LfA2aV1SendMessageConfiguration", +"description": "Configuration for the send request." +}, +"message": { +"$ref": "LfA2aV1Message", +"description": "Required. The message to send to the agent." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A flexible key-value map for passing additional context or parameters.", +"type": "object" +} +}, +"type": "object" +}, +"LfA2aV1SendMessageResponse": { +"description": "Represents the response for the `SendMessage` method.", +"id": "LfA2aV1SendMessageResponse", +"properties": { +"message": { +"$ref": "LfA2aV1Message", +"description": "A message from the agent." +}, +"task": { +"$ref": "LfA2aV1Task", +"description": "The task created or updated by the message." +} +}, +"type": "object" +}, +"LfA2aV1Task": { +"description": "`Task` is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.", +"id": "LfA2aV1Task", +"properties": { +"artifacts": { +"description": "A set of output artifacts for a `Task`.", +"items": { +"$ref": "LfA2aV1Artifact" +}, +"type": "array" +}, +"contextId": { +"description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages).", +"type": "string" +}, +"history": { +"description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a `Task`.", +"items": { +"$ref": "LfA2aV1Message" +}, +"type": "array" +}, +"id": { +"description": "Required. Unique identifier (e.g. UUID) for the task, generated by the server for a new task.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.", +"type": "object" +}, +"status": { +"$ref": "LfA2aV1TaskStatus", +"description": "Required. The current status of a `Task`, including `state` and a `message`." +} +}, +"type": "object" +}, +"LfA2aV1TaskPushNotificationConfig": { +"description": "A container associating a push notification configuration with a specific task.", +"id": "LfA2aV1TaskPushNotificationConfig", +"properties": { +"authentication": { +"$ref": "LfA2aV1AuthenticationInfo", +"description": "Authentication information required to send the notification." +}, +"id": { +"description": "The push notification configuration details. A unique identifier (e.g. UUID) for this push notification configuration.", +"type": "string" +}, +"taskId": { +"description": "The ID of the task this configuration is associated with.", +"type": "string" +}, +"tenant": { +"description": "Optional. Tenant ID.", +"type": "string" +}, +"token": { +"description": "A token unique for this task or session.", +"type": "string" +}, +"url": { +"description": "Required. The URL where the notification should be sent.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1TaskStatus": { +"description": "A container for the status of a task", +"id": "LfA2aV1TaskStatus", +"properties": { +"message": { +"$ref": "LfA2aV1Message", +"description": "A message associated with the status." +}, +"state": { +"description": "Required. The current state of this task.", +"enum": [ +"TASK_STATE_UNSPECIFIED", +"TASK_STATE_SUBMITTED", +"TASK_STATE_WORKING", +"TASK_STATE_COMPLETED", +"TASK_STATE_FAILED", +"TASK_STATE_CANCELED", +"TASK_STATE_INPUT_REQUIRED", +"TASK_STATE_REJECTED", +"TASK_STATE_AUTH_REQUIRED" +], +"enumDescriptions": [ +"The task is in an unknown or indeterminate state.", +"Indicates that a task has been successfully submitted and acknowledged.", +"Indicates that a task is actively being processed by the agent.", +"Indicates that a task has finished successfully. This is a terminal state.", +"Indicates that a task has finished with an error. This is a terminal state.", +"Indicates that a task was canceled before completion. This is a terminal state.", +"Indicates that the agent requires additional user input to proceed. This is an interrupted state.", +"Indicates that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.", +"Indicates that authentication is required to proceed. This is an interrupted state." +], +"type": "string" +}, +"timestamp": { +"description": "ISO 8601 Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\"", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "ListAgentsResponse": { "description": "Response message for AgentService.ListAgents.", "id": "ListAgentsResponse", @@ -5619,11 +5993,11 @@ "properties": { "audioRecordingConfig": { "$ref": "AudioRecordingConfig", -"description": "Optional. Configuration for how audio interactions should be recorded." +"description": "Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig." }, "bigqueryExportSettings": { "$ref": "BigQueryExportSettings", -"description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." +"description": "Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig." }, "cloudLoggingSettings": { "$ref": "CloudLoggingSettings", @@ -5647,7 +6021,7 @@ }, "unredactedAudioRecordingConfig": { "$ref": "AudioRecordingConfig", -"description": "Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes." +"description": "Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes." } }, "type": "object" @@ -5679,6 +6053,10 @@ "description": "Required. The name of the MCP tool.", "type": "string" }, +"nameOverride": { +"description": "Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override.", +"type": "string" +}, "outputSchema": { "$ref": "Schema", "description": "Optional. The schema of the output arguments of the MCP tool." @@ -5691,6 +6069,23 @@ "$ref": "ServiceDirectoryConfig", "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." }, +"state": { +"description": "Output only. The dynamic availability state of the tool on the external server.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"STALE" +], +"enumDescriptions": [ +"Default state.", +"The tool is available and actively offered by the server.", +"The tool is configured or pinned, but currently not offered by the server.", +"The tool exists on the server, but does not match the version on the server." +], +"readOnly": true, +"type": "string" +}, "tlsConfig": { "$ref": "TlsConfig", "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." @@ -5698,6 +6093,52 @@ }, "type": "object" }, +"McpToolDefinition": { +"description": "Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden.", +"id": "McpToolDefinition", +"properties": { +"description": { +"description": "Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`.", +"readOnly": true, +"type": "string" +}, +"inputSchema": { +"$ref": "Schema", +"description": "Output only. The schema of the input arguments of the MCP tool.", +"readOnly": true +}, +"outputSchema": { +"$ref": "Schema", +"description": "Output only. The schema of the output arguments of the MCP tool.", +"readOnly": true +} +}, +"type": "object" +}, +"McpToolOverride": { +"description": "Overrides associated with a given tool in a Toolset. This enables \"pinning\" or \"overriding\" of tool definitions from the external dynamic server.", +"id": "McpToolOverride", +"properties": { +"descriptionOverride": { +"description": "Optional. If present, this tool uses this description instead of the original description from the server.", +"type": "string" +}, +"nameOverride": { +"description": "Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools.", +"type": "string" +}, +"snapshot": { +"$ref": "McpToolDefinition", +"description": "Output only. If present, this tool is \"Pinned\" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present.", +"readOnly": true +}, +"tool": { +"description": "Required. The original name of the tool as it is emitted by the MCP server.", +"type": "string" +} +}, +"type": "object" +}, "McpToolset": { "description": "A toolset that contains a list of tools that are offered by the MCP server.", "id": "McpToolset", @@ -5724,6 +6165,13 @@ "tlsConfig": { "$ref": "TlsConfig", "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." +}, +"toolOverrides": { +"description": "Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic.", +"items": { +"$ref": "McpToolOverride" +}, +"type": "array" } }, "type": "object" @@ -6069,6 +6517,10 @@ "pythonCode": { "description": "Optional. The Python code to execute for the tool.", "type": "string" +}, +"serviceDirectoryConfig": { +"$ref": "ServiceDirectoryConfig", +"description": "Optional. Service Directory configuration for the tool." } }, "type": "object" @@ -6159,6 +6611,10 @@ "description": "Request message for ToolService.RetrieveTools.", "id": "RetrieveToolsRequest", "properties": { +"bypassPersistenceConfig": { +"description": "Optional. If true, the returned tools will contain raw descriptions and schemas directly from the server, bypassing any stored persistence configurations (overrides/snapshots).", +"type": "boolean" +}, "toolIds": { "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", "items": { diff --git a/googleapiclient/discovery_cache/documents/ces.v1beta.json b/googleapiclient/discovery_cache/documents/ces.v1beta.json index f53dcb45e4..a736e1ebb3 100644 --- a/googleapiclient/discovery_cache/documents/ces.v1beta.json +++ b/googleapiclient/discovery_cache/documents/ces.v1beta.json @@ -2571,6 +2571,39 @@ } } }, +"message": { +"methods": { +"send": { +"description": "Sends a message to an agent.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/message:send", +"httpMethod": "POST", +"id": "ces.projects.locations.apps.message.send", +"parameterOrder": [ +"tenant" +], +"parameters": { +"tenant": { +"description": "Optional. Tenant ID, provided as a path parameter.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/apps/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+tenant}/message:send", +"request": { +"$ref": "LfA2aV1SendMessageRequest" +}, +"response": { +"$ref": "LfA2aV1SendMessageResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/ces", +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "scheduledEvaluationRuns": { "methods": { "create": { @@ -3542,7 +3575,7 @@ } } }, -"revision": "20260506", +"revision": "20260513", "rootUrl": "https://ces.googleapis.com/", "schemas": { "Action": { @@ -3849,6 +3882,10 @@ "description": "Optional. The mapping of the app variables names to the Dialogflow session parameters names to be sent to the Dialogflow agent as input.", "type": "object" }, +"languageCodeVariable": { +"description": "Optional. The name of the variable that contains the language code to be used for the Dialogflow session. If unspecified, the default language code of the Dialogflow agent will be used.", +"type": "string" +}, "outputVariableMapping": { "additionalProperties": { "type": "string" @@ -6167,6 +6204,11 @@ "description": "Output only. The session ID for the conversation that caused the error.", "readOnly": true, "type": "string" +}, +"userFacingErrorMessage": { +"description": "Output only. The user facing error message.", +"readOnly": true, +"type": "string" } }, "type": "object" @@ -7558,6 +7600,11 @@ "description": "Identifier. The unique identifier of the evaluation run. Format: `projects/{project}/locations/{location}/apps/{app}/evaluationRuns/{evaluationRun}`", "type": "string" }, +"operation": { +"description": "Output only. The operation that created this evaluation run. Format: `projects/{project}/locations/{location}/operations/{operation}`", +"readOnly": true, +"type": "string" +}, "optimizationConfig": { "$ref": "OptimizationConfig", "description": "Optional. Configuration for running the optimization step after the evaluation run. If not set, the optimization step will not be run." @@ -9499,6 +9546,343 @@ }, "type": "object" }, +"LfA2aV1Artifact": { +"description": "Artifacts represent task outputs.", +"id": "LfA2aV1Artifact", +"properties": { +"artifactId": { +"description": "Required. Unique identifier (e.g. UUID) for the artifact. It must be unique within a task.", +"type": "string" +}, +"description": { +"description": "Optional. A human readable description of the artifact.", +"type": "string" +}, +"extensions": { +"description": "The URIs of extensions that are present or contributed to this Artifact.", +"items": { +"type": "string" +}, +"type": "array" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Metadata included with the artifact.", +"type": "object" +}, +"name": { +"description": "A human readable name for the artifact.", +"type": "string" +}, +"parts": { +"description": "Required. The content of the artifact. Must contain at least one part.", +"items": { +"$ref": "LfA2aV1Part" +}, +"type": "array" +} +}, +"type": "object" +}, +"LfA2aV1AuthenticationInfo": { +"description": "Defines authentication details, used for push notifications.", +"id": "LfA2aV1AuthenticationInfo", +"properties": { +"credentials": { +"description": "Push Notification credentials. Format depends on the scheme (e.g., token for Bearer).", +"type": "string" +}, +"scheme": { +"description": "Required. HTTP Authentication Scheme from the [IANA registry](https://www.iana.org/assignments/http-authschemes/). Examples: `Bearer`, `Basic`, `Digest`. Scheme names are case-insensitive per [RFC 9110 Section 11.1](https://www.rfc-editor.org/rfc/rfc9110#section-11.1).", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1Message": { +"description": "`Message` is one unit of communication between client and server. It can be associated with a context and/or a task. For server messages, `context_id` must be provided, and `task_id` only if a task was created. For client messages, both fields are optional, with the caveat that if both are provided, they have to match (the `context_id` has to be the one that is set on the task). If only `task_id` is provided, the server will infer `context_id` from it.", +"id": "LfA2aV1Message", +"properties": { +"contextId": { +"description": "Optional. The context id of the message. If set, the message will be associated with the given context.", +"type": "string" +}, +"extensions": { +"description": "The URIs of extensions that are present or contributed to this Message.", +"items": { +"type": "string" +}, +"type": "array" +}, +"messageId": { +"description": "Required. The unique identifier (e.g. UUID) of the message. This is created by the message creator.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. Any metadata to provide along with the message.", +"type": "object" +}, +"parts": { +"description": "Required. Parts is the container of the message content.", +"items": { +"$ref": "LfA2aV1Part" +}, +"type": "array" +}, +"referenceTaskIds": { +"description": "A list of task IDs that this message references for additional context.", +"items": { +"type": "string" +}, +"type": "array" +}, +"role": { +"description": "Required. Identifies the sender of the message.", +"enum": [ +"ROLE_UNSPECIFIED", +"ROLE_USER", +"ROLE_AGENT" +], +"enumDescriptions": [ +"The role is unspecified.", +"The message is from the client to the server.", +"The message is from the server to the client." +], +"type": "string" +}, +"taskId": { +"description": "Optional. The task id of the message. If set, the message will be associated with the given task.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1Part": { +"description": "`Part` represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).", +"id": "LfA2aV1Part", +"properties": { +"data": { +"description": "Arbitrary structured `data` as a JSON value (object, array, string, number, boolean, or null).", +"type": "any" +}, +"filename": { +"description": "An optional `filename` for the file (e.g., \"document.pdf\").", +"type": "string" +}, +"mediaType": { +"description": "The `media_type` (MIME type) of the part content (e.g., \"text/plain\", \"application/json\", \"image/png\"). This field is available for all part types.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. metadata associated with this part.", +"type": "object" +}, +"raw": { +"description": "The `raw` byte content of a file. In JSON serialization, this is encoded as a base64 string.", +"format": "byte", +"type": "string" +}, +"text": { +"description": "The string content of the `text` part.", +"type": "string" +}, +"url": { +"description": "A `url` pointing to the file's content.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1SendMessageConfiguration": { +"description": "Configuration of a send message request.", +"id": "LfA2aV1SendMessageConfiguration", +"properties": { +"acceptedOutputModes": { +"description": "A list of media types the client is prepared to accept for response parts. Agents SHOULD use this to tailor their output.", +"items": { +"type": "string" +}, +"type": "array" +}, +"historyLength": { +"description": "The maximum number of most recent messages from the task's history to retrieve in the response. An unset value means the client does not impose any limit. A value of zero is a request to not include any messages. The server MUST NOT return more messages than the provided value, but MAY apply a lower limit.", +"format": "int32", +"type": "integer" +}, +"returnImmediately": { +"description": "If `true`, the operation returns immediately after creating the task, even if processing is still in progress. If `false` (default), the operation MUST wait until the task reaches a terminal (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or interrupted (`INPUT_REQUIRED`, `AUTH_REQUIRED`) state before returning.", +"type": "boolean" +}, +"taskPushNotificationConfig": { +"$ref": "LfA2aV1TaskPushNotificationConfig", +"description": "Configuration for the agent to send push notifications for task updates. Task id should be empty when sending this configuration in a `SendMessage` request." +} +}, +"type": "object" +}, +"LfA2aV1SendMessageRequest": { +"description": "Represents a request for the `SendMessage` method.", +"id": "LfA2aV1SendMessageRequest", +"properties": { +"configuration": { +"$ref": "LfA2aV1SendMessageConfiguration", +"description": "Configuration for the send request." +}, +"message": { +"$ref": "LfA2aV1Message", +"description": "Required. The message to send to the agent." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "A flexible key-value map for passing additional context or parameters.", +"type": "object" +} +}, +"type": "object" +}, +"LfA2aV1SendMessageResponse": { +"description": "Represents the response for the `SendMessage` method.", +"id": "LfA2aV1SendMessageResponse", +"properties": { +"message": { +"$ref": "LfA2aV1Message", +"description": "A message from the agent." +}, +"task": { +"$ref": "LfA2aV1Task", +"description": "The task created or updated by the message." +} +}, +"type": "object" +}, +"LfA2aV1Task": { +"description": "`Task` is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.", +"id": "LfA2aV1Task", +"properties": { +"artifacts": { +"description": "A set of output artifacts for a `Task`.", +"items": { +"$ref": "LfA2aV1Artifact" +}, +"type": "array" +}, +"contextId": { +"description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages).", +"type": "string" +}, +"history": { +"description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a `Task`.", +"items": { +"$ref": "LfA2aV1Message" +}, +"type": "array" +}, +"id": { +"description": "Required. Unique identifier (e.g. UUID) for the task, generated by the server for a new task.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task.", +"type": "object" +}, +"status": { +"$ref": "LfA2aV1TaskStatus", +"description": "Required. The current status of a `Task`, including `state` and a `message`." +} +}, +"type": "object" +}, +"LfA2aV1TaskPushNotificationConfig": { +"description": "A container associating a push notification configuration with a specific task.", +"id": "LfA2aV1TaskPushNotificationConfig", +"properties": { +"authentication": { +"$ref": "LfA2aV1AuthenticationInfo", +"description": "Authentication information required to send the notification." +}, +"id": { +"description": "The push notification configuration details. A unique identifier (e.g. UUID) for this push notification configuration.", +"type": "string" +}, +"taskId": { +"description": "The ID of the task this configuration is associated with.", +"type": "string" +}, +"tenant": { +"description": "Optional. Tenant ID.", +"type": "string" +}, +"token": { +"description": "A token unique for this task or session.", +"type": "string" +}, +"url": { +"description": "Required. The URL where the notification should be sent.", +"type": "string" +} +}, +"type": "object" +}, +"LfA2aV1TaskStatus": { +"description": "A container for the status of a task", +"id": "LfA2aV1TaskStatus", +"properties": { +"message": { +"$ref": "LfA2aV1Message", +"description": "A message associated with the status." +}, +"state": { +"description": "Required. The current state of this task.", +"enum": [ +"TASK_STATE_UNSPECIFIED", +"TASK_STATE_SUBMITTED", +"TASK_STATE_WORKING", +"TASK_STATE_COMPLETED", +"TASK_STATE_FAILED", +"TASK_STATE_CANCELED", +"TASK_STATE_INPUT_REQUIRED", +"TASK_STATE_REJECTED", +"TASK_STATE_AUTH_REQUIRED" +], +"enumDescriptions": [ +"The task is in an unknown or indeterminate state.", +"Indicates that a task has been successfully submitted and acknowledged.", +"Indicates that a task is actively being processed by the agent.", +"Indicates that a task has finished successfully. This is a terminal state.", +"Indicates that a task has finished with an error. This is a terminal state.", +"Indicates that a task was canceled before completion. This is a terminal state.", +"Indicates that the agent requires additional user input to proceed. This is an interrupted state.", +"Indicates that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.", +"Indicates that authentication is required to proceed. This is an interrupted state." +], +"type": "string" +}, +"timestamp": { +"description": "ISO 8601 Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\"", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "ListAgentsResponse": { "description": "Response message for AgentService.ListAgents.", "id": "ListAgentsResponse", @@ -9877,11 +10261,11 @@ "properties": { "audioRecordingConfig": { "$ref": "AudioRecordingConfig", -"description": "Optional. Configuration for how audio interactions should be recorded." +"description": "Optional. Configuration for how audio interactions should be recorded. The audio is subject to redaction as configured in RedactionConfig." }, "bigqueryExportSettings": { "$ref": "BigQueryExportSettings", -"description": "Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled." +"description": "Optional. Configures the BigQuery export behaviors for the app. The conversation data is subject to redaction as configured in RedactionConfig." }, "cloudLoggingSettings": { "$ref": "CloudLoggingSettings", @@ -9905,7 +10289,7 @@ }, "unredactedAudioRecordingConfig": { "$ref": "AudioRecordingConfig", -"description": "Optional. Configures recording of unredacted audio. Use this to maintain a raw backup with restricted access when audio redaction is enabled, typically for auditing or monitoring purposes." +"description": "Optional. Configures an additional recording of unredacted audio. This can be used to maintain a raw audio copy when audio redaction is enabled, typically for auditing or monitoring purposes." } }, "type": "object" @@ -9937,6 +10321,10 @@ "description": "Required. The name of the MCP tool.", "type": "string" }, +"nameOverride": { +"description": "Optional. The name override of the MCP tool. This is populated if the name was overridden by a Toolset override.", +"type": "string" +}, "outputSchema": { "$ref": "Schema", "description": "Optional. The schema of the output arguments of the MCP tool." @@ -9949,6 +10337,23 @@ "$ref": "ServiceDirectoryConfig", "description": "Optional. Service Directory configuration for VPC-SC, used to resolve service names within a perimeter." }, +"state": { +"description": "Output only. The dynamic availability state of the tool on the external server.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVE", +"INACTIVE", +"STALE" +], +"enumDescriptions": [ +"Default state.", +"The tool is available and actively offered by the server.", +"The tool is configured or pinned, but currently not offered by the server.", +"The tool exists on the server, but does not match the version on the server." +], +"readOnly": true, +"type": "string" +}, "tlsConfig": { "$ref": "TlsConfig", "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." @@ -9956,6 +10361,52 @@ }, "type": "object" }, +"McpToolDefinition": { +"description": "Container for a tool's core definition elements that are snapshot. Schemas in the snapshot are used as-is and cannot be overridden.", +"id": "McpToolDefinition", +"properties": { +"description": { +"description": "Output only. The description of the MCP tool. This can be overridden by `description_override` in `McpToolOverride`.", +"readOnly": true, +"type": "string" +}, +"inputSchema": { +"$ref": "Schema", +"description": "Output only. The schema of the input arguments of the MCP tool.", +"readOnly": true +}, +"outputSchema": { +"$ref": "Schema", +"description": "Output only. The schema of the output arguments of the MCP tool.", +"readOnly": true +} +}, +"type": "object" +}, +"McpToolOverride": { +"description": "Overrides associated with a given tool in a Toolset. This enables \"pinning\" or \"overriding\" of tool definitions from the external dynamic server.", +"id": "McpToolOverride", +"properties": { +"descriptionOverride": { +"description": "Optional. If present, this tool uses this description instead of the original description from the server.", +"type": "string" +}, +"nameOverride": { +"description": "Optional. If present, this tool uses this name in the Agent instead of the original name. This is primarily used as an alias if the MCP server offers poorly named tools.", +"type": "string" +}, +"snapshot": { +"$ref": "McpToolDefinition", +"description": "Output only. If present, this tool is \"Pinned\" and uses the snapshot values as fallbacks if the server becomes temporarily unavailable or if no Override is present.", +"readOnly": true +}, +"tool": { +"description": "Required. The original name of the tool as it is emitted by the MCP server.", +"type": "string" +} +}, +"type": "object" +}, "McpToolset": { "description": "A toolset that contains a list of tools that are offered by the MCP server.", "id": "McpToolset", @@ -9982,6 +10433,13 @@ "tlsConfig": { "$ref": "TlsConfig", "description": "Optional. The TLS configuration. Includes the custom server certificates that the client should trust." +}, +"toolOverrides": { +"description": "Optional. Overrides for individual tools within this toolset. This allows overriding specific details like descriptions, names, or pinning the tools' states so they aren't fully dynamic.", +"items": { +"$ref": "McpToolOverride" +}, +"type": "array" } }, "type": "object" @@ -10400,6 +10858,10 @@ "pythonCode": { "description": "Optional. The Python code to execute for the tool.", "type": "string" +}, +"serviceDirectoryConfig": { +"$ref": "ServiceDirectoryConfig", +"description": "Optional. Service Directory configuration for the tool." } }, "type": "object" @@ -10556,6 +11018,10 @@ "description": "Request message for ToolService.RetrieveTools.", "id": "RetrieveToolsRequest", "properties": { +"bypassPersistenceConfig": { +"description": "Optional. If true, the returned tools will contain raw descriptions and schemas directly from the server, bypassing any stored persistence configurations (overrides/snapshots).", +"type": "boolean" +}, "toolIds": { "description": "Optional. The identifiers of the tools to retrieve from the toolset. If empty, all tools in the toolset will be returned.", "items": { diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json index 6d66361a1d..afe86903d2 100644 --- a/googleapiclient/discovery_cache/documents/chat.v1.json +++ b/googleapiclient/discovery_cache/documents/chat.v1.json @@ -964,7 +964,7 @@ "enumDescriptions": [ "Default behavior. Notification behavior is similar to when the human user sends the message using the Chat UI: no notification is sent to the human sender.", "Force notify recipients. This bypasses users' space notification settings and [Chat Do Not Disturb settings](https://support.google.com/chat/answer/9093489). This option does not bypass device-level Do Not Disturb settings. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", -"Silence the notification as if the recipients have [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489) enabled or have muted the space. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)." +"Do not notify recipients, and do not mark the message as unread. This behaves similarly to the user muting the conversation or enabling [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489). Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)." ], "location": "query", "type": "string" @@ -1849,7 +1849,7 @@ } } }, -"revision": "20260510", +"revision": "20260530", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -4895,6 +4895,23 @@ "description": "Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space.", "id": "Membership", "properties": { +"affiliation": { +"description": "Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`.", +"enum": [ +"AFFILIATION_UNSPECIFIED", +"INTERNAL", +"EXTERNAL", +"MANAGED_EXTERNAL" +], +"enumDescriptions": [ +"Default value. This value is unused.", +"An account managed by the same Google Workspace organization that owns the space.", +"An account external to the Google Workspace organization that owns the space (e.g., a consumer account, or an account managed by a different Workspace organization).", +"An account managed by the Workspace organization that owns the space, but provisioned for a user who is external to the organization (e.g., a Guest user). To learn more about guests, see https://support.google.com/chat/answer/16997417." +], +"readOnly": true, +"type": "string" +}, "createTime": { "description": "Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces.", "format": "google-datetime", diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json index f749886b89..644804ae5d 100644 --- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json @@ -646,6 +646,86 @@ } } }, +"enterprise": { +"resources": { +"securityInsights": { +"methods": { +"checkEnablementStatus": { +"description": "Gets the setting state of the insights feature for the customer.", +"flatPath": "v1/customers/{customersId}/enterprise/securityInsights:checkEnablementStatus", +"httpMethod": "GET", +"id": "chromemanagement.customers.enterprise.securityInsights.checkEnablementStatus", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer to check the enablement status for. Format: customers/{customer_id}", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/enterprise/securityInsights:checkEnablementStatus", +"response": { +"$ref": "GoogleChromeManagementVersionsV1CheckEnablementStatusResponse" +} +}, +"disable": { +"description": "Disables insights for the customer.", +"flatPath": "v1/customers/{customersId}/enterprise/securityInsights:disable", +"httpMethod": "POST", +"id": "chromemanagement.customers.enterprise.securityInsights.disable", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer to disable insights for. Format: customers/{customer}", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/enterprise/securityInsights:disable", +"request": { +"$ref": "GoogleChromeManagementVersionsV1DisableInsightsRequest" +}, +"response": { +"$ref": "GoogleChromeManagementVersionsV1DisableInsightsResponse" +} +}, +"enable": { +"description": "Enables insights for the customer and sets up required chrome connectors.", +"flatPath": "v1/customers/{customersId}/enterprise/securityInsights:enable", +"httpMethod": "POST", +"id": "chromemanagement.customers.enterprise.securityInsights.enable", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. The customer to enable insights for. Format: customers/{customer}", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+customer}/enterprise/securityInsights:enable", +"request": { +"$ref": "GoogleChromeManagementVersionsV1EnableInsightsRequest" +}, +"response": { +"$ref": "GoogleChromeManagementVersionsV1EnableInsightsResponse" +} +} +} +} +} +}, "profiles": { "methods": { "delete": { @@ -1072,6 +1152,52 @@ "https://www.googleapis.com/auth/chrome.management.reports.readonly" ] }, +"countChromeProfileVersions": { +"description": "Generate report of installed Chrome versions on managed profiles.", +"flatPath": "v1/customers/{customersId}/reports:countChromeProfileVersions", +"httpMethod": "GET", +"id": "chromemanagement.customers.reports.countChromeProfileVersions", +"parameterOrder": [ +"customer" +], +"parameters": { +"customer": { +"description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", +"location": "path", +"pattern": "^customers/[^/]+$", +"required": true, +"type": "string" +}, +"filter": { +"description": "Optional. Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date", +"location": "query", +"type": "string" +}, +"orgUnitId": { +"description": "The ID of the organizational unit. If omitted, all data will be returned.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of results to return. Maximum and default are 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Token to specify the page of the request to be returned.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+customer}/reports:countChromeProfileVersions", +"response": { +"$ref": "GoogleChromeManagementV1CountChromeProfileVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/chrome.management.reports.readonly" +] +}, "countChromeVersions": { "description": "Generate report of installed Chrome versions.", "flatPath": "v1/customers/{customersId}/reports:countChromeVersions", @@ -2005,7 +2131,7 @@ } } }, -"revision": "20260505", +"revision": "20260601", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -2908,6 +3034,29 @@ false }, "type": "object" }, +"GoogleChromeManagementV1CountChromeProfileVersionsResponse": { +"description": "Response containing requested managed profile versions details and counts.", +"id": "GoogleChromeManagementV1CountChromeProfileVersionsResponse", +"properties": { +"nextPageToken": { +"description": "Token to specify the next page of the request.", +"type": "string" +}, +"profileBrowserVersions": { +"description": "List of all browser versions reported for profiles and their install counts.", +"items": { +"$ref": "GoogleChromeManagementV1BrowserVersion" +}, +"type": "array" +}, +"totalSize": { +"description": "Total number browser versions matching request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleChromeManagementV1CountChromeVersionsResponse": { "description": "Response containing requested browser versions details and counts.", "id": "GoogleChromeManagementV1CountChromeVersionsResponse", @@ -3848,6 +3997,12 @@ false "readOnly": true, "type": "array" }, +"profileCount": { +"description": "Output only. Count of Chrome Profiles with this app installed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, "riskAssessment": { "$ref": "GoogleChromeManagementV1RiskAssessmentData", "description": "Output only. If available, the risk assessment data about this extension.", @@ -6144,6 +6299,27 @@ false }, "type": "object" }, +"GoogleChromeManagementVersionsV1CheckEnablementStatusResponse": { +"description": "Response from checking the enablement status of insights for the customer.", +"id": "GoogleChromeManagementVersionsV1CheckEnablementStatusResponse", +"properties": { +"insightsState": { +"description": "The state of the insights feature.", +"enum": [ +"INSIGHTS_ENABLEMENT_STATE_UNSPECIFIED", +"INSIGHTS_ENABLED", +"INSIGHTS_DISABLED" +], +"enumDescriptions": [ +"Default value. Should not be used.", +"The insights feature is enabled for the customer.", +"The insights feature is disabled for the customer." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleChromeManagementVersionsV1ChromeBrowserProfile": { "description": "A representation of a Chrome browser profile.", "id": "GoogleChromeManagementVersionsV1ChromeBrowserProfile", @@ -6748,6 +6924,68 @@ false }, "type": "object" }, +"GoogleChromeManagementVersionsV1DisableInsightsRequest": { +"description": "Request to disable insights for the customer.", +"id": "GoogleChromeManagementVersionsV1DisableInsightsRequest", +"properties": {}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1DisableInsightsResponse": { +"description": "Response from disabling insights for the customer.", +"id": "GoogleChromeManagementVersionsV1DisableInsightsResponse", +"properties": { +"insightsState": { +"description": "The state of the insights feature.", +"enum": [ +"INSIGHTS_ENABLEMENT_STATE_UNSPECIFIED", +"INSIGHTS_ENABLED", +"INSIGHTS_DISABLED" +], +"enumDescriptions": [ +"Default value. Should not be used.", +"The insights feature is enabled for the customer.", +"The insights feature is disabled for the customer." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1EnableInsightsRequest": { +"description": "Request to enable insights for the customer.", +"id": "GoogleChromeManagementVersionsV1EnableInsightsRequest", +"properties": { +"targetOus": { +"description": "Optional. The Organizational Units to set up required connectors for. Organizational Units are provided as paths relative to root. If this field is not set, connectors will be set up at root OU (as if it were set to [\"/\"]). Example: [\"/corp/sales\", \"/eng\"]", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleChromeManagementVersionsV1EnableInsightsResponse": { +"description": "Response from enabling insights for the customer.", +"id": "GoogleChromeManagementVersionsV1EnableInsightsResponse", +"properties": { +"insightsState": { +"description": "The state of the insights feature.", +"enum": [ +"INSIGHTS_ENABLEMENT_STATE_UNSPECIFIED", +"INSIGHTS_ENABLED", +"INSIGHTS_DISABLED" +], +"enumDescriptions": [ +"Default value. Should not be used.", +"The insights feature is enabled for the customer.", +"The insights feature is disabled for the customer." +], +"type": "string" +} +}, +"type": "object" +}, "GoogleChromeManagementVersionsV1GenericCaConnection": { "description": "Describes a generic Certificate Authority Connection.", "id": "GoogleChromeManagementVersionsV1GenericCaConnection", diff --git a/googleapiclient/discovery_cache/documents/chromewebstore.v2.json b/googleapiclient/discovery_cache/documents/chromewebstore.v2.json index 4f6a04793c..4d608021e2 100644 --- a/googleapiclient/discovery_cache/documents/chromewebstore.v2.json +++ b/googleapiclient/discovery_cache/documents/chromewebstore.v2.json @@ -272,7 +272,7 @@ } } }, -"revision": "20251026", +"revision": "20260601", "rootUrl": "https://chromewebstore.googleapis.com/", "schemas": { "CancelSubmissionRequest": { @@ -412,6 +412,10 @@ "description": "Request message for PublishItem.", "id": "PublishItemRequest", "properties": { +"blockOnWarnings": { +"description": "Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the `error.details`. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset.", +"type": "boolean" +}, "deployInfos": { "description": "Optional. Additional deploy information including the desired initial percentage rollout. Defaults to the current value saved in the developer dashboard if unset.", "items": { @@ -475,6 +479,11 @@ ], "readOnly": true, "type": "string" +}, +"warningInfo": { +"$ref": "WarningsInfo", +"description": "Output only. Non-blocking warnings encountered during the request.", +"readOnly": true } }, "type": "object" @@ -541,6 +550,35 @@ } }, "type": "object" +}, +"Warning": { +"description": "Represents a single warning encountered during the request.", +"id": "Warning", +"properties": { +"description": { +"description": "A description of the warning. Developers should use this message to understand the warning and take appropriate action to resolve the issue.", +"type": "string" +}, +"reason": { +"description": "The reason for the warning. This is a constant value that identifies the proximate cause of the warning.", +"type": "string" +} +}, +"type": "object" +}, +"WarningsInfo": { +"description": "Message containing details on warnings encountered during PublishItem.", +"id": "WarningsInfo", +"properties": { +"warnings": { +"description": "All warnings encountered during the request.", +"items": { +"$ref": "Warning" +}, +"type": "array" +} +}, +"type": "object" } }, "servicePath": "", diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json index 1489026590..92251aede7 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json @@ -2583,7 +2583,7 @@ } } }, -"revision": "20260323", +"revision": "20260511", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { @@ -3520,6 +3520,13 @@ false "description": "Output only. Stores timing information for pulling this build step's builder image only.", "readOnly": true }, +"results": { +"description": "Declaration of results for this build step.", +"items": { +"$ref": "StepResult" +}, +"type": "array" +}, "script": { "description": "A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.", "type": "string" @@ -3587,6 +3594,20 @@ false }, "type": "object" }, +"BuildStepResults": { +"description": "Results for a build step.", +"id": "BuildStepResults", +"properties": { +"results": { +"additionalProperties": { +"type": "string" +}, +"description": "Results for a build step.", +"type": "object" +} +}, +"type": "object" +}, "BuildTrigger": { "description": "Configuration for an automated build in response to source repository changes.", "id": "BuildTrigger", @@ -5419,6 +5440,13 @@ false }, "type": "array" }, +"buildStepResults": { +"additionalProperties": { +"$ref": "BuildStepResults" +}, +"description": "Results for build steps. step_id -> ", +"type": "object" +}, "genericArtifacts": { "description": "Output only. Generic artifacts uploaded to Artifact Registry at the end of the build.", "items": { @@ -5669,6 +5697,25 @@ false }, "type": "object" }, +"StepResult": { +"description": "StepResult is the declaration of a result for a build step.", +"id": "StepResult", +"properties": { +"attestationContent": { +"description": "Optional. The content of the attestation to be generated.", +"type": "string" +}, +"attestationType": { +"description": "Optional. The type of attestation to be generated.", +"type": "string" +}, +"name": { +"description": "Required. The name of the result.", +"type": "string" +} +}, +"type": "object" +}, "StorageSource": { "description": "Location of the source in an archive file in Cloud Storage.", "id": "StorageSource", diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v2.json b/googleapiclient/discovery_cache/documents/cloudbuild.v2.json index 5006c366be..a7661eb776 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v2.json @@ -372,7 +372,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudbuild.projects.locations.list", @@ -381,7 +381,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1097,7 +1097,7 @@ } } }, -"revision": "20260323", +"revision": "20260511", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/clouddeploy.v1.json b/googleapiclient/discovery_cache/documents/clouddeploy.v1.json index 5c711aa7d9..f61bff4fd2 100644 --- a/googleapiclient/discovery_cache/documents/clouddeploy.v1.json +++ b/googleapiclient/discovery_cache/documents/clouddeploy.v1.json @@ -15,6 +15,73 @@ "description": "", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/deploy/", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.asia-south1.rep.googleapis.com/", +"location": "asia-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.asia-south2.rep.googleapis.com/", +"location": "asia-south2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-central2.rep.googleapis.com/", +"location": "us-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-east7.rep.googleapis.com/", +"location": "us-east7" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://clouddeploy.us-west4.rep.googleapis.com/", +"location": "us-west4" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -2359,7 +2426,7 @@ } } }, -"revision": "20260427", +"revision": "20260525", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -3439,10 +3506,6 @@ true "image": { "description": "Required. Image is the container image to use.", "type": "string" -}, -"script": { -"description": "Optional. Shell script to execute. If provided then command and args cannot be specified.", -"type": "string" } }, "type": "object" @@ -3826,7 +3889,7 @@ true "additionalProperties": { "type": "string" }, -"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", "type": "object" }, "name": { @@ -5828,7 +5891,7 @@ true "additionalProperties": { "type": "string" }, -"description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", +"description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes.", "type": "object" }, "name": { diff --git a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json index b0c6254c2c..552519960b 100644 --- a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json @@ -198,11 +198,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://clouderrorreporting.us-central2.rep.googleapis.com/", -"location": "us-central2" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-east1.rep.googleapis.com/", "location": "us-east1" }, @@ -218,11 +213,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://clouderrorreporting.us-east7.rep.googleapis.com/", -"location": "us-east7" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-south1.rep.googleapis.com/", "location": "us-south1" }, @@ -245,11 +235,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-west4.rep.googleapis.com/", "location": "us-west4" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://clouderrorreporting.us-west8.rep.googleapis.com/", -"location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -965,7 +950,7 @@ } } }, -"revision": "20260508", +"revision": "20260529", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json index 26fcedc5dc..dfe9fd343a 100644 --- a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json @@ -2255,12 +2255,12 @@ "parameterOrder": [], "parameters": { "filter": { -"description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\\\.service_status$') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", +"description": "Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\\\.service_status$')` - Filter by customer: `customer == \"customers/{customer}\"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", +"description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.", "format": "int32", "location": "query", "type": "integer" @@ -2311,7 +2311,7 @@ } } }, -"revision": "20260513", +"revision": "20260601", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -4444,7 +4444,7 @@ "type": "string" }, "query": { -"description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", +"description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", "type": "string" }, "sortOrder": { diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json index e55489cdb3..e69af92c1d 100644 --- a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json @@ -2293,12 +2293,12 @@ "parameterOrder": [], "parameters": { "filter": { -"description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\\\.service_status$') A maximum of one of the above setting.type clauses can be used. Policies can be filtered by customer with this expression: customer == \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", +"description": "Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\\\.service_status$')` - Filter by customer: `customer == \"customers/{customer}\"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", +"description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.", "format": "int32", "location": "query", "type": "integer" @@ -2349,7 +2349,7 @@ } } }, -"revision": "20260506", +"revision": "20260601", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -5133,6 +5133,7 @@ "GROUP", "SHARED_DRIVE", "CBCM_BROWSER", +"CHROME_OS_DEVICE", "OTHER" ], "enumDescriptions": [ @@ -5142,6 +5143,7 @@ "Represents group type.", "Represents Shared drive.", "Represents a CBCM-managed Chrome Browser type.", +"Represents a ChromeOS-managed ChromeOS device type.", "Represents other type." ], "readOnly": true, @@ -5539,7 +5541,7 @@ "type": "string" }, "query": { -"description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", +"description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) **Note:** The licenses clause is not supported in mutate endpoints. The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", "type": "string" }, "sortOrder": { diff --git a/googleapiclient/discovery_cache/documents/cloudkms.v1.json b/googleapiclient/discovery_cache/documents/cloudkms.v1.json index 2023312c62..ad8b47fef7 100644 --- a/googleapiclient/discovery_cache/documents/cloudkms.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudkms.v1.json @@ -26,36 +26,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.europe-west9.rep.googleapis.com/", -"location": "europe-west9" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.me-central2.rep.googleapis.com/", -"location": "me-central2" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.us-east1.rep.googleapis.com/", -"location": "us-east1" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.us-east4.rep.googleapis.com/", -"location": "us-east4" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.us-west2.rep.googleapis.com/", -"location": "us-west2" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://cloudkms.us-west1.rep.googleapis.com/", -"location": "us-west1" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://cloudkms.us-central1.rep.googleapis.com/", "location": "us-central1" }, @@ -86,6 +56,16 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://cloudkms.us-east7.rep.googleapis.com/", "location": "us-east7" }, @@ -101,6 +81,26 @@ }, { "description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.europe-west9.rep.googleapis.com/", +"location": "europe-west9" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://cloudkms.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", "endpointUrl": "https://cloudkms.northamerica-northeast1.rep.googleapis.com/", "location": "northamerica-northeast1" }, @@ -227,7 +227,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", +"description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^folders/[^/]+/autokeyConfig$", "required": true, @@ -279,7 +279,7 @@ ], "parameters": { "name": { -"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", +"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^folders/[^/]+/autokeyConfig$", "required": true, @@ -418,7 +418,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", +"description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^projects/[^/]+/autokeyConfig$", "required": true, @@ -548,7 +548,7 @@ ], "parameters": { "name": { -"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", +"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^projects/[^/]+/autokeyConfig$", "required": true, @@ -2376,6 +2376,25 @@ "pattern": "^projects/[^/]+/locations/[^/]+/keyRings/[^/]+/importJobs/[^/]+$", "required": true, "type": "string" +}, +"publicKeyFormat": { +"description": "Optional. Specifies the WrappingPublicKey format. If not specified: * For RSA-based import methods, the wrapping key will be returned in PEM format * For pure ML-KEM-based import methods, the wrapping key will be returned in the raw bytes format specified in FIPS-203 * For X-Wing-based import methods, the wrapping key will be returned in the raw bytes format specified in https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem.", +"enum": [ +"PUBLIC_KEY_FORMAT_UNSPECIFIED", +"PEM", +"DER", +"NIST_PQC", +"XWING_RAW_BYTES" +], +"enumDescriptions": [ +"If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", +"The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", +"The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208).", +"This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205).", +"The returned public key is in raw bytes format defined in its standard https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem." +], +"location": "query", +"type": "string" } }, "path": "v1/{+name}", @@ -2948,7 +2967,7 @@ } } }, -"revision": "20260506", +"revision": "20260522", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AddQuorumMember": { @@ -3193,7 +3212,7 @@ "type": "string" }, "name": { -"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", +"description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "type": "string" }, "state": { @@ -3202,13 +3221,22 @@ "STATE_UNSPECIFIED", "ACTIVE", "KEY_PROJECT_DELETED", -"UNINITIALIZED" +"UNINITIALIZED", +"KEY_PROJECT_PERMISSION_DENIED" +], +"enumDeprecated": [ +false, +false, +false, +false, +true ], "enumDescriptions": [ "The state of the AutokeyConfig is unspecified.", "The AutokeyConfig is currently active.", "A previously configured key project has been deleted and the current AutokeyConfig is unusable.", -"The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state." +"The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state.", +"Deprecated: This state is not returned by the backend." ], "readOnly": true, "type": "string" @@ -4408,7 +4436,10 @@ "RSA_OAEP_3072_SHA256_AES_256", "RSA_OAEP_4096_SHA256_AES_256", "RSA_OAEP_3072_SHA256", -"RSA_OAEP_4096_SHA256" +"RSA_OAEP_4096_SHA256", +"HPKE_KEM_ML_KEM_768_HKDF_SHA256_AES_256_GCM", +"HPKE_KEM_ML_KEM_1024_HKDF_SHA256_AES_256_GCM", +"HPKE_KEM_XWING_HKDF_SHA256_AES_256_GCM" ], "enumDescriptions": [ "Not specified.", @@ -4417,7 +4448,10 @@ "This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", "This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see [RSA AES key wrap mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).", "This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import.", -"This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import." +"This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import.", +"Represents the Hybrid Public Key Encryption (HPKE) Scheme originally defined in [RFC 9180](https://www.rfc-editor.org/rfc/rfc9180). It involves wrapping the raw key with an ephemeral AES key, derived with HKDF-SHA256 from an encryption context, that is, in turn obtained from the receiver\u2019s public key with the help of the ML-KEM-768 KEM. For more details, see the [ML-KEM HPKE standard](http://datatracker.ietf.org/doc/draft-ietf-hpke-pq/01/).", +"Represents the Hybrid Public Key Encryption (HPKE) Scheme originally defined in [RFC 9180](https://www.rfc-editor.org/rfc/rfc9180). It involves wrapping the raw key with an ephemeral AES key, derived with HKDF-SHA256 from an encryption context, that is, in turn obtained from the receiver\u2019s public key with the help of the ML-KEM-1024 KEM. For more details, see the [ML-KEM HPKE standard](http://datatracker.ietf.org/doc/draft-ietf-hpke-pq/01/).", +"Represents the Hybrid Public Key Encryption (HPKE) Scheme originally defined in [RFC 9180](https://www.rfc-editor.org/rfc/rfc9180). It involves wrapping the raw key with an ephemeral AES key, derived with HKDF-SHA256 from an encryption context, that is, in turn obtained from the receiver\u2019s public key with the help of the X-Wing hybrid KEM. For more details, see the [X-Wing standard](http://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/09/)." ], "type": "string" }, @@ -4451,6 +4485,25 @@ "description": "Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.", "readOnly": true }, +"publicKeyFormat": { +"description": "Output only. Specifies the WrappingPublicKey format provided by the customer in the KeyManagementService.GetImportJob request.", +"enum": [ +"PUBLIC_KEY_FORMAT_UNSPECIFIED", +"PEM", +"DER", +"NIST_PQC", +"XWING_RAW_BYTES" +], +"enumDescriptions": [ +"If the public_key_format field is not specified: - For PQC algorithms, an error will be returned. - For non-PQC algorithms, the default format is PEM, and the field pem will be populated. Otherwise, the public key will be exported through the public_key field in the requested format.", +"The returned public key will be encoded in PEM format. See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13) for more information.", +"The returned public key will be encoded in DER format (the PrivateKeyInfo structure from RFC 5208).", +"This is supported only for PQC algorithms. The key material is returned in the format defined by NIST PQC standards (FIPS 203, FIPS 204, and FIPS 205).", +"The returned public key is in raw bytes format defined in its standard https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem." +], +"readOnly": true, +"type": "string" +}, "state": { "description": "Output only. The current state of the ImportJob, indicating if it can be used.", "enum": [ @@ -6001,8 +6054,14 @@ false "description": "The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod.", "id": "WrappingPublicKey", "properties": { +"data": { +"description": "Output only. Contains the public key, formatted according to the PublicKey.PublicKeyFormat specified in the KeyManagementService.GetImportJob request.", +"format": "byte", +"readOnly": true, +"type": "string" +}, "pem": { -"description": "The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).", +"description": "The public key, encoded in PEM format. For more information, see the [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13). This field gets populated by default for RSA-based import methods, if no public_key_format is specified in the request. If you want to retrieve the wrapping key of an ImportJob in some other format, use KeyManagementService.GetImportJob and set the public_key_format to the desired public key format.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1.json b/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1.json index 79b476e318..8784c5fe0e 100644 --- a/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1.json @@ -304,7 +304,7 @@ } } }, -"revision": "20260422", +"revision": "20260527", "rootUrl": "https://cloudlocationfinder.googleapis.com/", "schemas": { "CloudLocation": { @@ -322,14 +322,12 @@ "CLOUD_LOCATION_TYPE_UNSPECIFIED", "CLOUD_LOCATION_TYPE_REGION", "CLOUD_LOCATION_TYPE_ZONE", -"CLOUD_LOCATION_TYPE_REGION_EXTENSION", "CLOUD_LOCATION_TYPE_GDCC_ZONE" ], "enumDescriptions": [ "Unspecified type.", "CloudLocation type for region.", "CloudLocation type for zone.", -"CloudLocation type for region extension.", "CloudLocation type for Google Distributed Cloud Connected Zone." ], "type": "string" diff --git a/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1alpha.json b/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1alpha.json index fa8004c54f..23aefa3633 100644 --- a/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/cloudlocationfinder.v1alpha.json @@ -304,7 +304,7 @@ } } }, -"revision": "20260422", +"revision": "20260527", "rootUrl": "https://cloudlocationfinder.googleapis.com/", "schemas": { "CloudLocation": { @@ -322,14 +322,12 @@ "CLOUD_LOCATION_TYPE_UNSPECIFIED", "CLOUD_LOCATION_TYPE_REGION", "CLOUD_LOCATION_TYPE_ZONE", -"CLOUD_LOCATION_TYPE_REGION_EXTENSION", "CLOUD_LOCATION_TYPE_GDCC_ZONE" ], "enumDescriptions": [ "Unspecified type.", "CloudLocation type for region.", "CloudLocation type for zone.", -"CloudLocation type for region extension.", "CloudLocation type for Google Distributed Cloud Connected Zone." ], "type": "string" diff --git a/googleapiclient/discovery_cache/documents/cloudnumberregistry.v1alpha.json b/googleapiclient/discovery_cache/documents/cloudnumberregistry.v1alpha.json index e037bff456..6846aa3809 100644 --- a/googleapiclient/discovery_cache/documents/cloudnumberregistry.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/cloudnumberregistry.v1alpha.json @@ -195,12 +195,12 @@ ], "parameters": { "customRangeId": { -"description": "Required. Id of the requesting object.", +"description": "Required. The ID to use for the CustomRange, which will become the final segment of the resource name.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Value for parent.", +"description": "Required. The parent resource name where the CustomRange will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -238,7 +238,7 @@ "type": "boolean" }, "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the CustomRange to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -274,7 +274,7 @@ "type": "integer" }, "name": { -"description": "Required. Name of the CustomRange.", +"description": "Required. The resource name of the CustomRange to search within.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -310,7 +310,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the CustomRange to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -335,7 +335,7 @@ ], "parameters": { "filter": { -"description": "Optional. Filtering results.", +"description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, @@ -356,7 +356,7 @@ "type": "string" }, "parent": { -"description": "Required. Parent value for ListCustomRangesRequest", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -381,7 +381,7 @@ ], "parameters": { "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -420,7 +420,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the CustomRange.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -455,7 +455,7 @@ "type": "integer" }, "name": { -"description": "Required. Name of the DiscoveredRange.", +"description": "Required. The resource name of the DiscoveredRange to search within.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -491,7 +491,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the DiscoveredRange to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -516,7 +516,7 @@ ], "parameters": { "filter": { -"description": "Optional. Filtering results.", +"description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, @@ -537,7 +537,7 @@ "type": "string" }, "parent": { -"description": "Required. Parent value for ListDiscoveredRangesRequest", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -562,7 +562,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the DiscoveredRange.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -582,7 +582,7 @@ "ipamAdminScopes": { "methods": { "checkAvailability": { -"description": "Checks the availability of IPAM admin scopes in a given project and location.", +"description": "Checks the availability of IpamAdminScopes in a given project and location.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/ipamAdminScopes:checkAvailability", "httpMethod": "GET", "id": "cloudnumberregistry.projects.locations.ipamAdminScopes.checkAvailability", @@ -591,14 +591,14 @@ ], "parameters": { "parent": { -"description": "Required. Parent value for the IpamAdminScopes.", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "scopes": { -"description": "Required. The scopes of the IpamAdminScopes to look for.", +"description": "Required. The administrative scopes to check for availability.", "location": "query", "repeated": true, "type": "string" @@ -622,7 +622,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the IpamAdminScope to clean up.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -650,12 +650,12 @@ ], "parameters": { "ipamAdminScopeId": { -"description": "Required. Id of the requesting object.", +"description": "Required. The ID to use for the IpamAdminScope, which will become the final segment of the resource name.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Value for parent.", +"description": "Required. The parent resource name where the IpamAdminScope will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -693,7 +693,7 @@ "type": "boolean" }, "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the IpamAdminScope to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -723,7 +723,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the IpamAdminScope to disable.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -751,7 +751,7 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the IpamAdminScope to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -767,7 +767,7 @@ ] }, "list": { -"description": "List all IPAM admin scopes in a given project and location.", +"description": "Lists IpamAdminScopes in a given project and location.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/ipamAdminScopes", "httpMethod": "GET", "id": "cloudnumberregistry.projects.locations.ipamAdminScopes.list", @@ -776,12 +776,12 @@ ], "parameters": { "filter": { -"description": "Optional. Filtering results", +"description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. Hint for how to order the results", +"description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -797,7 +797,7 @@ "type": "string" }, "parent": { -"description": "Required. Parent value for ListIpamAdminScopesRequest", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -822,7 +822,7 @@ ], "parameters": { "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the IpamAdminScope.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -993,14 +993,14 @@ ], "parameters": { "parent": { -"description": "Required. Value for parent.", +"description": "Required. The parent resource name where the Realm will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "realmId": { -"description": "Required. Id of the requesting object.", +"description": "Required. The ID to use for the Realm, which will become the final segment of the resource name.", "location": "query", "type": "string" }, @@ -1036,7 +1036,7 @@ "type": "boolean" }, "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the Realm to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1066,14 +1066,14 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the Realm to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, "type": "string" }, "view": { -"description": "Optional. The view of the Realm.", +"description": "Optional. The view of the Realm to retrieve.", "enum": [ "REALM_VIEW_UNSPECIFIED", "BASIC", @@ -1108,12 +1108,12 @@ ], "parameters": { "filter": { -"description": "Optional. Filtering results", +"description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. Hint for how to order the results", +"description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -1129,14 +1129,14 @@ "type": "string" }, "parent": { -"description": "Required. Parent value for ListRealmsRequest", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "view": { -"description": "Optional. The view of the Realm.", +"description": "Optional. The view of the Realm to retrieve.", "enum": [ "REALM_VIEW_UNSPECIFIED", "BASIC", @@ -1171,7 +1171,7 @@ ], "parameters": { "name": { -"description": "Required. Identifier. Unique name/ID of the realm", +"description": "Required. Identifier. The resource name of the Realm.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1214,14 +1214,14 @@ ], "parameters": { "parent": { -"description": "Required. Value for parent.", +"description": "Required. The parent resource name where the RegistryBook will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "registryBookId": { -"description": "Required. Id of the requesting object.", +"description": "Required. The ID to use for the RegistryBook, which will become the final segment of the resource name.", "location": "query", "type": "string" }, @@ -1257,7 +1257,7 @@ "type": "boolean" }, "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the RegistryBook to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1287,14 +1287,14 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource", +"description": "Required. The resource name of the RegistryBook to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, "type": "string" }, "view": { -"description": "Optional. The view of the RegistryBook.", +"description": "Optional. The view of the RegistryBook to retrieve.", "enum": [ "REGISTRY_BOOK_VIEW_UNSPECIFIED", "BASIC", @@ -1329,12 +1329,12 @@ ], "parameters": { "filter": { -"description": "Optional. Filtering results", +"description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. Hint for how to order the results", +"description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -1350,14 +1350,14 @@ "type": "string" }, "parent": { -"description": "Required. Parent value for ListRegistryBooksRequest", +"description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "view": { -"description": "Optional. The view of the RegistryBook.", +"description": "Optional. The view of the RegistryBook to retrieve.", "enum": [ "REGISTRY_BOOK_VIEW_UNSPECIFIED", "BASIC", @@ -1392,7 +1392,7 @@ ], "parameters": { "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the RegistryBook.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1431,7 +1431,7 @@ ], "parameters": { "name": { -"description": "Required. The name of the RegistryBook to search in.", +"description": "Required. The resource name of the RegistryBook to search in.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1456,7 +1456,7 @@ } } }, -"revision": "20260506", +"revision": "20260527", "rootUrl": "https://cloudnumberregistry.googleapis.com/", "schemas": { "AggregatedData": { @@ -1464,25 +1464,25 @@ "id": "AggregatedData", "properties": { "customRangesCount": { -"description": "Output only. Number of custom ranges in the RegistryBook.", +"description": "Output only. Number of CustomRanges in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "customRealmsCount": { -"description": "Output only. Number of custom realms in the RegistryBook.", +"description": "Output only. Number of custom Realms in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRangesCount": { -"description": "Output only. Number of discovered ranges in the RegistryBook.", +"description": "Output only. Number of DiscoveredRanges in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRealmsCount": { -"description": "Output only. Number of discovered realms in the RegistryBook.", +"description": "Output only. Number of discovered Realms in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" @@ -1497,15 +1497,15 @@ "type": "object" }, "Attribute": { -"description": "Message describing Attribute object", +"description": "A key-value pair representing a custom attribute associated with a resource.", "id": "Attribute", "properties": { "key": { -"description": "Required. Key of attribute", +"description": "Required. The key of the attribute.", "type": "string" }, "value": { -"description": "Required. Value of attribute", +"description": "Required. The value of the attribute.", "type": "string" } }, @@ -1518,7 +1518,7 @@ "type": "object" }, "CheckAvailabilityIpamAdminScopesResponse": { -"description": "Message for response to checking the availability of IpamAdminScopes", +"description": "Response message for the CloudNumberRegistry.CheckAvailabilityIpamAdminScopes method.", "id": "CheckAvailabilityIpamAdminScopesResponse", "properties": { "scopeAvailabilities": { @@ -1532,7 +1532,7 @@ "type": "object" }, "CleanupIpamAdminScopeRequest": { -"description": "Message for cleaning up a IpamAdminScope", +"description": "Request message for the CloudNumberRegistry.CleanupIpamAdminScope method.", "id": "CleanupIpamAdminScopeRequest", "properties": { "requestId": { @@ -1543,7 +1543,7 @@ "type": "object" }, "CustomRange": { -"description": "Message describing CustomRange object", +"description": "A CustomRange represents a user-defined IP address range.", "id": "CustomRange", "properties": { "attributes": { @@ -1554,7 +1554,7 @@ "type": "array" }, "description": { -"description": "Optional. Description of the CustomRange.", +"description": "Optional. The description of the CustomRange.", "type": "string" }, "ipv4CidrRange": { @@ -1569,23 +1569,23 @@ "additionalProperties": { "type": "string" }, -"description": "Optional. Labels as key value pairs", +"description": "Optional. User-defined labels.", "type": "object" }, "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.", "type": "string" }, "parentRange": { -"description": "Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range}", +"description": "Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange.", "type": "string" }, "realm": { -"description": "Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm}", +"description": "Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange.", "type": "string" }, "registryBook": { -"description": "Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified.", +"description": "Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified.", "readOnly": true, "type": "string" } @@ -1593,7 +1593,7 @@ "type": "object" }, "DisableIpamAdminScopeRequest": { -"description": "Message for disabling a IpamAdminScope", +"description": "Request message for the CloudNumberRegistry.DisableIpamAdminScope method.", "id": "DisableIpamAdminScopeRequest", "properties": { "requestId": { @@ -1604,7 +1604,7 @@ "type": "object" }, "DiscoveredRange": { -"description": "Message describing DiscoveredRange object", +"description": "A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline.", "id": "DiscoveredRange", "properties": { "attributes": { @@ -1615,12 +1615,12 @@ "type": "array" }, "childCidrOverlapAllowed": { -"description": "Output only. If true, allow child ranges of this range to overlap with each other.", +"description": "Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other.", "readOnly": true, "type": "boolean" }, "createTime": { -"description": "Output only. [Output only] Create time stamp", +"description": "Output only. The time at which the DiscoveredRange was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1646,28 +1646,28 @@ "additionalProperties": { "type": "string" }, -"description": "Optional. Labels as key value pairs", +"description": "Optional. User-defined labels.", "type": "object" }, "name": { -"description": "Required. Identifier. Name of the DiscoveredRange.", +"description": "Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`.", "type": "string" }, "parentRange": { -"description": "Optional. The parent range of the DiscoveredRange.", +"description": "Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`.", "type": "string" }, "realm": { -"description": "Optional. The realm of the DiscoveredRange.", +"description": "Optional. The Realm of the DiscoveredRange.", "type": "string" }, "registryBook": { -"description": "Output only. The registry book of the DiscoveredRange.", +"description": "Output only. The RegistryBook of the DiscoveredRange.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. [Output only] Update time stamp", +"description": "Output only. The time at which the DiscoveredRange was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1676,7 +1676,7 @@ "type": "object" }, "DiscoveryMetadata": { -"description": "Discovery metadata of the discovered resource.", +"description": "Metadata about a discovered resource, tracking event times, state, and source information.", "id": "DiscoveryMetadata", "properties": { "createTime": { @@ -1707,7 +1707,7 @@ "type": "string" }, "sourceSubId": { -"description": "Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be \"private-ipv4\" or \"private-ipv6\".", +"description": "Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be \"private-ipv4\" or \"private-ipv6\".", "readOnly": true, "type": "string" }, @@ -1746,11 +1746,11 @@ "type": "object" }, "FindCustomRangeFreeIpRangesResponse": { -"description": "Message for the response to finding free IP ranges.", +"description": "Response message for the CloudNumberRegistry.FindCustomRangeFreeIpRanges method.", "id": "FindCustomRangeFreeIpRangesResponse", "properties": { "freeIpCidrRanges": { -"description": "Output only. Free IP CIDR ranges found in the CustomRange.", +"description": "Output only. The free IP CIDR ranges found.", "items": { "type": "string" }, @@ -1761,11 +1761,11 @@ "type": "object" }, "FindDiscoveredRangeFreeIpRangesResponse": { -"description": "Message for the response to finding free IP ranges.", +"description": "Response message for the CloudNumberRegistry.FindDiscoveredRangeFreeIpRanges method.", "id": "FindDiscoveredRangeFreeIpRangesResponse", "properties": { "freeIpCidrRanges": { -"description": "Output only. Free IP CIDR ranges found in the DiscoveredRange.", +"description": "Output only. The free IP CIDR ranges found.", "items": { "type": "string" }, @@ -1776,17 +1776,17 @@ "type": "object" }, "IpamAdminScope": { -"description": "Message describing IpamAdminScope object", +"description": "An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking.", "id": "IpamAdminScope", "properties": { "createTime": { -"description": "Output only. [Output only] Create time stamp", +"description": "Output only. The time at which the IpamAdminScope was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "enabledAddonPlatforms": { -"description": "Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.", +"description": "Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.", "items": { "enum": [ "ADD_ON_PLATFORM_UNSPECIFIED", @@ -1811,11 +1811,11 @@ true "additionalProperties": { "type": "string" }, -"description": "Optional. Labels as key value pairs", +"description": "Optional. User-defined labels.", "type": "object" }, "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the IpamAdminScope.", "type": "string" }, "scopes": { @@ -1859,7 +1859,7 @@ true "type": "string" }, "updateTime": { -"description": "Output only. [Output only] Update time stamp", +"description": "Output only. The time at which the IpamAdminScope was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1868,7 +1868,7 @@ true "type": "object" }, "IpamAdminScopeAvailability": { -"description": "Message for the availability of an IpamAdminScope", +"description": "Availability details for a specific IpamAdminScope.", "id": "IpamAdminScopeAvailability", "properties": { "adminProject": { @@ -1898,18 +1898,18 @@ true "type": "object" }, "ListCustomRangesResponse": { -"description": "Message for response to listing CustomRanges", +"description": "Response message for the CloudNumberRegistry.ListCustomRanges method.", "id": "ListCustomRangesResponse", "properties": { "customRanges": { -"description": "The list of CustomRange", +"description": "The list of CustomRanges.", "items": { "$ref": "CustomRange" }, "type": "array" }, "nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -1923,18 +1923,18 @@ true "type": "object" }, "ListDiscoveredRangesResponse": { -"description": "Message for response to listing DiscoveredRanges", +"description": "Response message for the CloudNumberRegistry.ListDiscoveredRanges method.", "id": "ListDiscoveredRangesResponse", "properties": { "discoveredRanges": { -"description": "The list of DiscoveredRange", +"description": "The list of DiscoveredRanges.", "items": { "$ref": "DiscoveredRange" }, "type": "array" }, "nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -1948,18 +1948,18 @@ true "type": "object" }, "ListIpamAdminScopesResponse": { -"description": "Message for response to listing ipamAdminScopes", +"description": "Response message for the CloudNumberRegistry.ListIpamAdminScopes method.", "id": "ListIpamAdminScopesResponse", "properties": { "ipamAdminScopes": { -"description": "The list of IpamAdminScope", +"description": "The list of IpamAdminScopes.", "items": { "$ref": "IpamAdminScope" }, "type": "array" }, "nextPageToken": { -"description": "A token identifying a page of results the server should return.", +"description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -2016,7 +2016,7 @@ true "type": "object" }, "ListRealmsResponse": { -"description": "Message for response to listing Realms", +"description": "Response message for the CloudNumberRegistry.ListRealms method.", "id": "ListRealmsResponse", "properties": { "nextPageToken": { @@ -2024,7 +2024,7 @@ true "type": "string" }, "realms": { -"description": "The list of Realm", +"description": "The list of Realms.", "items": { "$ref": "Realm" }, @@ -2041,7 +2041,7 @@ true "type": "object" }, "ListRegistryBooksResponse": { -"description": "Message for response to listing RegistryBooks", +"description": "Response message for the CloudNumberRegistry.ListRegistryBooks method.", "id": "ListRegistryBooksResponse", "properties": { "nextPageToken": { @@ -2179,40 +2179,40 @@ true "type": "object" }, "Range": { -"description": "Message describing either a CustomRange or a DiscoveredRange.", +"description": "Represents either a CustomRange or a DiscoveredRange.", "id": "Range", "properties": { "customRange": { "$ref": "CustomRange", -"description": "A custom range." +"description": "A CustomRange." }, "discoveredRange": { "$ref": "DiscoveredRange", -"description": "A discovered range." +"description": "A DiscoveredRange." }, "utilization": { "$ref": "RangeUtilization", -"description": "The utilization of the range." +"description": "The utilization of the Range." } }, "type": "object" }, "RangeUtilization": { -"description": "Message for the utilization of an IP range", +"description": "Utilization metrics for an IP Range, including consumed and produced address counts.", "id": "RangeUtilization", "properties": { "totalConsumed": { -"description": "Output only. The total number of IP addresses consumed in the range.", +"description": "Output only. The total number of IP addresses consumed in the Range.", "readOnly": true, "type": "string" }, "totalProduced": { -"description": "Output only. The total number of IP addresses produced in the range.", +"description": "Output only. The total number of IP addresses produced in the Range.", "readOnly": true, "type": "string" }, "usage": { -"description": "Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL.", +"description": "Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL.", "format": "double", "readOnly": true, "type": "number" @@ -2221,7 +2221,7 @@ true "type": "object" }, "Realm": { -"description": "Message describing Realm object", +"description": "A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap.", "id": "Realm", "properties": { "aggregatedData": { @@ -2230,18 +2230,18 @@ true "readOnly": true }, "createTime": { -"description": "Output only. [Output only] Create time stamp", +"description": "Output only. The time at which the Realm was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "discoveryMetadata": { "$ref": "DiscoveryMetadata", -"description": "Output only. Discovery metadata of the realm.", +"description": "Output only. Discovery metadata of the Realm.", "readOnly": true }, "ipVersion": { -"description": "Optional. IP version of the realm.", +"description": "Optional. IP version of the Realm.", "enum": [ "IP_VERSION_UNSPECIFIED", "IPV4", @@ -2258,11 +2258,11 @@ true "additionalProperties": { "type": "string" }, -"description": "Optional. Labels as key value pairs", +"description": "Optional. User-defined labels.", "type": "object" }, "managementType": { -"description": "Required. Management type of realm.", +"description": "Required. Management type of the Realm.", "enum": [ "MANAGEMENT_TYPE_UNSPECIFIED", "CNR", @@ -2276,15 +2276,15 @@ true "type": "string" }, "name": { -"description": "Required. Identifier. Unique name/ID of the realm", +"description": "Required. Identifier. The resource name of the Realm.", "type": "string" }, "registryBook": { -"description": "Required. URI of the registry book that claims the realm.", +"description": "Required. Name of the RegistryBook that claims the Realm.", "type": "string" }, "trafficType": { -"description": "Required. Traffic type of realm.", +"description": "Required. Traffic type of the Realm.", "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "UNSET", @@ -2302,7 +2302,7 @@ true "type": "string" }, "updateTime": { -"description": "Output only. [Output only] Update time stamp", +"description": "Output only. The time at which the Realm was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2315,13 +2315,13 @@ true "id": "RealmAggregatedData", "properties": { "customRangesCount": { -"description": "Output only. Number of custom ranges in the Realm.", +"description": "Output only. Number of CustomRanges in the Realm.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRangesCount": { -"description": "Output only. Number of discovered ranges in the Realm.", +"description": "Output only. Number of DiscoveredRanges in the Realm.", "format": "int32", "readOnly": true, "type": "integer" @@ -2330,7 +2330,7 @@ true "type": "object" }, "RegistryBook": { -"description": "Message describing RegistryBook object", +"description": "A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges.", "id": "RegistryBook", "properties": { "aggregatedData": { @@ -2346,7 +2346,7 @@ true "type": "array" }, "createTime": { -"description": "Output only. [Output only] Create time stamp", +"description": "Output only. The time at which the RegistryBook was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2360,15 +2360,15 @@ true "additionalProperties": { "type": "string" }, -"description": "Optional. Labels as key value pairs", +"description": "Optional. User-defined labels.", "type": "object" }, "name": { -"description": "Required. Identifier. name of resource", +"description": "Required. Identifier. The resource name of the RegistryBook.", "type": "string" }, "updateTime": { -"description": "Output only. [Output only] Update time stamp", +"description": "Output only. The time at which the RegistryBook was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2377,11 +2377,11 @@ true "type": "object" }, "SearchIpResourcesRequest": { -"description": "Message for searching IP resources", +"description": "Request message for the CloudNumberRegistry.SearchIpResources method.", "id": "SearchIpResourcesRequest", "properties": { "orderBy": { -"description": "Optional. Hint for how to order the results", +"description": "Optional. Hint for how to order the results. Supported sort fields are: - `name`: Sort alphabetically by the resource name. - `create_time`: Sort by the creation timestamp of the resource. - `update_time`: Sort by the last update timestamp of the resource. Supported directions are `asc` (ascending) and `desc` (descending). If unspecified, direction defaults to `asc`. Only sorting by a single field is supported.", "type": "string" }, "pageSize": { @@ -2394,11 +2394,11 @@ true "type": "string" }, "query": { -"description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for ranges are: - `realm`: The realm name to search in. - `ip_address`: The IP address to search for within ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent range of the range to search for. - `attribute_text`: The attribute text to search for within ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for realms are: - `ip_version`: The IP version to search for. Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range`", +"description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., \"CNR\", \"USER\"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR`", "type": "string" }, "searchResourceTypes": { -"description": "Optional. The type of resources to search for. If not specified, the server will return ranges.", +"description": "Optional. The type of resources to search for. If not specified, the server will return Ranges.", "items": { "enum": [ "SEARCH_RESOURCE_TYPE_UNSPECIFIED", @@ -2407,22 +2407,22 @@ true ], "enumDescriptions": [ "Unspecified search type.", -"Search for ranges.", -"Search for realms." +"Search for Ranges.", +"Search for Realms." ], "type": "string" }, "type": "array" }, "showUtilization": { -"description": "Optional. Whether to show the utilization of the ranges in the response.", +"description": "Optional. Whether to show the utilization of the Ranges in the response.", "type": "boolean" } }, "type": "object" }, "SearchIpResourcesResponse": { -"description": "Message for response to searching IP resources", +"description": "Response message for the CloudNumberRegistry.SearchIpResources method.", "id": "SearchIpResourcesResponse", "properties": { "nextPageToken": { @@ -2431,7 +2431,7 @@ true }, "ranges": { "deprecated": true, -"description": "Deprecated: Use results field instead. The list of ranges matching the search query.", +"description": "Deprecated: Use results field instead. The list of Ranges matching the search query.", "items": { "$ref": "Range" }, @@ -2455,22 +2455,22 @@ true "type": "object" }, "SearchIpResourcesResult": { -"description": "A result matching the search query, which can be either a range or a realm.", +"description": "A result matching the search query, which can be either a Range or a Realm.", "id": "SearchIpResourcesResult", "properties": { "range": { "$ref": "Range", -"description": "A range matching the search query." +"description": "A Range matching the search query." }, "realm": { "$ref": "Realm", -"description": "A realm matching the search query." +"description": "A Realm matching the search query." } }, "type": "object" }, "ShowCustomRangeUtilizationResponse": { -"description": "Message for the response to getting the utilization of a CustomRange", +"description": "Response message for the CloudNumberRegistry.ShowCustomRangeUtilization method.", "id": "ShowCustomRangeUtilizationResponse", "properties": { "customRange": { @@ -2479,13 +2479,13 @@ true }, "rangeUtilization": { "$ref": "RangeUtilization", -"description": "The utilization of the CustomRange." +"description": "The utilization details of the CustomRange." } }, "type": "object" }, "ShowDiscoveredRangeUtilizationResponse": { -"description": "Message for the response to getting the utilization of a DiscoveredRange", +"description": "Response message for the CloudNumberRegistry.ShowDiscoveredRangeUtilization method.", "id": "ShowDiscoveredRangeUtilizationResponse", "properties": { "discoveredRange": { @@ -2494,7 +2494,7 @@ true }, "rangeUtilization": { "$ref": "RangeUtilization", -"description": "The utilization of the DiscoveredRange." +"description": "The utilization details of the DiscoveredRange." } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json index b967200139..d9da83ec36 100644 --- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json @@ -160,7 +160,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudscheduler.projects.locations.list", @@ -169,7 +169,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -611,7 +611,7 @@ } } }, -"revision": "20260202", +"revision": "20260522", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -631,7 +631,7 @@ "additionalProperties": { "type": "string" }, -"description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", +"description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", "type": "object" }, "httpMethod": { @@ -728,7 +728,7 @@ "additionalProperties": { "type": "string" }, -"description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB.", +"description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB.", "type": "object" }, "httpMethod": { diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json index fb81baed5d..5dabe6d8c3 100644 --- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "cloudscheduler.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -567,7 +567,7 @@ } } }, -"revision": "20260202", +"revision": "20260522", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -587,7 +587,7 @@ "additionalProperties": { "type": "string" }, -"description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", +"description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler.", "type": "object" }, "httpMethod": { @@ -669,7 +669,7 @@ "additionalProperties": { "type": "string" }, -"description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB.", +"description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-AppEngine-*`: Used internally by Google. If present in an external user request, it is replaced by the internal header. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule as an offset of UTC parsed according to RFC3339. Remains constant across retries and can be used for [job request deduplication](https://docs.cloud.google.com/scheduler/docs/overview#job-deduplication). If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB.", "type": "object" }, "httpMethod": { diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2.json index db0e3f4852..5c1879b376 100644 --- a/googleapiclient/discovery_cache/documents/cloudsupport.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2.json @@ -372,6 +372,31 @@ "resources": { "attachments": { "methods": { +"get": { +"description": "Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment=\"projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$attachment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .get(name=\"projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB\") ) print(request.execute()) ```", +"flatPath": "v2/{v2Id}/{v2Id1}/cases/{casesId}/attachments/{attachmentsId}", +"httpMethod": "GET", +"id": "cloudsupport.cases.attachments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the attachment to get.", +"location": "path", +"pattern": "^[^/]+/[^/]+/cases/[^/]+/attachments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Attachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "list": { "description": "List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/23598314\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/attachments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2/{v2Id}/{v2Id1}/cases/{casesId}/attachments", @@ -440,6 +465,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"get": { +"description": "Retrieve a comment. EXAMPLES: cURL: ```shell comment=\"projects/some-project/cases/43595344/comments/234567890\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$comment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().comments().get( name=\"projects/some-project/cases/43595344/comments/234567890\", ) print(request.execute()) ```", +"flatPath": "v2/{v2Id}/{v2Id1}/cases/{casesId}/comments/{commentsId}", +"httpMethod": "GET", +"id": "cloudsupport.cases.comments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the comment to retrieve.", +"location": "path", +"pattern": "^[^/]+/[^/]+/cases/[^/]+/comments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v2/{+name}", +"response": { +"$ref": "Comment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "list": { "description": "List all the comments associated with a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2/{v2Id}/{v2Id1}/cases/{casesId}/comments", @@ -510,7 +560,7 @@ "useMediaDownloadService": true }, "upload": { -"description": "Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo \"This text is in a file I'm uploading using CSAPI.\" \\ > \"./example_file.txt\" case=\"projects/some-project/cases/43594844\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --data-binary @\"./example_file.txt\" \\ \"https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) file_path = \"./example_file.txt\" with open(file_path, \"w\") as file: file.write( \"This text is inside a file I'm going to upload using the Cloud Support API.\", ) request = supportApiService.media().upload( parent=\"projects/some-project/cases/43595344\", media_body=file_path ) request.uri = request.uri.split(\"?\")[0] + \"?attachment.filename=uploaded_via_python.txt\" print(request.execute()) ```", +"description": "Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo \"This text is in a file I'm uploading using CSAPI.\" \\ > \"./example_file.txt\" case=\"projects/some-project/cases/43594844\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --data-binary @\"./example_file.txt\" \\ \"https://cloudsupport.googleapis.com/upload/v2/$case/attachments?attachment.filename=uploaded_via_curl.txt\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) file_path = \"./example_file.txt\" with open(file_path, \"w\") as file: file.write( \"This text is inside a file I'm going to upload using the Cloud Support API.\", ) request = supportApiService.media().upload( parent=\"projects/some-project/cases/43595344\", media_body=file_path ) request.uri = request.uri.split(\"?\")[0] + \"?attachment.filename=uploaded_via_python.txt\" print(request.execute()) ```", "flatPath": "v2/{v2Id}/{v2Id1}/cases/{casesId}/attachments", "httpMethod": "POST", "id": "cloudsupport.media.upload", @@ -552,7 +602,7 @@ } } }, -"revision": "20260409", +"revision": "20260519", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { @@ -1300,6 +1350,11 @@ "format": "byte", "type": "string" }, +"sha512Hash": { +"description": "# gdata.* are outside protos with mising documentation", +"format": "byte", +"type": "string" +}, "timestamp": { "description": "# gdata.* are outside protos with mising documentation", "format": "uint64", diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json index fb24e966e6..c4881b6f29 100644 --- a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json +++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json @@ -108,7 +108,7 @@ "caseClassifications": { "methods": { "search": { -"description": "Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `\" > \"`. For example, `\"Technical Issue > Compute > Compute Engine\"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ 'https://cloudsupport.googleapis.com/v2/caseClassifications:search?query=display_name:\"*Compute%20Engine*\"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=\"v2\", discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version=v2\", ) request = supportApiService.caseClassifications().search( query='display_name:\"*Compute Engine*\"' ) print(request.execute()) ```", +"description": "Retrieve valid classifications to use when creating a support case. Classifications are hierarchical. Each classification is a string containing all levels of the hierarchy separated by `\" > \"`. For example, `\"Technical Issue > Compute > Compute Engine\"`. Classification IDs returned by this endpoint are valid for at least six months. When a classification is deactivated, this endpoint immediately stops returning it. After six months, `case.create` requests using the classification will fail. EXAMPLES: cURL: ```shell curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ 'https://cloudsupport.googleapis.com/v2beta/caseClassifications:search?query=display_name:\"*Compute%20Engine*\"' ``` Python: ```python import googleapiclient.discovery supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=\"v2beta\", discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version=v2\", ) request = supportApiService.caseClassifications().search( query='display_name:\"*Compute Engine*\"' ) print(request.execute()) ```", "flatPath": "v2beta/caseClassifications:search", "httpMethod": "GET", "id": "cloudsupport.caseClassifications.search", @@ -159,7 +159,7 @@ "cases": { "methods": { "close": { -"description": "Close a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case:close\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().close( name=\"projects/some-project/cases/43595344\" ) print(request.execute()) ```", +"description": "Close a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$case:close\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().close( name=\"projects/some-project/cases/43595344\" ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:close", "httpMethod": "POST", "id": "cloudsupport.cases.close", @@ -187,7 +187,7 @@ ] }, "create": { -"description": "Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"display_name\": \"Test case created by me.\", \"description\": \"a random test case, feel free to close\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, \"time_zone\": \"-07:00\", \"subscriber_email_addresses\": [ \"foo@domain.com\", \"bar@domain.com\" ], \"testCase\": true, \"priority\": \"P3\" }' \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().create( parent=\"projects/some-project\", body={ \"displayName\": \"A Test Case\", \"description\": \"This is a test case.\", \"testCase\": True, \"priority\": \"P2\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, }, ) print(request.execute()) ```", +"description": "Create a new case and associate it with a parent. It must have the following fields set: `display_name`, `description`, `classification`, and `priority`. If you're just testing the API and don't want to route your case to an agent, set `testCase=true`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"display_name\": \"Test case created by me.\", \"description\": \"a random test case, feel free to close\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, \"time_zone\": \"-07:00\", \"subscriber_email_addresses\": [ \"foo@domain.com\", \"bar@domain.com\" ], \"testCase\": true, \"priority\": \"P3\" }' \\ \"https://cloudsupport.googleapis.com/v2beta/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().create( parent=\"projects/some-project\", body={ \"displayName\": \"A Test Case\", \"description\": \"This is a test case.\", \"testCase\": True, \"priority\": \"P2\", \"classification\": { \"id\": \"100IK2AKCLHMGRJ9CDGMOCGP8DM6UTB4BT262T31BT1M2T31DHNMENPO6KS36CPJ786L2TBFEHGN6NPI64R3CDHN8880G08I1H3MURR7DHII0GRCDTQM8\" }, }, ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases", "httpMethod": "POST", "id": "cloudsupport.cases.create", @@ -215,7 +215,7 @@ ] }, "escalate": { -"description": "Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\" } }' \\ \"https://cloudsupport.googleapis.com/v2/$case:escalate\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().escalate( name=\"projects/some-project/cases/43595344\", body={ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\", }, }, ) print(request.execute()) ```", +"description": "Escalate a case, starting the Google Cloud Support escalation management process. This operation is only available for some support services. Go to https://cloud.google.com/support and look for 'Technical support escalations' in the feature list to find out which ones let you do that. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\" } }' \\ \"https://cloudsupport.googleapis.com/v2beta/$case:escalate\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().escalate( name=\"projects/some-project/cases/43595344\", body={ \"escalation\": { \"reason\": \"BUSINESS_IMPACT\", \"justification\": \"This is a test escalation.\", }, }, ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}:escalate", "httpMethod": "POST", "id": "cloudsupport.cases.escalate", @@ -243,7 +243,7 @@ ] }, "get": { -"description": "Retrieve a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/16033687\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().get( name=\"projects/some-project/cases/43595344\", ) print(request.execute()) ```", +"description": "Retrieve a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/16033687\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$case\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().get( name=\"projects/some-project/cases/43595344\", ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}", "httpMethod": "GET", "id": "cloudsupport.cases.get", @@ -268,7 +268,7 @@ ] }, "list": { -"description": "Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().list(parent=\"projects/some-project\") print(request.execute()) ```", +"description": "Retrieve all cases under a parent, but not its children. For example, listing cases under an organization only returns the cases that are directly parented by that organization. To retrieve cases under an organization and its projects, use `cases.search`. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$parent/cases\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().list(parent=\"projects/some-project\") print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases", "httpMethod": "GET", "id": "cloudsupport.cases.list", @@ -324,7 +324,7 @@ ] }, "patch": { -"description": "Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request PATCH \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"priority\": \"P1\" }' \\ \"https://cloudsupport.googleapis.com/v2/$case?updateMask=priority\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().patch( name=\"projects/some-project/cases/43112854\", body={ \"displayName\": \"This is Now a New Title\", \"priority\": \"P2\", }, ) print(request.execute()) ```", +"description": "Update a case. Only some fields can be updated. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --request PATCH \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header \"Content-Type: application/json\" \\ --data '{ \"priority\": \"P1\" }' \\ \"https://cloudsupport.googleapis.com/v2beta/$case?updateMask=priority\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().patch( name=\"projects/some-project/cases/43112854\", body={ \"displayName\": \"This is Now a New Title\", \"priority\": \"P2\", }, ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}", "httpMethod": "PATCH", "id": "cloudsupport.cases.patch", @@ -358,7 +358,7 @@ ] }, "search": { -"description": "Search for cases using a query. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$parent/cases:search\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().search( parent=\"projects/some-project\", query=\"state=OPEN\" ) print(request.execute()) ```", +"description": "Search for cases using a query. EXAMPLES: cURL: ```shell parent=\"projects/some-project\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$parent/cases:search\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().search( parent=\"projects/some-project\", query=\"state=OPEN\" ) print(request.execute()) ```", "flatPath": "v2beta/cases:search", "httpMethod": "GET", "id": "cloudsupport.cases.search", @@ -440,7 +440,7 @@ "attachments": { "methods": { "get": { -"description": "Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment=\"projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$attachment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .get(name=\"projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB\") ) print(request.execute()) ```", +"description": "Retrieve an attachment associated with a support case. EXAMPLES: cURL: ```shell attachment=\"projects/some-project/cases/23598314/attachments/0684M00000P3h1fQAB\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$attachment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .get(name=\"projects/some-project/cases/43595344/attachments/0684M00000P3h1fQAB\") ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}", "httpMethod": "GET", "id": "cloudsupport.cases.attachments.get", @@ -465,7 +465,7 @@ ] }, "list": { -"description": "List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/23598314\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/attachments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", +"description": "List all the attachments associated with a support case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/23598314\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$case/attachments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .attachments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments", "httpMethod": "GET", "id": "cloudsupport.cases.attachments.list", @@ -505,7 +505,7 @@ "comments": { "methods": { "create": { -"description": "Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43591344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"body\": \"This is a test comment.\" }' \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .create( parent=\"projects/some-project/cases/43595344\", body={\"body\": \"This is a test comment.\"}, ) ) print(request.execute()) ```", +"description": "Add a new comment to a case. The comment must have the following fields set: `body`. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43591344\" curl \\ --request POST \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --header 'Content-Type: application/json' \\ --data '{ \"body\": \"This is a test comment.\" }' \\ \"https://cloudsupport.googleapis.com/v2beta/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .create( parent=\"projects/some-project/cases/43595344\", body={\"body\": \"This is a test comment.\"}, ) ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments", "httpMethod": "POST", "id": "cloudsupport.cases.comments.create", @@ -533,7 +533,7 @@ ] }, "get": { -"description": "Retrieve a comment. EXAMPLES: cURL: ```shell comment=\"projects/some-project/cases/43595344/comments/234567890\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$comment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().comments().get( name=\"projects/some-project/cases/43595344/comments/234567890\", ) print(request.execute()) ```", +"description": "Retrieve a comment. EXAMPLES: cURL: ```shell comment=\"projects/some-project/cases/43595344/comments/234567890\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$comment\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.cases().comments().get( name=\"projects/some-project/cases/43595344/comments/234567890\", ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments/{commentsId}", "httpMethod": "GET", "id": "cloudsupport.cases.comments.get", @@ -558,7 +558,7 @@ ] }, "list": { -"description": "List all the comments associated with a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", +"description": "List all the comments associated with a case. EXAMPLES: cURL: ```shell case=\"projects/some-project/cases/43595344\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$case/comments\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = ( supportApiService.cases() .comments() .list(parent=\"projects/some-project/cases/43595344\") ) print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/comments", "httpMethod": "GET", "id": "cloudsupport.cases.comments.list", @@ -600,7 +600,7 @@ "media": { "methods": { "download": { -"description": "Download a file attached to a case. When this endpoint is called, no \"response body\" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append \"?alt=media\" to the URL. EXAMPLES: cURL: ```shell name=\"projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2/$name:download?alt=media\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.media().download( name=\"projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR\" ) request.uri = request.uri.split(\"?\")[0] + \"?alt=media\" print(request.execute()) ```", +"description": "Download a file attached to a case. When this endpoint is called, no \"response body\" will be returned. Instead, the attachment's blob will be returned. Note: HTTP requests must append \"?alt=media\" to the URL. EXAMPLES: cURL: ```shell name=\"projects/some-project/cases/43594844/attachments/0674M00000WijAnZAJ\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ \"https://cloudsupport.googleapis.com/v2beta/$name:download?alt=media\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) request = supportApiService.media().download( name=\"projects/some-project/cases/43595344/attachments/0684M00000Pw6pHQAR\" ) request.uri = request.uri.split(\"?\")[0] + \"?alt=media\" print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments/{attachmentsId}:download", "httpMethod": "GET", "id": "cloudsupport.media.download", @@ -627,7 +627,7 @@ "useMediaDownloadService": true }, "upload": { -"description": "Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo \"This text is in a file I'm uploading using CSAPI.\" \\ > \"./example_file.txt\" case=\"projects/some-project/cases/43594844\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --data-binary @\"./example_file.txt\" \\ \"https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) file_path = \"./example_file.txt\" with open(file_path, \"w\") as file: file.write( \"This text is inside a file I'm going to upload using the Cloud Support API.\", ) request = supportApiService.media().upload( parent=\"projects/some-project/cases/43595344\", media_body=file_path ) request.uri = request.uri.split(\"?\")[0] + \"?attachment.filename=uploaded_via_python.txt\" print(request.execute()) ```", +"description": "Create a file attachment on a case or Cloud resource. The attachment must have the following fields set: `filename`. EXAMPLES: cURL: ```shell echo \"This text is in a file I'm uploading using CSAPI.\" \\ > \"./example_file.txt\" case=\"projects/some-project/cases/43594844\" curl \\ --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\ --data-binary @\"./example_file.txt\" \\ \"https://cloudsupport.googleapis.com/upload/v2beta/$case/attachments?attachment.filename=uploaded_via_curl.txt\" ``` Python: ```python import googleapiclient.discovery api_version = \"v2beta\" supportApiService = googleapiclient.discovery.build( serviceName=\"cloudsupport\", version=api_version, discoveryServiceUrl=f\"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}\", ) file_path = \"./example_file.txt\" with open(file_path, \"w\") as file: file.write( \"This text is inside a file I'm going to upload using the Cloud Support API.\", ) request = supportApiService.media().upload( parent=\"projects/some-project/cases/43595344\", media_body=file_path ) request.uri = request.uri.split(\"?\")[0] + \"?attachment.filename=uploaded_via_python.txt\" print(request.execute()) ```", "flatPath": "v2beta/{v2betaId}/{v2betaId1}/cases/{casesId}/attachments", "httpMethod": "POST", "id": "cloudsupport.media.upload", @@ -669,7 +669,7 @@ } } }, -"revision": "20260409", +"revision": "20260519", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { @@ -1522,6 +1522,11 @@ "format": "byte", "type": "string" }, +"sha512Hash": { +"description": "# gdata.* are outside protos with mising documentation", +"format": "byte", +"type": "string" +}, "timestamp": { "description": "# gdata.* are outside protos with mising documentation", "format": "uint64", diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json index 1794a97d12..29350ad3bc 100644 --- a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json @@ -785,7 +785,7 @@ } } }, -"revision": "20260423", +"revision": "20260512", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -1426,7 +1426,7 @@ "type": "integer" }, "maxDispatchesPerSecond": { -"description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", +"description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", "format": "double", "type": "number" } @@ -1444,12 +1444,12 @@ "id": "RetryConfig", "properties": { "maxAttempts": { -"description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0.", +"description": "Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, "maxBackoff": { -"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, @@ -1459,12 +1459,12 @@ "type": "integer" }, "maxRetryDuration": { -"description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, "minBackoff": { -"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json index 67318abd06..60d1ee4e54 100644 --- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json +++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json @@ -797,7 +797,7 @@ } } }, -"revision": "20260423", +"revision": "20260512", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -1531,7 +1531,7 @@ "type": "integer" }, "maxDispatchesPerSecond": { -"description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", +"description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", "format": "double", "type": "number" } @@ -1549,12 +1549,12 @@ "id": "RetryConfig", "properties": { "maxAttempts": { -"description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0.", +"description": "Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, "maxBackoff": { -"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, @@ -1564,12 +1564,12 @@ "type": "integer" }, "maxRetryDuration": { -"description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, "minBackoff": { -"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", +"description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json index 4a413db9f0..a4d622998f 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json @@ -194,11 +194,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://cloudtrace.us-central2.rep.googleapis.com/", -"location": "us-central2" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://cloudtrace.us-east1.rep.googleapis.com/", "location": "us-east1" }, @@ -494,7 +489,7 @@ } } }, -"revision": "20260508", +"revision": "20260529", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json index 6000bf164a..a27b4efb2e 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json @@ -191,11 +191,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://cloudtrace.us-central2.rep.googleapis.com/", -"location": "us-central2" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://cloudtrace.us-east1.rep.googleapis.com/", "location": "us-east1" }, @@ -418,7 +413,7 @@ } } }, -"revision": "20260508", +"revision": "20260520", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json index 7ae3dd8c45..a04d01f8f1 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json @@ -194,11 +194,6 @@ }, { "description": "Regional Endpoint", -"endpointUrl": "https://cloudtrace.us-central2.rep.googleapis.com/", -"location": "us-central2" -}, -{ -"description": "Regional Endpoint", "endpointUrl": "https://cloudtrace.us-east1.rep.googleapis.com/", "location": "us-east1" }, @@ -510,7 +505,7 @@ } } }, -"revision": "20260508", +"revision": "20260601", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json index 8aecd4a219..624f64f245 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json @@ -1278,7 +1278,7 @@ } } }, -"revision": "20260423", +"revision": "20260525", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -2810,6 +2810,10 @@ "name": { "description": "Identifier. The resource name of the Secret, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}\"", "type": "string" +}, +"type": { +"description": "Optional. The \"type\" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types", +"type": "string" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/compute.alpha.json b/googleapiclient/discovery_cache/documents/compute.alpha.json index d664a5b278..240b8e8014 100644 --- a/googleapiclient/discovery_cache/documents/compute.alpha.json +++ b/googleapiclient/discovery_cache/documents/compute.alpha.json @@ -5525,6 +5525,358 @@ } } }, +"folderZoneVmExtensionPolicies": { +"methods": { +"delete": { +"description": "Deletes a specified zone VM extension policy within a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "DELETE", +"id": "compute.folderZoneVmExtensionPolicies.delete", +"parameterOrder": [ +"folder", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the zone VM extension policy to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Retrieves details of a specific zone VM extension policy within a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "GET", +"id": "compute.folderZoneVmExtensionPolicies.get", +"parameterOrder": [ +"folder", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the VM extension policy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"response": { +"$ref": "VmExtensionPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getVmExtension": { +"description": "Retrieves details of a specific VM extension within a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensions/{extensionName}", +"httpMethod": "GET", +"id": "compute.folderZoneVmExtensionPolicies.getVmExtension", +"parameterOrder": [ +"folder", +"zone", +"extensionName" +], +"parameters": { +"extensionName": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensions/{extensionName}", +"response": { +"$ref": "VmExtension" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new zone-level VM extension policy within a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies", +"httpMethod": "POST", +"id": "compute.folderZoneVmExtensionPolicies.insert", +"parameterOrder": [ +"folder", +"zone" +], +"parameters": { +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensionPolicies", +"request": { +"$ref": "VmExtensionPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all VM extension policies within a specific zone for a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies", +"httpMethod": "GET", +"id": "compute.folderZoneVmExtensionPolicies.list", +"parameterOrder": [ +"folder", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensionPolicies", +"response": { +"$ref": "VmExtensionPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listVmExtensions": { +"description": "Lists all VM extensions within a specific zone for a folder.\nThis is a read-only API.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensions", +"httpMethod": "GET", +"id": "compute.folderZoneVmExtensionPolicies.listVmExtensions", +"parameterOrder": [ +"folder", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensions", +"response": { +"$ref": "ListVmExtensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Modifies an existing zone VM extension policy within a folder.", +"flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "PATCH", +"id": "compute.folderZoneVmExtensionPolicies.update", +"parameterOrder": [ +"folder", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"folder": { +"description": "Folder ID for this request.", +"location": "path", +"pattern": "folders/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the zone VM extension policy to update.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"request": { +"$ref": "VmExtensionPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, "forwardingRules": { "methods": { "aggregatedList": { @@ -9866,7 +10218,7 @@ "imageViews": { "methods": { "get": { -"description": "Returns the specified global Image resource by providing a regional\ncontext to read the metadata from the Global Clone in the region.", +"description": "Returns the specified global ImageView resource, with a regional\ncontext.", "flatPath": "projects/{project}/regions/{region}/imageViews/{resourceId}", "httpMethod": "GET", "id": "compute.imageViews.get", @@ -9909,7 +10261,7 @@ ] }, "list": { -"description": "Retrieves the list of global Image resources available to the project by\nproviding a regional context to read the metadata from the Global Clone in\nthe region.", +"description": "Returns a list of global ImageView resources, with a regional\ncontext.", "flatPath": "projects/{project}/regions/{region}/imageViews", "httpMethod": "GET", "id": "compute.imageViews.list", @@ -24425,6 +24777,533 @@ } } }, +"orgVmExtensionPolicies": { +"methods": { +"delete": { +"description": "Deletes a specified zone VM extension policy within an organization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "DELETE", +"id": "compute.orgVmExtensionPolicies.delete", +"parameterOrder": [ +"organization", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the zone VM extension policy to delete.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, +"organizationRolloutPlans": { +"methods": { +"delete": { +"description": "Deletes an OrganizationRolloutPlan.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", +"httpMethod": "DELETE", +"id": "compute.organizationRolloutPlans.delete", +"parameterOrder": [ +"organization", +"rolloutPlan" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rolloutPlan": { +"description": "Name of the OrganizationRolloutPlan resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans/{rolloutPlan}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets details of a single organization-scoped RolloutPlan.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", +"httpMethod": "GET", +"id": "compute.organizationRolloutPlans.get", +"parameterOrder": [ +"organization", +"rolloutPlan" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"rolloutPlan": { +"description": "Name of the persistent rollout plan to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans/{rolloutPlan}", +"response": { +"$ref": "RolloutPlan" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new RolloutPlan in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans", +"httpMethod": "POST", +"id": "compute.organizationRolloutPlans.insert", +"parameterOrder": [ +"organization" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans", +"request": { +"$ref": "RolloutPlan" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists OrganizationRolloutPlans in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans", +"httpMethod": "GET", +"id": "compute.organizationRolloutPlans.list", +"parameterOrder": [ +"organization" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "{+organization}/global/rolloutPlans", +"response": { +"$ref": "RolloutPlansListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"organizationRollouts": { +"methods": { +"advance": { +"description": "Advances a Rollout to the next wave, or completes it if no waves remain.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/advance", +"httpMethod": "POST", +"id": "compute.organizationRollouts.advance", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"currentWaveNumber": { +"description": "Required. Wave number of the current wave.", +"format": "int64", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to advance.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/advance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cancel": { +"description": "Cancels a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "PATCH", +"id": "compute.organizationRollouts.cancel", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollback": { +"description": "Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel\nthe rollout without taking any further actions. Note that products must\nsupport at least one of these options, however, it does not need to support\nboth.", +"location": "query", +"type": "boolean" +}, +"rollout": { +"description": "Name of the Rollout resource to cancel.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "DELETE", +"id": "compute.organizationRollouts.delete", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Name of the Rollout resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets details of a single organization-scoped Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "GET", +"id": "compute.organizationRollouts.get", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"rollout": { +"description": "Name of the persistent rollout to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Rollout" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Lists Rollouts in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rollouts", +"httpMethod": "GET", +"id": "compute.organizationRollouts.list", +"parameterOrder": [ +"organization" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "{+organization}/global/rollouts", +"response": { +"$ref": "OrganizationRolloutsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"pause": { +"description": "Pauses a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/pause", +"httpMethod": "POST", +"id": "compute.organizationRollouts.pause", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to pause.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/pause", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/resume", +"httpMethod": "POST", +"id": "compute.organizationRollouts.resume", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/resume", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, "organizationSecurityPolicies": { "methods": { "addAssociation": { @@ -25072,6 +25951,312 @@ } } }, +"organizationZoneVmExtensionPolicies": { +"methods": { +"get": { +"description": "Retrieves details of a specific zone VM extension policy within an\norganization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "GET", +"id": "compute.organizationZoneVmExtensionPolicies.get", +"parameterOrder": [ +"organization", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the VM extension policy resource to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"response": { +"$ref": "VmExtensionPolicy" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"getVmExtension": { +"description": "Retrieves details of a specific VM extension within an organization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensions/{extensionName}", +"httpMethod": "GET", +"id": "compute.organizationZoneVmExtensionPolicies.getVmExtension", +"parameterOrder": [ +"organization", +"zone", +"extensionName" +], +"parameters": { +"extensionName": { +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +}, +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensions/{extensionName}", +"response": { +"$ref": "VmExtension" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new zone-level VM extension policy within an organization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies", +"httpMethod": "POST", +"id": "compute.organizationZoneVmExtensionPolicies.insert", +"parameterOrder": [ +"organization", +"zone" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensionPolicies", +"request": { +"$ref": "VmExtensionPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists all VM extension policies within a specific zone for an organization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies", +"httpMethod": "GET", +"id": "compute.organizationZoneVmExtensionPolicies.list", +"parameterOrder": [ +"organization", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensionPolicies", +"response": { +"$ref": "VmExtensionPolicyList" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"listVmExtensions": { +"description": "Lists all VM extensions within a specific zone for an organization.\nThis is a read-only API.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensions", +"httpMethod": "GET", +"id": "compute.organizationZoneVmExtensionPolicies.listVmExtensions", +"parameterOrder": [ +"organization", +"zone" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensions", +"response": { +"$ref": "ListVmExtensionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"update": { +"description": "Modifies an existing zone VM extension policy within an organization.", +"flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"httpMethod": "PATCH", +"id": "compute.organizationZoneVmExtensionPolicies.update", +"parameterOrder": [ +"organization", +"zone", +"vmExtensionPolicy" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"vmExtensionPolicy": { +"description": "Name of the zone VM extension policy to update.", +"location": "path", +"required": true, +"type": "string" +}, +"zone": { +"description": "Name of the zone for this request.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", +"request": { +"$ref": "VmExtensionPolicy" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, "packetMirrorings": { "methods": { "aggregatedList": { @@ -55121,7 +56306,7 @@ } } }, -"revision": "20260501", +"revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -56600,7 +57785,8 @@ false "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", -"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8I_METAL" ], "enumDescriptions": [ "", @@ -56611,6 +57797,7 @@ false "", "", "", +"", "" ], "type": "string" @@ -57960,7 +59147,7 @@ false "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe actuation mode was enabled.", "Automatically scale the MIG in and out according to the policy.", "Automatically create VMs according to the policy, but do not scale\nthe MIG in.", -"Automatically create VMs according to the policy, but do not scale\nthe MIG in." +"Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -60470,6 +61657,20 @@ false "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, +"loggingHttpRequestHeaders": { +"description": "The list of request headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, +"loggingHttpResponseHeaders": { +"description": "The list of response headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, "optional": { "deprecated": true, "description": "Deprecated in favor of optionalMode.\nThis field can only be specified if logging is enabled for this backend\nservice. Configures whether all, none or a subset of optional fields\nshould be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL,\nEXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", @@ -60518,6 +61719,17 @@ false }, "type": "object" }, +"BackendServiceLogConfigLoggingHttpHeader": { +"description": "Determines which HTTP headers will be logged to Stackdriver.", +"id": "BackendServiceLogConfigLoggingHttpHeader", +"properties": { +"headerName": { +"description": "The name of the header to be logged.", +"type": "string" +} +}, +"type": "object" +}, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -62287,6 +63499,7 @@ false "ACCELERATOR_OPTIMIZED_A4", "ACCELERATOR_OPTIMIZED_A4X", "ACCELERATOR_OPTIMIZED_A4X_MAX", +"ACCELERATOR_OPTIMIZED_A5X", "COMPUTE_OPTIMIZED", "COMPUTE_OPTIMIZED_C2D", "COMPUTE_OPTIMIZED_C3", @@ -62322,6 +63535,7 @@ false "MEMORY_OPTIMIZED_X4_960_12T", "MEMORY_OPTIMIZED_X4_960_16T", "STORAGE_OPTIMIZED_Z3", +"STORAGE_OPTIMIZED_Z4D", "TYPE_UNSPECIFIED" ], "enumDescriptions": [ @@ -62357,6 +63571,7 @@ false "", "", "", +"", "CUD bucket for X4 machine with 1440 vCPUs and 24TB of memory.", "", "CUD bucket for X4 machine with 1920 vCPUs and 32TB of memory.", @@ -62367,6 +63582,7 @@ false "CUD bucket for X4 machine with 960 vCPUs and 12TB of memory.", "CUD bucket for X4 machine with 960 vCPUs and 16TB of memory.", "", +"CUD bucket for Z4D machines.", "Note for internal users: When adding a new enum Type for v1, make sure\nto also add it in the comment for the `optional Type type` definition.\nThis ensures that the public documentation displays the new enum Type." ], "type": "string" @@ -69637,7 +70853,8 @@ false "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", -"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", +"VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8I_METAL" ], "enumDescriptions": [ "", @@ -69648,6 +70865,7 @@ false "", "", "", +"", "" ], "type": "string" @@ -71635,12 +72853,6 @@ false "description": "Name of the destination zone for the failover.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" -}, -"primaryZone": { -"deprecated": true, -"description": "Name of the destination zone for the failover.\nDeprecated: use failover_to_zone instead.", -"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", -"type": "string" } }, "type": "object" @@ -79021,6 +80233,27 @@ false "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -79164,6 +80397,27 @@ false "description": "Flag to update all instances instead of specified list of \u201cinstances\u201d.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -80650,16 +81904,16 @@ false "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", -"description": "Output only. [Output Only] Contents of the error.", +"description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", -"description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", +"description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { -"description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", +"description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -80670,7 +81924,7 @@ false "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { -"description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", +"description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "ADOPTING", @@ -80713,13 +81967,13 @@ false "type": "string" }, "instance": { -"description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", +"description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", -"description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", +"description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -80729,12 +81983,12 @@ false "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { -"description": "Output only. [Output Only] Error code.", +"description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { -"description": "Output only. [Output Only] Error message.", +"description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -98975,6 +100229,167 @@ false }, "type": "object" }, +"OrganizationRolloutsListResponse": { +"id": "OrganizationRolloutsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Rollout resources.", +"items": { +"$ref": "Rollout" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "Output only. [Output Only] Server-defined URL for this resource.", +"readOnly": true, +"type": "string" +}, +"unreachables": { +"description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed\noperation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as\ndeprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as\nexperimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden.\nDeprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the\nnetwork.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite\nthe mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g:\nregions.list).", +"The user attempted to use a resource that requires a TOS they have not\naccepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, "OrganizationSecurityPoliciesListAssociationsResponse": { "id": "OrganizationSecurityPoliciesListAssociationsResponse", "properties": { @@ -99957,10 +101372,10 @@ false ], "enumDescriptions": [ "Default value.", -"A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE. This corresponds to\nthe Customer Maintenance Window for CME.", -"For disruptive updates, including host machine kernel or firmware\nupgrades. This corresponds to the Critical Services Maintenance Window\nfor CME.", -"A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations. This\ncorresponds to Performance Stress Testing for CME.", -"For preliminary, non-disruptive tasks such as key rotations. This\ncorresponds to the Zone Swap Window for CME." +"A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", +"For disruptive updates, including host machine kernel or firmware\nupgrades.", +"A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", +"For preliminary, non-disruptive tasks such as key rotations." ], "type": "string" }, @@ -105041,6 +106456,27 @@ false "description": "Flag to update all instances instead of specified list of \u201cinstances\u201d.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -109439,6 +110875,11 @@ false "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { +"additionalAttributes": { +"$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"description": "Output only. [Output Only] Additional location information of the running instance.", +"readOnly": true +}, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -109458,6 +110899,21 @@ false }, "type": "object" }, +"ResourceStatusPhysicalHostTopologyAdditionalAttributes": { +"description": "Additional location information of the running instance.", +"id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"properties": { +"acceleratorTopologyIds": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -111980,6 +113436,12 @@ false }, "type": "array" }, +"effectiveTcpTimeWaitTimeoutSec": { +"description": "Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT\nstate. This value is equal to tcp_time_wait_timeout_sec if it is set,\notherwise it is equal to 120s. The field is output only.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, "enableDynamicPortAllocation": { "description": "Enable Dynamic Port Allocation.\n\n\nIf not specified, it is disabled by default.\n\n\nIf set to true,\n \n - Dynamic Port Allocation will be enabled on this NAT\n config.\n - enableEndpointIndependentMapping cannot be set to true.\n - If minPorts is set, minPortsPerVm must be set to a\n power of two greater than or equal to 32. If minPortsPerVm is not set, a\n minimum of 32 ports will be allocated to a VM from this NAT\n config.", "type": "boolean" @@ -117299,6 +118761,14 @@ false }, "description": "The rules for the snapshot recycle bin policy. The key is either 'default'\nor namespacedName of the TagValue which can be in the format:\n`{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_number}/{tag_key_short_name}/{tag_value_short_name}`. The default\nrule is applied if snapshots do not have any of these tags.\n The value is the rule for the key.", "type": "object" +}, +"systemRules": { +"additionalProperties": { +"$ref": "SnapshotRecycleBinPolicyRule" +}, +"description": "Output only. The system rules for snapshot recycle bin policy.\nDefines the default rule that applies if no customer-defined rule matches.", +"readOnly": true, +"type": "object" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/compute.beta.json b/googleapiclient/discovery_cache/documents/compute.beta.json index 6909d22b85..3dac086dec 100644 --- a/googleapiclient/discovery_cache/documents/compute.beta.json +++ b/googleapiclient/discovery_cache/documents/compute.beta.json @@ -22836,6 +22836,483 @@ } } }, +"organizationRolloutPlans": { +"methods": { +"delete": { +"description": "Deletes an OrganizationRolloutPlan.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", +"httpMethod": "DELETE", +"id": "compute.organizationRolloutPlans.delete", +"parameterOrder": [ +"organization", +"rolloutPlan" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rolloutPlan": { +"description": "Name of the OrganizationRolloutPlan resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans/{rolloutPlan}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets details of a single organization-scoped RolloutPlan.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", +"httpMethod": "GET", +"id": "compute.organizationRolloutPlans.get", +"parameterOrder": [ +"organization", +"rolloutPlan" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"rolloutPlan": { +"description": "Name of the persistent rollout plan to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans/{rolloutPlan}", +"response": { +"$ref": "RolloutPlan" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"insert": { +"description": "Creates a new RolloutPlan in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans", +"httpMethod": "POST", +"id": "compute.organizationRolloutPlans.insert", +"parameterOrder": [ +"organization" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "{+organization}/global/rolloutPlans", +"request": { +"$ref": "RolloutPlan" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"list": { +"description": "Lists OrganizationRolloutPlans in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rolloutPlans", +"httpMethod": "GET", +"id": "compute.organizationRolloutPlans.list", +"parameterOrder": [ +"organization" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "{+organization}/global/rolloutPlans", +"response": { +"$ref": "RolloutPlansListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +} +} +}, +"organizationRollouts": { +"methods": { +"advance": { +"description": "Advances a Rollout to the next wave, or completes it if no waves remain.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/advance", +"httpMethod": "POST", +"id": "compute.organizationRollouts.advance", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"currentWaveNumber": { +"description": "Required. Wave number of the current wave.", +"format": "int64", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to advance.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/advance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"cancel": { +"description": "Cancels a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "PATCH", +"id": "compute.organizationRollouts.cancel", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollback": { +"description": "Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel\nthe rollout without taking any further actions. Note that products must\nsupport at least one of these options, however, it does not need to support\nboth.", +"location": "query", +"type": "boolean" +}, +"rollout": { +"description": "Name of the Rollout resource to cancel.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"delete": { +"description": "Deletes a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "DELETE", +"id": "compute.organizationRollouts.delete", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Name of the Rollout resource to delete.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"get": { +"description": "Gets details of a single organization-scoped Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", +"httpMethod": "GET", +"id": "compute.organizationRollouts.get", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"organization": { +"description": "Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{0,20}", +"required": true, +"type": "string" +}, +"rollout": { +"description": "Name of the persistent rollout to return.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}", +"response": { +"$ref": "Rollout" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"list": { +"description": "Lists Rollouts in a given organization and location.", +"flatPath": "organizations/{organizationsId}/global/rollouts", +"httpMethod": "GET", +"id": "compute.organizationRollouts.list", +"parameterOrder": [ +"organization" +], +"parameters": { +"filter": { +"description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", +"location": "query", +"type": "string" +}, +"maxResults": { +"default": "500", +"description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", +"format": "uint32", +"location": "query", +"minimum": "0", +"type": "integer" +}, +"orderBy": { +"description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"pageToken": { +"description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", +"location": "query", +"type": "boolean" +} +}, +"path": "{+organization}/global/rollouts", +"response": { +"$ref": "OrganizationRolloutsListResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute", +"https://www.googleapis.com/auth/compute.readonly" +] +}, +"pause": { +"description": "Pauses a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/pause", +"httpMethod": "POST", +"id": "compute.organizationRollouts.pause", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to pause.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/pause", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes a Rollout.", +"flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/resume", +"httpMethod": "POST", +"id": "compute.organizationRollouts.resume", +"parameterOrder": [ +"organization", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"organization": { +"description": "Required. Organization ID for this request.", +"location": "path", +"pattern": "organizations/[0-9]{1,19}", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "{+organization}/global/rollouts/{rollout}/resume", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +} +} +}, "organizationSecurityPolicies": { "methods": { "addAssociation": { @@ -51930,7 +52407,7 @@ } } }, -"revision": "20260501", +"revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -54613,7 +55090,7 @@ false "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe actuation mode was enabled.", "Automatically scale the MIG in and out according to the policy.", "Automatically create VMs according to the policy, but do not scale\nthe MIG in.", -"Automatically create VMs according to the policy, but do not scale\nthe MIG in." +"Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -57083,6 +57560,20 @@ false "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, +"loggingHttpRequestHeaders": { +"description": "The list of request headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, +"loggingHttpResponseHeaders": { +"description": "The list of response headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, "optionalFields": { "description": "This field can only be specified if logging is enabled for this backend\nservice and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list\nof optional fields you want to include in the logs. For example:\nserverInstance, serverGkeDetails.cluster,\nserverGkeDetails.pod.podNamespace", "items": { @@ -57112,6 +57603,17 @@ false }, "type": "object" }, +"BackendServiceLogConfigLoggingHttpHeader": { +"description": "Determines which HTTP headers will be logged to Stackdriver.", +"id": "BackendServiceLogConfigLoggingHttpHeader", +"properties": { +"headerName": { +"description": "The name of the header to be logged.", +"type": "string" +} +}, +"type": "object" +}, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -60316,6 +60818,57 @@ false }, "type": "object" }, +"DateTime": { +"description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.", +"id": "DateTime", +"properties": { +"day": { +"description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, or 0 if specifying a datetime without a day.", +"format": "int32", +"type": "integer" +}, +"hours": { +"description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a\ndatetime without a month.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,999,999, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "Time zone." +}, +"utcOffset": { +"description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.", +"format": "google-duration", +"type": "string" +}, +"year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "DeprecationStatus": { "description": "Deprecation status for a public resource.", "id": "DeprecationStatus", @@ -69737,6 +70290,10 @@ false "$ref": "HttpFaultInjection", "description": "The specification for fault injection introduced into traffic to test\nthe resiliency of clients to backend service failure. As part of fault\ninjection, when clients send requests to a backend service, delays can be\nintroduced by a load balancer on a percentage of requests before sending\nthose requests to the backend service. Similarly requests from clients can\nbe aborted by the load balancer for a percentage of requests.timeout and retry_policy is ignored by clients\nthat are configured with a fault_injection_policy if:\n1. The traffic is generated by fault injection AND\n2. The fault injection is not a delay fault injection.\nFault injection is not supported with the classic Application Load Balancer\n. To see which load balancers support fault injection,\nsee Load\nbalancing: Routing and traffic management features." }, +"imageOptimizationPolicy": { +"$ref": "ImageOptimizationPolicy", +"description": "Image optimization policy for this URL Map's route. Available only for\nGlobal EXTERNAL_MANAGED load balancer schemes.\nEither Cloud CDN must be enabled on the backend service or backend bucket\nserving the route, or cache policy must be configured on the same route" +}, "maxStreamDuration": { "$ref": "Duration", "description": "Specifies the maximum duration (timeout) for streams on the selected route.\nUnlike the timeout field where the timeout duration starts\nfrom the time the request has been fully processed (known as*end-of-stream*),\nthe duration in this field is computed from the beginning of the stream\nuntil the response has been processed, including all retries. A\nstream that does not complete in this duration is closed.\n\nIf not specified, this field uses the maximummaxStreamDuration value among all backend services associated\nwith the route.\n\nThis field is only allowed if the Url map is used with backend services\nwith loadBalancingScheme set toINTERNAL_SELF_MANAGED." @@ -70509,6 +71066,27 @@ false }, "type": "object" }, +"ImageOptimizationPolicy": { +"description": "The configuration for Cloud CDN's image optimization feature. This feature\ndynamically processes and delivers images from the network edge.\nImage Optimization is only available for Global External Application Load\nBalancers.\nEither Cloud CDN must be enabled on the backend service or backend bucket\nserving the route, or cache policy must be configured on the same route.", +"id": "ImageOptimizationPolicy", +"properties": { +"queryParameterInterpretation": { +"description": "Specifies whether to interpret query parameters for image optimization.", +"enum": [ +"DISABLED", +"ENABLED", +"QUERY_PARAMETER_INTERPRETATION_UNSPECIFIED" +], +"enumDescriptions": [ +"Query parameters for image optimization are ignored.", +"Query parameters for image optimization are interpreted.", +"Default value. This field value translates to the\ndefault behavior, which is to ignore query parameters for image\noptimization." +], +"type": "string" +} +}, +"type": "object" +}, "ImageParams": { "description": "Additional image params.", "id": "ImageParams", @@ -71801,6 +72379,12 @@ false "readOnly": true, "type": "integer" }, +"restartingInPlace": { +"description": "Output only. The number of instances in the managed instance group that\nare scheduled to be restarted or are currently being restarted.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, "resuming": { "description": "Output only. The number of instances in the managed instance group that\nare scheduled to be resumed or are currently being resumed.", "format": "int32", @@ -73150,6 +73734,27 @@ false "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instanceRedistributionType": { "description": "The \ninstance redistribution policy for regional managed instance groups.\nValid values are: \n \n - PROACTIVE (default): The group attempts to maintain an\n even distribution of VM instances across zones in the region.\n - NONE: For non-autoscaled groups, proactive\n redistribution is disabled.", "enum": [ @@ -73181,13 +73786,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73197,13 +73804,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73273,6 +73882,27 @@ false "description": "Flag to update all instances instead of specified list of \u201cinstances\u201d.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -73286,13 +73916,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73302,13 +73934,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } @@ -74714,16 +75348,16 @@ false "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", -"description": "Output only. [Output Only] Contents of the error.", +"description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", -"description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", +"description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { -"description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", +"description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -74734,7 +75368,7 @@ false "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { -"description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", +"description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "ADOPTING", @@ -74745,6 +75379,7 @@ false "RECREATING", "REFRESHING", "RESTARTING", +"RESTARTING_IN_PLACE", "RESUMING", "STARTING", "STOPPING", @@ -74761,6 +75396,7 @@ false "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the\ninstance without stopping it. For example, the group can update the\ntarget pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", +"The managed instance group is restarting this instance while preserving\nits capacity and local SSDs.", "The managed instance group is resuming this instance.", "The managed instance group is starting this instance.", "The managed instance group is stopping this instance.", @@ -74771,13 +75407,13 @@ false "type": "string" }, "instance": { -"description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", +"description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", -"description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", +"description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -74787,12 +75423,12 @@ false "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { -"description": "Output only. [Output Only] Error code.", +"description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { -"description": "Output only. [Output Only] Error message.", +"description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -82559,6 +83195,7 @@ false "RECREATING", "REFRESHING", "RESTARTING", +"RESTARTING_IN_PLACE", "RESUMING", "STARTING", "STOPPING", @@ -82575,6 +83212,7 @@ false "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the\ninstance without stopping it. For example, the group can update the\ntarget pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", +"The managed instance group is restarting this instance while preserving\nits capacity and local SSDs.", "The managed instance group is resuming this instance.", "The managed instance group is starting this instance.", "The managed instance group is stopping this instance.", @@ -91610,6 +92248,167 @@ false }, "type": "object" }, +"OrganizationRolloutsListResponse": { +"id": "OrganizationRolloutsListResponse", +"properties": { +"etag": { +"type": "string" +}, +"id": { +"description": "[Output Only] Unique identifier for the resource; defined by the server.", +"type": "string" +}, +"items": { +"description": "A list of Rollout resources.", +"items": { +"$ref": "Rollout" +}, +"type": "array" +}, +"nextPageToken": { +"description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", +"type": "string" +}, +"selfLink": { +"description": "Output only. [Output Only] Server-defined URL for this resource.", +"readOnly": true, +"type": "string" +}, +"unreachables": { +"description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"warning": { +"description": "[Output Only] Informational warning message.", +"properties": { +"code": { +"description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", +"enum": [ +"CLEANUP_FAILED", +"DEPRECATED_RESOURCE_USED", +"DEPRECATED_TYPE_USED", +"DISK_SIZE_LARGER_THAN_IMAGE_SIZE", +"EXPERIMENTAL_TYPE_USED", +"EXTERNAL_API_WARNING", +"FIELD_VALUE_OVERRIDEN", +"INJECTED_KERNELS_DEPRECATED", +"INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", +"LARGE_DEPLOYMENT_WARNING", +"LIST_OVERHEAD_QUOTA_EXCEED", +"MISSING_TYPE_DEPENDENCY", +"NEXT_HOP_ADDRESS_NOT_ASSIGNED", +"NEXT_HOP_CANNOT_IP_FORWARD", +"NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", +"NEXT_HOP_INSTANCE_NOT_FOUND", +"NEXT_HOP_INSTANCE_NOT_ON_NETWORK", +"NEXT_HOP_NOT_RUNNING", +"NOT_CRITICAL_ERROR", +"NO_RESULTS_ON_PAGE", +"PARTIAL_SUCCESS", +"QUOTA_INFO_UNAVAILABLE", +"REQUIRED_TOS_AGREEMENT", +"RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", +"RESOURCE_NOT_DELETED", +"SCHEMA_VALIDATION_IGNORED", +"SINGLE_INSTANCE_PROPERTY_TEMPLATE", +"UNDECLARED_PROPERTIES", +"UNREACHABLE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Warning about failed cleanup of transient changes made by a failed\noperation.", +"A link to a deprecated resource was created.", +"When deploying and at least one of the resources has a type marked as\ndeprecated", +"The user created a boot disk that is larger than image size.", +"When deploying and at least one of the resources has a type marked as\nexperimental", +"Warning that is present in an external api call", +"Warning that value of a field has been overridden.\nDeprecated unused field.", +"The operation involved use of an injected kernel, which is deprecated.", +"A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", +"When deploying a deployment with a exceedingly large number of resources", +"Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", +"A resource depends on a missing type", +"The route's nextHopIp address is not assigned to an instance on the\nnetwork.", +"The route's next hop instance cannot ip forward.", +"The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", +"The route's nextHopInstance URL refers to an instance that does not exist.", +"The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", +"The route's next hop instance does not have a status of RUNNING.", +"Error which is not critical. We decided to continue the process despite\nthe mentioned error.", +"No results are present on a particular list page.", +"Success is reported, but some results may be missing due to errors", +"Quota information is not available to client requests (e.g:\nregions.list).", +"The user attempted to use a resource that requires a TOS they have not\naccepted.", +"Warning that a resource is in use.", +"One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", +"When a resource schema validation is ignored.", +"Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", +"When undeclared properties in the schema are present", +"A given scope cannot be reached." +], +"type": "string" +}, +"data": { +"description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", +"items": { +"properties": { +"key": { +"description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", +"type": "string" +}, +"value": { +"description": "[Output Only] A warning data value corresponding to the key.", +"type": "string" +} +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "[Output Only] A human-readable description of the warning code.", +"type": "string" +} +}, +"type": "object" +} +}, +"type": "object" +}, "OrganizationSecurityPoliciesListAssociationsResponse": { "id": "OrganizationSecurityPoliciesListAssociationsResponse", "properties": { @@ -92551,6 +93350,54 @@ false }, "type": "object" }, +"PeriodicPartialMaintenanceSchedule": { +"description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)", +"id": "PeriodicPartialMaintenanceSchedule", +"properties": { +"subType": { +"description": "The maintenance type in which the zone is during the given window.", +"enum": [ +"MAINTENANCE_SUBTYPE_UNSPECIFIED", +"MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE", +"MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE", +"MAINTENANCE_TYPE_STABLE", +"MAINTENANCE_TYPE_TRANSITION" +], +"enumDescriptions": [ +"Default value.", +"A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", +"For disruptive updates, including host machine kernel or firmware\nupgrades.", +"A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", +"For preliminary, non-disruptive tasks such as key rotations." +], +"type": "string" +}, +"targetResource": { +"description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".", +"type": "string" +}, +"type": { +"enum": [ +"MAINTENANCE_TYPE_UNSPECIFIED", +"PRIVATE_ZONE_MAINTENANCE" +], +"enumDescriptions": [ +"Default value.", +"The zone is in a private maintenance window." +], +"type": "string" +}, +"windowEndTime": { +"$ref": "DateTime", +"description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone." +}, +"windowStartTime": { +"$ref": "DateTime", +"description": "The start civil timestamp of the window.\nThis contains a time zone." +} +}, +"type": "object" +}, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members`, or principals, to a single `role`. Principals can be user\naccounts, service accounts, Google groups, and domains (such as G Suite). A\n`role` is a named list of permissions; each `role` can be an IAM predefined\nrole or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n```\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n```\n\n**YAML example:**\n\n```\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n etag: BwWWja0YfJA=\n version: 3\n```\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -95873,6 +96720,27 @@ false "description": "Flag to update all instances instead of specified list of \u201cinstances\u201d.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, +"allowedActions": { +"description": "Actions that are allowed to update instances within MIG.", +"items": { +"enum": [ +"NONE", +"REFRESH", +"REPLACE", +"RESTART", +"RESTART_IN_PLACE" +], +"enumDescriptions": [ +"Do not perform any action.", +"Do not stop the instance.", +"(Default.) Replace the instance according to the replacement method\noption.", +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." +], +"type": "string" +}, +"type": "array" +}, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -95886,13 +96754,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -95902,13 +96772,15 @@ false "NONE", "REFRESH", "REPLACE", -"RESTART" +"RESTART", +"RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", -"Stop the instance and start it again." +"Stop the instance and start it again.", +"Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } @@ -99754,6 +100626,11 @@ false "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { +"additionalAttributes": { +"$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"description": "Output only. [Output Only] Additional location information of the running instance.", +"readOnly": true +}, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -99773,6 +100650,21 @@ false }, "type": "object" }, +"ResourceStatusPhysicalHostTopologyAdditionalAttributes": { +"description": "Additional location information of the running instance.", +"id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"properties": { +"acceleratorTopologyIds": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -99781,6 +100673,16 @@ false "description": "Output only. [Output Only] The full resource name of the reservation that this\ninstance is consuming from.", "readOnly": true, "type": "string" +}, +"consumedReservationBlock": { +"description": "Output only. [Output Only] The full resource name of the reservation block that this\ninstance is consuming from.", +"readOnly": true, +"type": "string" +}, +"consumedReservationSubBlock": { +"description": "Output only. [Output Only] The full resource name of the reservation sub-block that\nthis instance is consuming from.", +"readOnly": true, +"type": "string" } }, "type": "object" @@ -99890,6 +100792,16 @@ false "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, +"pauseTime": { +"description": "Output only. The timestamp at which the Rollout was paused.", +"readOnly": true, +"type": "string" +}, +"resumeTime": { +"description": "Output only. The timestamp at which the Rollout was resumed.", +"readOnly": true, +"type": "string" +}, "rolloutEntity": { "$ref": "RolloutRolloutEntity", "description": "Required. The resource being rolled out." @@ -102071,6 +102983,12 @@ false }, "type": "array" }, +"effectiveTcpTimeWaitTimeoutSec": { +"description": "Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT\nstate. This value is equal to tcp_time_wait_timeout_sec if it is set,\notherwise it is equal to 120s. The field is output only.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, "enableDynamicPortAllocation": { "description": "Enable Dynamic Port Allocation.\n\n\nIf not specified, it is disabled by default.\n\n\nIf set to true,\n \n - Dynamic Port Allocation will be enabled on this NAT\n config.\n - enableEndpointIndependentMapping cannot be set to true.\n - If minPorts is set, minPortsPerVm must be set to a\n power of two greater than or equal to 32. If minPortsPerVm is not set, a\n minimum of 32 ports will be allocated to a VM from this NAT\n config.", "type": "boolean" @@ -115607,6 +116525,21 @@ false }, "type": "object" }, +"TimeZone": { +"description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +}, "Uint128": { "id": "Uint128", "properties": { @@ -119766,6 +120699,10 @@ false "description": "[Output Only] Full URL reference to the region which hosts the zone.", "type": "string" }, +"resourceStatus": { +"$ref": "ZoneResourceStatus", +"readOnly": true +}, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -119947,6 +120884,20 @@ false }, "type": "object" }, +"ZoneResourceStatus": { +"id": "ZoneResourceStatus", +"properties": { +"upcomingMaintenances": { +"description": "Output only. [Output Only] The upcoming maintenance schedule.", +"items": { +"$ref": "PeriodicPartialMaintenanceSchedule" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, "ZoneSetLabelsRequest": { "id": "ZoneSetLabelsRequest", "properties": { diff --git a/googleapiclient/discovery_cache/documents/compute.v1.json b/googleapiclient/discovery_cache/documents/compute.v1.json index 720dee8952..24914d7eee 100644 --- a/googleapiclient/discovery_cache/documents/compute.v1.json +++ b/googleapiclient/discovery_cache/documents/compute.v1.json @@ -5197,6 +5197,18 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" +}, +"view": { +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default view of a ForwardingRule, which includes the basic fields.", +"The full view, including the ForwardingRule.`attached_extensions` field." +], +"location": "query", +"type": "string" } }, "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", @@ -6172,6 +6184,18 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" +}, +"view": { +"enum": [ +"BASIC", +"FULL" +], +"enumDescriptions": [ +"The default view of a ForwardingRule, which includes the basic fields.", +"The full view, including the ForwardingRule.`attached_extensions` field." +], +"location": "query", +"type": "string" } }, "path": "projects/{project}/global/forwardingRules/{forwardingRule}", @@ -37971,6 +37995,51 @@ }, "rollouts": { "methods": { +"advance": { +"description": "Advances a Rollout to the next wave, or completes it if no waves remain.", +"flatPath": "projects/{project}/global/rollouts/{rollout}/advance", +"httpMethod": "POST", +"id": "compute.rollouts.advance", +"parameterOrder": [ +"project", +"rollout" +], +"parameters": { +"currentWaveNumber": { +"description": "Required. Wave number of the current wave.", +"format": "int64", +"location": "query", +"type": "string" +}, +"project": { +"description": "Required. Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to advance.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/rollouts/{rollout}/advance", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, "cancel": { "description": "Cancels a Rollout.", "flatPath": "projects/{project}/global/rollouts/{rollout}", @@ -38143,6 +38212,94 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] +}, +"pause": { +"description": "Pauses a Rollout.", +"flatPath": "projects/{project}/global/rollouts/{rollout}/pause", +"httpMethod": "POST", +"id": "compute.rollouts.pause", +"parameterOrder": [ +"project", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Required. Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to pause.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/rollouts/{rollout}/pause", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] +}, +"resume": { +"description": "Resumes a Rollout.", +"flatPath": "projects/{project}/global/rollouts/{rollout}/resume", +"httpMethod": "POST", +"id": "compute.rollouts.resume", +"parameterOrder": [ +"project", +"rollout" +], +"parameters": { +"etag": { +"description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", +"location": "query", +"type": "string" +}, +"project": { +"description": "Required. Project ID for this request.", +"location": "path", +"pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"rollout": { +"description": "Required. Name of the Rollout resource to resume.", +"location": "path", +"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", +"required": true, +"type": "string" +} +}, +"path": "projects/{project}/global/rollouts/{rollout}/resume", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/compute" +] } } }, @@ -47746,7 +47903,7 @@ } } }, -"revision": "20260501", +"revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -50367,7 +50524,7 @@ false "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe actuation mode was enabled.", "Automatically scale the MIG in and out according to the policy.", "Automatically create VMs according to the policy, but do not scale\nthe MIG in.", -"Automatically create VMs according to the policy, but do not scale\nthe MIG in." +"Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -52757,6 +52914,20 @@ false "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, +"loggingHttpRequestHeaders": { +"description": "The list of request headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, +"loggingHttpResponseHeaders": { +"description": "The list of response headers that will be logged to Stackdriver.", +"items": { +"$ref": "BackendServiceLogConfigLoggingHttpHeader" +}, +"type": "array" +}, "optionalFields": { "description": "This field can only be specified if logging is enabled for this backend\nservice and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list\nof optional fields you want to include in the logs. For example:\nserverInstance, serverGkeDetails.cluster,\nserverGkeDetails.pod.podNamespace", "items": { @@ -52786,6 +52957,17 @@ false }, "type": "object" }, +"BackendServiceLogConfigLoggingHttpHeader": { +"description": "Determines which HTTP headers will be logged to Stackdriver.", +"id": "BackendServiceLogConfigLoggingHttpHeader", +"properties": { +"headerName": { +"description": "The name of the header to be logged.", +"type": "string" +} +}, +"type": "object" +}, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -55591,6 +55773,57 @@ false }, "type": "object" }, +"DateTime": { +"description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.", +"id": "DateTime", +"properties": { +"day": { +"description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, or 0 if specifying a datetime without a day.", +"format": "int32", +"type": "integer" +}, +"hours": { +"description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios like business closing time.", +"format": "int32", +"type": "integer" +}, +"minutes": { +"description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"month": { +"description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a\ndatetime without a month.", +"format": "int32", +"type": "integer" +}, +"nanos": { +"description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,999,999, defaults to 0.", +"format": "int32", +"type": "integer" +}, +"seconds": { +"description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.", +"format": "int32", +"type": "integer" +}, +"timeZone": { +"$ref": "TimeZone", +"description": "Time zone." +}, +"utcOffset": { +"description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.", +"format": "google-duration", +"type": "string" +}, +"year": { +"description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "DeprecationStatus": { "description": "Deprecation status for a public resource.", "id": "DeprecationStatus", @@ -58927,6 +59160,14 @@ false "description": "This is used in PSC consumer ForwardingRule to control whether the PSC\nendpoint can be accessed from another region.", "type": "boolean" }, +"attachedExtensions": { +"description": "Output only. [Output Only]. The extensions that are attached to this ForwardingRule.", +"items": { +"$ref": "ForwardingRuleAttachedExtension" +}, +"readOnly": true, +"type": "array" +}, "backendService": { "description": "Identifies the backend service to which the forwarding rule sends traffic.\nRequired for internal and external passthrough Network Load Balancers;\nmust be omitted for all other load balancer types.", "type": "string" @@ -59319,6 +59560,18 @@ false }, "type": "object" }, +"ForwardingRuleAttachedExtension": { +"description": "Reference to an extension resource that is attached to this ForwardingRule.", +"id": "ForwardingRuleAttachedExtension", +"properties": { +"reference": { +"description": "Output only. The resource name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "ForwardingRuleList": { "description": "Contains a list of ForwardingRule resources.", "id": "ForwardingRuleList", @@ -69282,16 +69535,16 @@ false "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", -"description": "Output only. [Output Only] Contents of the error.", +"description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", -"description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", +"description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { -"description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", +"description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -69302,7 +69555,7 @@ false "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { -"description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", +"description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "CREATING", @@ -69337,13 +69590,13 @@ false "type": "string" }, "instance": { -"description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", +"description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", -"description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", +"description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -69353,12 +69606,12 @@ false "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { -"description": "Output only. [Output Only] Error code.", +"description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { -"description": "Output only. [Output Only] Error message.", +"description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -85268,6 +85521,54 @@ false }, "type": "object" }, +"PeriodicPartialMaintenanceSchedule": { +"description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)", +"id": "PeriodicPartialMaintenanceSchedule", +"properties": { +"subType": { +"description": "The maintenance type in which the zone is during the given window.", +"enum": [ +"MAINTENANCE_SUBTYPE_UNSPECIFIED", +"MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE", +"MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE", +"MAINTENANCE_TYPE_STABLE", +"MAINTENANCE_TYPE_TRANSITION" +], +"enumDescriptions": [ +"Default value.", +"A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", +"For disruptive updates, including host machine kernel or firmware\nupgrades.", +"A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", +"For preliminary, non-disruptive tasks such as key rotations." +], +"type": "string" +}, +"targetResource": { +"description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".", +"type": "string" +}, +"type": { +"enum": [ +"MAINTENANCE_TYPE_UNSPECIFIED", +"PRIVATE_ZONE_MAINTENANCE" +], +"enumDescriptions": [ +"Default value.", +"The zone is in a private maintenance window." +], +"type": "string" +}, +"windowEndTime": { +"$ref": "DateTime", +"description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone." +}, +"windowStartTime": { +"$ref": "DateTime", +"description": "The start civil timestamp of the window.\nThis contains a time zone." +} +}, +"type": "object" +}, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members`, or principals, to a single `role`. Principals can be user\naccounts, service accounts, Google groups, and domains (such as G Suite). A\n`role` is a named list of permissions; each `role` can be an IAM predefined\nrole or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n```\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n```\n\n**YAML example:**\n\n```\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n etag: BwWWja0YfJA=\n version: 3\n```\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -92306,6 +92607,11 @@ false "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { +"additionalAttributes": { +"$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"description": "Output only. [Output Only] Additional location information of the running instance.", +"readOnly": true +}, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -92325,6 +92631,21 @@ false }, "type": "object" }, +"ResourceStatusPhysicalHostTopologyAdditionalAttributes": { +"description": "Additional location information of the running instance.", +"id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", +"properties": { +"acceleratorTopologyIds": { +"additionalProperties": { +"type": "string" +}, +"description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", +"readOnly": true, +"type": "object" +} +}, +"type": "object" +}, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -92399,6 +92720,16 @@ false "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, +"pauseTime": { +"description": "Output only. The timestamp at which the Rollout was paused.", +"readOnly": true, +"type": "string" +}, +"resumeTime": { +"description": "Output only. The timestamp at which the Rollout was resumed.", +"readOnly": true, +"type": "string" +}, "rolloutEntity": { "$ref": "RolloutRolloutEntity", "description": "Required. The resource being rolled out." @@ -93818,6 +94149,10 @@ false }, "type": "array" }, +"nccGateway": { +"description": "URI of the ncc_gateway to which this router associated.", +"type": "string" +}, "network": { "annotations": { "required": [ @@ -94878,6 +95213,10 @@ false }, "type": "array" }, +"nccGateway": { +"description": "URI of the ncc_gateway to which this router associated.", +"type": "string" +}, "network": { "description": "URI of the network to which this router belongs.", "type": "string" @@ -106953,6 +107292,21 @@ false }, "type": "object" }, +"TimeZone": { +"description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).", +"id": "TimeZone", +"properties": { +"id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"type": "string" +}, +"version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"type": "string" +} +}, +"type": "object" +}, "Uint128": { "id": "Uint128", "properties": { @@ -111032,6 +111386,10 @@ false "description": "[Output Only] Full URL reference to the region which hosts the zone.", "type": "string" }, +"resourceStatus": { +"$ref": "ZoneResourceStatus", +"readOnly": true +}, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -111213,6 +111571,20 @@ false }, "type": "object" }, +"ZoneResourceStatus": { +"id": "ZoneResourceStatus", +"properties": { +"upcomingMaintenances": { +"description": "Output only. [Output Only] The upcoming maintenance schedule.", +"items": { +"$ref": "PeriodicPartialMaintenanceSchedule" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, "ZoneSetLabelsRequest": { "id": "ZoneSetLabelsRequest", "properties": { diff --git a/googleapiclient/discovery_cache/documents/config.v1.json b/googleapiclient/discovery_cache/documents/config.v1.json index 0a8f287a1b..a56f06ddf5 100644 --- a/googleapiclient/discovery_cache/documents/config.v1.json +++ b/googleapiclient/discovery_cache/documents/config.v1.json @@ -15,6 +15,58 @@ "description": "Creates and manages Google Cloud Platform resources and infrastructure.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/infrastructure-manager/docs", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-central1.rep.googleapis.com/", +"location": "us-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-south1.rep.googleapis.com/", +"location": "us-south1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-west1.rep.googleapis.com/", +"location": "us-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-west2.rep.googleapis.com/", +"location": "us-west2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-west3.rep.googleapis.com/", +"location": "us-west3" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-east1.rep.googleapis.com/", +"location": "us-east1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-east4.rep.googleapis.com/", +"location": "us-east4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-west4.rep.googleapis.com/", +"location": "us-west4" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-east5.rep.googleapis.com/", +"location": "us-east5" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://config.us-east7.rep.googleapis.com/", +"location": "us-east7" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -1736,7 +1788,7 @@ } } }, -"revision": "20260422", +"revision": "20260527", "rootUrl": "https://config.googleapis.com/", "schemas": { "ApplyResults": { diff --git a/googleapiclient/discovery_cache/documents/connectors.v2.json b/googleapiclient/discovery_cache/documents/connectors.v2.json index b67e1a8c07..35e9a9be16 100644 --- a/googleapiclient/discovery_cache/documents/connectors.v2.json +++ b/googleapiclient/discovery_cache/documents/connectors.v2.json @@ -999,6 +999,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", "required": true, "type": "string" +}, +"toolNames": { +"description": "List of tool names for selective tool fetching.", +"location": "query", +"repeated": true, +"type": "string" } }, "path": "v2/{+parent}/tools", @@ -1018,7 +1024,7 @@ } } }, -"revision": "20260427", +"revision": "20260527", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AccessCredentials": { diff --git a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json index e3f35588c9..5d836a7e9f 100644 --- a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json +++ b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json @@ -193,34 +193,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, -"diagnoseConversations": { -"description": "Analyzes conversation data using specialized agentic workflows, such as ReAct, to diagnose issues and provide insights.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:diagnoseConversations", -"httpMethod": "POST", -"id": "contactcenterinsights.projects.locations.diagnoseConversations", -"parameterOrder": [ -"parent" -], -"parameters": { -"parent": { -"description": "Required. The parent resource where the analysis will be performed.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}:diagnoseConversations", -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest" -}, -"response": { -"$ref": "GoogleLongrunningOperation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, "generativeInsights": { "description": "Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generativeInsights", @@ -4507,101 +4479,6 @@ } } }, -"diagnostics": { -"methods": { -"delete": { -"description": "Deletes a diagnostic.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics/{diagnosticsId}", -"httpMethod": "DELETE", -"id": "contactcenterinsights.projects.locations.diagnostics.delete", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the diagnostic to delete.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/diagnostics/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleProtobufEmpty" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"get": { -"description": "Gets a diagnostic.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics/{diagnosticsId}", -"httpMethod": "GET", -"id": "contactcenterinsights.projects.locations.diagnostics.get", -"parameterOrder": [ -"name" -], -"parameters": { -"name": { -"description": "Required. The name of the diagnostic to retrieve.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/diagnostics/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+name}", -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1Diagnostic" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -}, -"list": { -"description": "Lists diagnostics.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics", -"httpMethod": "GET", -"id": "contactcenterinsights.projects.locations.diagnostics.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"filter": { -"description": "Optional. A filter to apply to the list (e.g. `create_time > \"2023-01-01T00:00:00Z\"`).", -"location": "query", -"type": "string" -}, -"pageSize": { -"description": "Optional. The maximum number of diagnostics to return. The service may return fewer than this value. If unspecified, at most 100 diagnostics will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", -"format": "int32", -"location": "query", -"type": "integer" -}, -"pageToken": { -"description": "Optional. A page token, received from a previous `ListDiagnostics` call. Provide this to retrieve the subsequent page.", -"location": "query", -"type": "string" -}, -"parent": { -"description": "Required. The parent resource of the diagnostics.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, -"type": "string" -} -}, -"path": "v1/{+parent}/diagnostics", -"response": { -"$ref": "GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -}, "encryptionSpec": { "methods": { "initialize": { @@ -6224,544 +6101,174 @@ } } }, -"revision": "20260510", +"revision": "20260601", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { -"GoogleCloudAiplatformV1Blob": { -"description": "A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video.", -"id": "GoogleCloudAiplatformV1Blob", +"GoogleCloudCesV1mainAgentTransfer": { +"description": "Represents an event indicating the transfer of a conversation to a different agent.", +"id": "GoogleCloudCesV1mainAgentTransfer", "properties": { -"data": { -"description": "Required. The raw bytes of the data.", -"format": "byte", -"type": "string" -}, "displayName": { -"description": "Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", +"description": "Output only. Display name of the agent.", +"readOnly": true, "type": "string" }, -"mimeType": { -"description": "Required. The IANA standard MIME type of the source data.", +"targetAgent": { +"description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", "type": "string" } }, "type": "object" }, -"GoogleCloudAiplatformV1CodeExecutionResult": { -"description": "Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used.", -"id": "GoogleCloudAiplatformV1CodeExecutionResult", +"GoogleCloudCesV1mainBlob": { +"description": "Represents a blob input or output in the conversation.", +"id": "GoogleCloudCesV1mainBlob", "properties": { -"outcome": { -"description": "Required. Outcome of the code execution.", -"enum": [ -"OUTCOME_UNSPECIFIED", -"OUTCOME_OK", -"OUTCOME_FAILED", -"OUTCOME_DEADLINE_EXCEEDED" -], -"enumDescriptions": [ -"Unspecified status. This value should not be used.", -"Code execution completed successfully. `output` contains the stdout, if any.", -"Code execution failed. `output` contains the stderr and stdout, if any.", -"Code execution ran for too long, and was cancelled. There may or may not be a partial `output` present." -], +"data": { +"description": "Required. Raw bytes of the blob.", +"format": "byte", "type": "string" }, -"output": { -"description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", +"mimeType": { +"description": "Required. The IANA standard MIME type of the source data.", "type": "string" } }, "type": "object" }, -"GoogleCloudAiplatformV1Content": { -"description": "The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.", -"id": "GoogleCloudAiplatformV1Content", +"GoogleCloudCesV1mainChunk": { +"description": "A chunk of content within a message.", +"id": "GoogleCloudCesV1mainChunk", "properties": { -"parts": { -"description": "Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.", -"items": { -"$ref": "GoogleCloudAiplatformV1Part" +"agentTransfer": { +"$ref": "GoogleCloudCesV1mainAgentTransfer", +"description": "Optional. Agent transfer event." }, -"type": "array" +"blob": { +"$ref": "GoogleCloudCesV1mainBlob", +"description": "Optional. Blob data." }, -"role": { -"description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.", -"type": "string" -} +"defaultVariables": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, +"description": "A struct represents default variables at the start of the conversation, keyed by variable names.", "type": "object" }, -"GoogleCloudAiplatformV1ExecutableCode": { -"description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated.", -"id": "GoogleCloudAiplatformV1ExecutableCode", -"properties": { -"code": { -"description": "Required. The code to be executed.", -"type": "string" +"image": { +"$ref": "GoogleCloudCesV1mainImage", +"description": "Optional. Image data." }, -"language": { -"description": "Required. Programming language of the `code`.", -"enum": [ -"LANGUAGE_UNSPECIFIED", -"PYTHON" -], -"enumDescriptions": [ -"Unspecified language. This value should not be used.", -"Python >= 3.10, with numpy and simpy available." -], -"type": "string" -} +"payload": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, +"description": "Optional. Custom payload data.", "type": "object" }, -"GoogleCloudAiplatformV1FileData": { -"description": "URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage.", -"id": "GoogleCloudAiplatformV1FileData", -"properties": { -"displayName": { -"description": "Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", +"text": { +"description": "Optional. Text data.", "type": "string" }, -"fileUri": { -"description": "Required. The URI of the file in Google Cloud Storage.", -"type": "string" +"toolCall": { +"$ref": "GoogleCloudCesV1mainToolCall", +"description": "Optional. Tool execution request." }, -"mimeType": { -"description": "Required. The IANA standard MIME type of the source data.", -"type": "string" -} +"toolResponse": { +"$ref": "GoogleCloudCesV1mainToolResponse", +"description": "Optional. Tool execution response." }, -"type": "object" +"transcript": { +"description": "Optional. Transcript associated with the audio.", +"type": "string" }, -"GoogleCloudAiplatformV1FunctionCall": { -"description": "A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values.", -"id": "GoogleCloudAiplatformV1FunctionCall", -"properties": { -"args": { +"updatedVariables": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, -"description": "Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.", +"description": "A struct represents variables that were updated in the conversation, keyed by variable names.", "type": "object" -}, -"name": { -"description": "Optional. The name of the function to call. Matches FunctionDeclaration.name.", -"type": "string" -}, -"partialArgs": { -"description": "Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.", -"items": { -"$ref": "GoogleCloudAiplatformV1PartialArg" -}, -"type": "array" -}, -"willContinue": { -"description": "Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.", -"type": "boolean" } }, "type": "object" }, -"GoogleCloudAiplatformV1FunctionResponse": { -"description": "The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction.", -"id": "GoogleCloudAiplatformV1FunctionResponse", +"GoogleCloudCesV1mainEndSession": { +"description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", +"id": "GoogleCloudCesV1mainEndSession", "properties": { -"name": { -"description": "Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.", -"type": "string" -}, -"parts": { -"description": "Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.", -"items": { -"$ref": "GoogleCloudAiplatformV1FunctionResponsePart" -}, -"type": "array" -}, -"response": { +"metadata": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, -"description": "Required. The function response in JSON object format. Use \"output\" key to specify function output and \"error\" key to specify error details (if any). If \"output\" and \"error\" keys are not specified, then whole \"response\" is treated as function output.", +"description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", "type": "object" -}, -"scheduling": { -"description": "Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.", -"enum": [ -"SCHEDULING_UNSPECIFIED", -"SILENT", -"WHEN_IDLE", -"INTERRUPT" -], -"enumDescriptions": [ -"This value is unused.", -"Only add the result to the conversation context, do not interrupt or trigger generation.", -"Add the result to the conversation context, and prompt to generate output without interrupting ongoing generation.", -"Add the result to the conversation context, interrupt ongoing generation and prompt to generate output." -], -"type": "string" } }, "type": "object" }, -"GoogleCloudAiplatformV1FunctionResponseBlob": { -"description": "Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field.", -"id": "GoogleCloudAiplatformV1FunctionResponseBlob", +"GoogleCloudCesV1mainImage": { +"description": "Represents an image input or output in the conversation.", +"id": "GoogleCloudCesV1mainImage", "properties": { "data": { -"description": "Required. Raw bytes.", +"description": "Required. Raw bytes of the image.", "format": "byte", "type": "string" }, -"displayName": { -"description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", -"type": "string" -}, "mimeType": { -"description": "Required. The IANA standard MIME type of the source data.", +"description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", "type": "string" } }, "type": "object" }, -"GoogleCloudAiplatformV1FunctionResponseFileData": { -"description": "URI based data for function response.", -"id": "GoogleCloudAiplatformV1FunctionResponseFileData", +"GoogleCloudCesV1mainMessage": { +"description": "A message within a conversation.", +"id": "GoogleCloudCesV1mainMessage", "properties": { -"displayName": { -"description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", -"type": "string" +"chunks": { +"description": "Optional. Content of the message as a series of chunks.", +"items": { +"$ref": "GoogleCloudCesV1mainChunk" +}, +"type": "array" }, -"fileUri": { -"description": "Required. URI.", +"eventTime": { +"description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", +"format": "google-datetime", "type": "string" }, -"mimeType": { -"description": "Required. The IANA standard MIME type of the source data.", +"role": { +"description": "Optional. The role within the conversation, e.g., user, agent.", "type": "string" } }, "type": "object" }, -"GoogleCloudAiplatformV1FunctionResponsePart": { -"description": "A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.", -"id": "GoogleCloudAiplatformV1FunctionResponsePart", +"GoogleCloudCesV1mainSpan": { +"description": "A span is a unit of work or a single operation during the request processing.", +"id": "GoogleCloudCesV1mainSpan", "properties": { -"fileData": { -"$ref": "GoogleCloudAiplatformV1FunctionResponseFileData", -"description": "URI based data." -}, -"inlineData": { -"$ref": "GoogleCloudAiplatformV1FunctionResponseBlob", -"description": "Inline media bytes." -} +"attributes": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" }, +"description": "Output only. Key-value attributes associated with the span.", +"readOnly": true, "type": "object" }, -"GoogleCloudAiplatformV1Part": { -"description": "A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", -"id": "GoogleCloudAiplatformV1Part", -"properties": { -"codeExecutionResult": { -"$ref": "GoogleCloudAiplatformV1CodeExecutionResult", -"description": "Optional. The result of executing the ExecutableCode." -}, -"executableCode": { -"$ref": "GoogleCloudAiplatformV1ExecutableCode", -"description": "Optional. Code generated by the model that is intended to be executed." -}, -"fileData": { -"$ref": "GoogleCloudAiplatformV1FileData", -"description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage." -}, -"functionCall": { -"$ref": "GoogleCloudAiplatformV1FunctionCall", -"description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function." -}, -"functionResponse": { -"$ref": "GoogleCloudAiplatformV1FunctionResponse", -"description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted." +"childSpans": { +"description": "Output only. The child spans that are nested under this span.", +"items": { +"$ref": "GoogleCloudCesV1mainSpan" }, -"inlineData": { -"$ref": "GoogleCloudAiplatformV1Blob", -"description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request." -}, -"mediaResolution": { -"$ref": "GoogleCloudAiplatformV1PartMediaResolution", -"description": "per part media resolution. Media resolution for the input media." -}, -"text": { -"description": "Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.", -"type": "string" -}, -"thought": { -"description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning.", -"type": "boolean" -}, -"thoughtSignature": { -"description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests.", -"format": "byte", -"type": "string" -}, -"videoMetadata": { -"$ref": "GoogleCloudAiplatformV1VideoMetadata", -"description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." -} -}, -"type": "object" -}, -"GoogleCloudAiplatformV1PartMediaResolution": { -"description": "per part media resolution. Media resolution for the input media.", -"id": "GoogleCloudAiplatformV1PartMediaResolution", -"properties": { -"level": { -"description": "The tokenization quality used for given media.", -"enum": [ -"MEDIA_RESOLUTION_UNSPECIFIED", -"MEDIA_RESOLUTION_LOW", -"MEDIA_RESOLUTION_MEDIUM", -"MEDIA_RESOLUTION_HIGH", -"MEDIA_RESOLUTION_ULTRA_HIGH" -], -"enumDescriptions": [ -"Media resolution has not been set.", -"Media resolution set to low.", -"Media resolution set to medium.", -"Media resolution set to high.", -"Media resolution set to ultra high. This is for image only." -], -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudAiplatformV1PartialArg": { -"description": "Partial argument value of the function call.", -"id": "GoogleCloudAiplatformV1PartialArg", -"properties": { -"boolValue": { -"description": "Optional. Represents a boolean value.", -"type": "boolean" -}, -"jsonPath": { -"description": "Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. \"$.foo.bar[0].data\".", -"type": "string" -}, -"nullValue": { -"description": "Optional. Represents a null value.", -"enum": [ -"NULL_VALUE" -], -"enumDescriptions": [ -"Null value." -], -"type": "string" -}, -"numberValue": { -"description": "Optional. Represents a double value.", -"format": "double", -"type": "number" -}, -"stringValue": { -"description": "Optional. Represents a string value.", -"type": "string" -}, -"willContinue": { -"description": "Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.", -"type": "boolean" -} -}, -"type": "object" -}, -"GoogleCloudAiplatformV1VideoMetadata": { -"description": "Provides metadata for a video, including the start and end offsets for clipping and the frame rate.", -"id": "GoogleCloudAiplatformV1VideoMetadata", -"properties": { -"endOffset": { -"description": "Optional. The end offset of the video.", -"format": "google-duration", -"type": "string" -}, -"fps": { -"description": "Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].", -"format": "double", -"type": "number" -}, -"startOffset": { -"description": "Optional. The start offset of the video.", -"format": "google-duration", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainAgentTransfer": { -"description": "Represents an event indicating the transfer of a conversation to a different agent.", -"id": "GoogleCloudCesV1mainAgentTransfer", -"properties": { -"displayName": { -"description": "Output only. Display name of the agent.", -"readOnly": true, -"type": "string" -}, -"targetAgent": { -"description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainBlob": { -"description": "Represents a blob input or output in the conversation.", -"id": "GoogleCloudCesV1mainBlob", -"properties": { -"data": { -"description": "Required. Raw bytes of the blob.", -"format": "byte", -"type": "string" -}, -"mimeType": { -"description": "Required. The IANA standard MIME type of the source data.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainChunk": { -"description": "A chunk of content within a message.", -"id": "GoogleCloudCesV1mainChunk", -"properties": { -"agentTransfer": { -"$ref": "GoogleCloudCesV1mainAgentTransfer", -"description": "Optional. Agent transfer event." -}, -"blob": { -"$ref": "GoogleCloudCesV1mainBlob", -"description": "Optional. Blob data." -}, -"defaultVariables": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "A struct represents default variables at the start of the conversation, keyed by variable names.", -"type": "object" -}, -"image": { -"$ref": "GoogleCloudCesV1mainImage", -"description": "Optional. Image data." -}, -"payload": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Optional. Custom payload data.", -"type": "object" -}, -"text": { -"description": "Optional. Text data.", -"type": "string" -}, -"toolCall": { -"$ref": "GoogleCloudCesV1mainToolCall", -"description": "Optional. Tool execution request." -}, -"toolResponse": { -"$ref": "GoogleCloudCesV1mainToolResponse", -"description": "Optional. Tool execution response." -}, -"transcript": { -"description": "Optional. Transcript associated with the audio.", -"type": "string" -}, -"updatedVariables": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "A struct represents variables that were updated in the conversation, keyed by variable names.", -"type": "object" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainEndSession": { -"description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", -"id": "GoogleCloudCesV1mainEndSession", -"properties": { -"metadata": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", -"type": "object" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainImage": { -"description": "Represents an image input or output in the conversation.", -"id": "GoogleCloudCesV1mainImage", -"properties": { -"data": { -"description": "Required. Raw bytes of the image.", -"format": "byte", -"type": "string" -}, -"mimeType": { -"description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainMessage": { -"description": "A message within a conversation.", -"id": "GoogleCloudCesV1mainMessage", -"properties": { -"chunks": { -"description": "Optional. Content of the message as a series of chunks.", -"items": { -"$ref": "GoogleCloudCesV1mainChunk" -}, -"type": "array" -}, -"eventTime": { -"description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", -"format": "google-datetime", -"type": "string" -}, -"role": { -"description": "Optional. The role within the conversation, e.g., user, agent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudCesV1mainSpan": { -"description": "A span is a unit of work or a single operation during the request processing.", -"id": "GoogleCloudCesV1mainSpan", -"properties": { -"attributes": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Output only. Key-value attributes associated with the span.", -"readOnly": true, -"type": "object" -}, -"childSpans": { -"description": "Output only. The child spans that are nested under this span.", -"items": { -"$ref": "GoogleCloudCesV1mainSpan" -}, -"readOnly": true, -"type": "array" +"readOnly": true, +"type": "array" }, "duration": { "description": "Output only. The duration of the span.", @@ -8724,6 +8231,10 @@ true "description": "The entry subagent's display name.", "type": "string" }, +"entrySubagentId": { +"description": "The entry subagent's ID.", +"type": "string" +}, "location": { "description": "The agent's location.", "type": "string" @@ -9326,335 +8837,30 @@ true "properties": {}, "type": "object" }, -"GoogleCloudContactcenterinsightsV1DiagnoseConversationsMetadata": { -"description": "Metadata for a DiagnoseConversations operation.", -"id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsMetadata", +"GoogleCloudContactcenterinsightsV1DialogflowIntent": { +"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", "properties": { -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, +"displayName": { +"description": "The human-readable name of the intent.", "type": "string" +} }, -"diagnosticReport": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReport", -"description": "Output only. The diagnostic report containing metrics and intent breakdowns.", -"readOnly": true +"type": "object" }, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, +"GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { +"description": "Dialogflow interaction data.", +"id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", +"properties": { +"confidence": { +"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"dialogflowIntentId": { +"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", "type": "string" -}, -"fullReport": { -"description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", -"readOnly": true, -"type": "boolean" -}, -"latestStep": { -"$ref": "GoogleCloudContactcenterinsightsV1SherlockStep", -"description": "Output only. The most recent thought or action from the agent.", -"readOnly": true -}, -"metricType": { -"description": "Output only. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"readOnly": true, -"type": "string" -}, -"partialTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"partialTrajectorySteps": { -"description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1SherlockStep" -}, -"readOnly": true, -"type": "array" -}, -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest", -"description": "Output only. The request that created the operation.", -"readOnly": true -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest": { -"description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", -"id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest", -"properties": { -"dryRun": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", -"type": "boolean" -}, -"filter": { -"description": "Optional. AIP-160 compliant filter for selecting target conversations.", -"type": "string" -}, -"fullReport": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", -"type": "boolean" -}, -"instructions": { -"description": "Optional. Specific instructions for the agent.", -"type": "string" -}, -"maxSteps": { -"description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", -"format": "int32", -"type": "integer" -}, -"metricType": { -"description": "Optional. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"type": "string" -}, -"outputConfig": { -"$ref": "GoogleCloudContactcenterinsightsV1OutputConfig", -"deprecated": true, -"description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." -}, -"parent": { -"description": "Required. The parent resource where the analysis will be performed.", -"type": "string" -}, -"requestId": { -"description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", -"type": "string" -}, -"taskQuery": { -"description": "Optional. A natural language description of the analysis goal or question.", -"type": "string" -}, -"validateOnly": { -"description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", -"type": "boolean" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DiagnoseConversationsResponse": { -"description": "The response from a DiagnoseConversations request.", -"id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsResponse", -"properties": { -"answer": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"exportUri": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"fullTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"fullTrajectorySteps": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1SherlockStep" -}, -"readOnly": true, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1Diagnostic": { -"description": "The diagnostic resource.", -"id": "GoogleCloudContactcenterinsightsV1Diagnostic", -"properties": { -"analysisSummary": { -"description": "Output only. The complete sequence of thoughts and actions taken by the agent.", -"readOnly": true, -"type": "string" -}, -"conversationFilter": { -"description": "Output only. The filter used to select the conversations that were included in the diagnostic.", -"readOnly": true, -"type": "string" -}, -"createTime": { -"description": "Output only. The time at which the diagnostic was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"name": { -"description": "Immutable. Identifier. The resource name of the diagnostic.", -"type": "string" -}, -"report": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReport", -"description": "Output only. The report containing the findings of the diagnostic.", -"readOnly": true -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DiagnosticReport": { -"description": "A diagnostic report containing aggregate metrics and intent breakdowns.", -"id": "GoogleCloudContactcenterinsightsV1DiagnosticReport", -"properties": { -"conversationSlices": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice" -}, -"description": "Output only. A map of conversation slices used in the report.", -"readOnly": true, -"type": "object" -}, -"intentStats": { -"deprecated": true, -"description": "Output only. Deprecated: Intent breakdowns are no longer used.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats" -}, -"readOnly": true, -"type": "array" -}, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for the entire project/dataset.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1LossPattern" -}, -"readOnly": true, -"type": "array" -}, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1MetricValue" -}, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, -"type": "object" -}, -"report": { -"description": "Output only. The final report in markdown format.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice": { -"description": "Output only. A map of conversation slices used in the report.", -"id": "GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice", -"properties": { -"conversationIds": { -"description": "The list of conversation IDs that match this slice.", -"items": { -"type": "string" -}, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats": { -"description": "A breakdown of metrics grouped by intent.", -"id": "GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats", -"properties": { -"conversationCount": { -"description": "Output only. The number of conversations associated with this intent.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"intentDisplayName": { -"description": "Output only. The display name of the intent.", -"readOnly": true, -"type": "string" -}, -"intentId": { -"description": "Output only. The unique identifier for the intent (from Discovery Engine).", -"readOnly": true, -"type": "string" -}, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for this intent.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1LossPattern" -}, -"readOnly": true, -"type": "array" -}, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1MetricValue" -}, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, -"type": "object" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DialogflowIntent": { -"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", -"id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", -"properties": { -"displayName": { -"description": "The human-readable name of the intent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { -"description": "Dialogflow interaction data.", -"id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", -"properties": { -"confidence": { -"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", -"format": "float", -"type": "number" -}, -"dialogflowIntentId": { -"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", -"type": "string" -} +} }, "type": "object" }, @@ -11661,24 +10867,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse": { -"description": "The response from a ListDiagnostics request.", -"id": "GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse", -"properties": { -"diagnostics": { -"description": "Optional. The diagnostics that match the request.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1Diagnostic" -}, -"type": "array" -}, -"nextPageToken": { -"description": "Optional. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse": { "description": "The response for listing feedback labels.", "id": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse", @@ -11851,224 +11039,34 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1LossPattern": { -"description": "A loss pattern of a virtual agent and suggested fixes.", -"id": "GoogleCloudContactcenterinsightsV1LossPattern", +"GoogleCloudContactcenterinsightsV1MetricDefinition": { +"description": "A definition for a metric to be calculated during analysis.", +"id": "GoogleCloudContactcenterinsightsV1MetricDefinition", "properties": { -"conversationIds": { -"description": "Output only. A list of conversation IDs that match this loss pattern.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"description": { -"description": "Output only. A markdown description of the loss pattern.", -"readOnly": true, -"type": "string" -}, "displayName": { -"description": "Output only. The display name of the loss pattern.", -"readOnly": true, -"type": "string" -}, -"examples": { -"description": "Output only. A markdown of loss pattern examples.", -"readOnly": true, -"type": "string" -}, -"id": { -"description": "Output only. The unique identifier for the loss pattern.", +"description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", "readOnly": true, "type": "string" }, -"links": { -"description": "Output only. A list of links to conversations or bot instructions.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1LossPatternLink" -}, -"readOnly": true, -"type": "array" -}, -"percentage": { -"description": "Output only. The percentage of conversations that match this loss pattern.", -"format": "double", -"readOnly": true, -"type": "number" -}, -"suggestedFixes": { -"description": "Output only. A markdown description of the suggested fixes.", +"sourceId": { +"description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", "readOnly": true, "type": "string" } }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1LossPatternLink": { -"description": "A link to a conversation or bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1LossPatternLink", +"GoogleCloudContactcenterinsightsV1Note": { +"description": "The conversation assessment note resource.", +"id": "GoogleCloudContactcenterinsightsV1Note", "properties": { -"botInstructionLink": { -"$ref": "GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink", -"description": "A link to a bot instruction." +"assessmentNote": { +"$ref": "GoogleCloudContactcenterinsightsV1NoteAssessmentNote", +"description": "The note is associated to the entire parent assessment." }, -"conversationLink": { -"$ref": "GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink", -"description": "A link to a conversation." -}, -"endByteIndex": { -"description": "The end byte index of the highlighted text (exclusive).", -"format": "int32", -"type": "integer" -}, -"highlightedText": { -"description": "The text that is highlighted. (populated for debugging purposes)", -"type": "string" -}, -"locationType": { -"description": "The location type.", -"enum": [ -"LOCATION_TYPE_UNSPECIFIED", -"DESCRIPTION", -"SUGGESTED_FIXES", -"EXAMPLES" -], -"enumDescriptions": [ -"Unspecified location type.", -"The link applies to the description field.", -"The link applies to the suggested_fixes field.", -"The link applies to the examples field." -], -"type": "string" -}, -"startByteIndex": { -"description": "The start byte index of the highlighted text (inclusive).", -"format": "int32", -"type": "integer" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink": { -"description": "A link to a bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink", -"properties": { -"endLine": { -"description": "The exclusive end line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"startLine": { -"description": "The inclusive start line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"subagent": { -"description": "The name of the subagent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink": { -"description": "A link to a conversation.", -"id": "GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink", -"properties": { -"conversationId": { -"description": "The conversation ID.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1MetricDefinition": { -"description": "A definition for a metric to be calculated during analysis.", -"id": "GoogleCloudContactcenterinsightsV1MetricDefinition", -"properties": { -"displayName": { -"description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", -"readOnly": true, -"type": "string" -}, -"sourceId": { -"description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1MetricValue": { -"deprecated": true, -"description": "Deprecated: MetricValue is no longer used for diagnostics.", -"id": "GoogleCloudContactcenterinsightsV1MetricValue", -"properties": { -"conversations": { -"description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"displayName": { -"description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", -"readOnly": true, -"type": "string" -}, -"hitCount": { -"description": "Output only. The number of positive matches (hits) for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"metricType": { -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"enum": [ -"METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"readOnly": true, -"type": "string" -}, -"sourceId": { -"description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", -"readOnly": true, -"type": "string" -}, -"totalCount": { -"description": "Output only. The total number of items evaluated for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"value": { -"description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", -"format": "double", -"readOnly": true, -"type": "number" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1Note": { -"description": "The conversation assessment note resource.", -"id": "GoogleCloudContactcenterinsightsV1Note", -"properties": { -"assessmentNote": { -"$ref": "GoogleCloudContactcenterinsightsV1NoteAssessmentNote", -"description": "The note is associated to the entire parent assessment." -}, -"content": { -"description": "The note content.", -"type": "string" +"content": { +"description": "The note content.", +"type": "string" }, "conversationTurnNote": { "$ref": "GoogleCloudContactcenterinsightsV1NoteConversationTurnNote", @@ -12131,70 +11129,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1OutputConfig": { -"description": "Configuration for where to export or return the analysis findings.", -"id": "GoogleCloudContactcenterinsightsV1OutputConfig", -"properties": { -"bigqueryDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination", -"description": "Optional. Export to BigQuery." -}, -"gcsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination", -"description": "Optional. Export to a Cloud Storage bucket." -}, -"googleSheetsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination", -"description": "Optional. Export directly to a Google Sheet." -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination": { -"description": "BigQuery destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination", -"properties": { -"dataset": { -"description": "Required. The name of the BigQuery dataset.", -"type": "string" -}, -"projectId": { -"description": "Optional. A project ID or number.", -"type": "string" -}, -"table": { -"description": "Required. The BigQuery table name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination": { -"description": "Cloud Storage destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination", -"properties": { -"uri": { -"description": "Required. The Cloud Storage URI to export the results to.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination": { -"description": "Google Sheets destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination", -"properties": { -"sheet": { -"description": "Optional. The sheet name.", -"type": "string" -}, -"spreadsheetId": { -"description": "Optional. An existing Google Sheets ID.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1PhraseMatchData": { "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", "id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", @@ -13910,74 +12844,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1SherlockStep": { -"description": "A step in the agent's reasoning process (Trajectory Step).", -"id": "GoogleCloudContactcenterinsightsV1SherlockStep", -"properties": { -"agentId": { -"description": "Output only. The ID of the agent that produced/received this content.", -"readOnly": true, -"type": "string" -}, -"content": { -"$ref": "GoogleCloudAiplatformV1Content", -"description": "Output only. The content of the turn (either Model or User role).", -"readOnly": true -}, -"stateDeltas": { -"description": "Output only. List of state changes caused by this specific turn.", -"items": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"readOnly": true, -"type": "array" -}, -"stepId": { -"description": "Output only. Unique ID for this specific turn.", -"readOnly": true, -"type": "string" -}, -"textInput": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"thought": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "string" -}, -"toolCalls": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1ToolCall" -}, -"readOnly": true, -"type": "array" -}, -"toolOutput": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "object" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1SignedAudioUris": { "description": "Signed audio URIs for a conversation.", "id": "GoogleCloudContactcenterinsightsV1SignedAudioUris", @@ -14250,27 +13116,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1ToolCall": { -"description": "A tool call from the agent.", -"id": "GoogleCloudContactcenterinsightsV1ToolCall", -"properties": { -"input": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Output only. The input arguments to the tool.", -"readOnly": true, -"type": "object" -}, -"toolName": { -"description": "Output only. The name of the tool being called.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest": { "description": "Request for TuneQaScorecardRevision endpoint.", "id": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest", @@ -15554,6 +14399,10 @@ true "description": "The entry subagent's display name.", "type": "string" }, +"entrySubagentId": { +"description": "The entry subagent's ID.", +"type": "string" +}, "location": { "description": "The agent's location.", "type": "string" @@ -15991,319 +14840,46 @@ true "properties": {}, "type": "object" }, -"GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsMetadata": { -"description": "Metadata for a DiagnoseConversations operation.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsMetadata", +"GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent": { +"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent", "properties": { -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, +"displayName": { +"description": "The human-readable name of the intent.", "type": "string" +} }, -"diagnosticReport": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport", -"description": "Output only. The diagnostic report containing metrics and intent breakdowns.", -"readOnly": true +"type": "object" }, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, +"GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData": { +"description": "Dialogflow interaction data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData", +"properties": { +"confidence": { +"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", +"format": "float", +"type": "number" +}, +"dialogflowIntentId": { +"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", "type": "string" +} }, -"fullReport": { -"description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", -"readOnly": true, -"type": "boolean" +"type": "object" }, -"latestStep": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep", -"description": "Output only. The most recent thought or action from the agent.", -"readOnly": true +"GoogleCloudContactcenterinsightsV1alpha1DialogflowSource": { +"description": "A Dialogflow source of conversation data.", +"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowSource", +"properties": { +"audioUri": { +"description": "Cloud Storage URI that points to a file that contains the conversation audio.", +"type": "string" }, -"metricType": { -"description": "Output only. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], +"dialogflowConversation": { +"description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", "readOnly": true, "type": "string" -}, -"partialTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"partialTrajectorySteps": { -"description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep" -}, -"readOnly": true, -"type": "array" -}, -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest", -"description": "Output only. The request that created the operation.", -"readOnly": true -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest": { -"description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest", -"properties": { -"dryRun": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", -"type": "boolean" -}, -"filter": { -"description": "Optional. AIP-160 compliant filter for selecting target conversations.", -"type": "string" -}, -"fullReport": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", -"type": "boolean" -}, -"instructions": { -"description": "Optional. Specific instructions for the agent.", -"type": "string" -}, -"maxSteps": { -"description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", -"format": "int32", -"type": "integer" -}, -"metricType": { -"description": "Optional. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"type": "string" -}, -"outputConfig": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfig", -"deprecated": true, -"description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." -}, -"parent": { -"description": "Required. The parent resource where the analysis will be performed.", -"type": "string" -}, -"requestId": { -"description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", -"type": "string" -}, -"taskQuery": { -"description": "Optional. A natural language description of the analysis goal or question.", -"type": "string" -}, -"validateOnly": { -"description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", -"type": "boolean" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsResponse": { -"description": "The response from a DiagnoseConversations request.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsResponse", -"properties": { -"answer": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"exportUri": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"fullTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"fullTrajectorySteps": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep" -}, -"readOnly": true, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport": { -"description": "A diagnostic report containing aggregate metrics and intent breakdowns.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport", -"properties": { -"conversationSlices": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice" -}, -"description": "Output only. A map of conversation slices used in the report.", -"readOnly": true, -"type": "object" -}, -"intentStats": { -"deprecated": true, -"description": "Output only. Deprecated: Intent breakdowns are no longer used.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats" -}, -"readOnly": true, -"type": "array" -}, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for the entire project/dataset.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPattern" -}, -"readOnly": true, -"type": "array" -}, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1MetricValue" -}, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, -"type": "object" -}, -"report": { -"description": "Output only. The final report in markdown format.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice": { -"description": "Output only. A map of conversation slices used in the report.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice", -"properties": { -"conversationIds": { -"description": "The list of conversation IDs that match this slice.", -"items": { -"type": "string" -}, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats": { -"description": "A breakdown of metrics grouped by intent.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats", -"properties": { -"conversationCount": { -"description": "Output only. The number of conversations associated with this intent.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"intentDisplayName": { -"description": "Output only. The display name of the intent.", -"readOnly": true, -"type": "string" -}, -"intentId": { -"description": "Output only. The unique identifier for the intent (from Discovery Engine).", -"readOnly": true, -"type": "string" -}, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for this intent.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPattern" -}, -"readOnly": true, -"type": "array" -}, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1MetricValue" -}, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, -"type": "object" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent": { -"description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent", -"properties": { -"displayName": { -"description": "The human-readable name of the intent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData": { -"description": "Dialogflow interaction data.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData", -"properties": { -"confidence": { -"description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", -"format": "float", -"type": "number" -}, -"dialogflowIntentId": { -"description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1DialogflowSource": { -"description": "A Dialogflow source of conversation data.", -"id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowSource", -"properties": { -"audioUri": { -"description": "Cloud Storage URI that points to a file that contains the conversation audio.", -"type": "string" -}, -"dialogflowConversation": { -"description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", -"readOnly": true, -"type": "string" -} +} }, "type": "object" }, @@ -17856,264 +16432,10 @@ true "items": { "$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" }, -"type": "array" -}, -"nextPageToken": { -"description": "The next page token.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1LossPattern": { -"description": "A loss pattern of a virtual agent and suggested fixes.", -"id": "GoogleCloudContactcenterinsightsV1alpha1LossPattern", -"properties": { -"conversationIds": { -"description": "Output only. A list of conversation IDs that match this loss pattern.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"description": { -"description": "Output only. A markdown description of the loss pattern.", -"readOnly": true, -"type": "string" -}, -"displayName": { -"description": "Output only. The display name of the loss pattern.", -"readOnly": true, -"type": "string" -}, -"examples": { -"description": "Output only. A markdown of loss pattern examples.", -"readOnly": true, -"type": "string" -}, -"id": { -"description": "Output only. The unique identifier for the loss pattern.", -"readOnly": true, -"type": "string" -}, -"links": { -"description": "Output only. A list of links to conversations or bot instructions.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLink" -}, -"readOnly": true, -"type": "array" -}, -"percentage": { -"description": "Output only. The percentage of conversations that match this loss pattern.", -"format": "double", -"readOnly": true, -"type": "number" -}, -"suggestedFixes": { -"description": "Output only. A markdown description of the suggested fixes.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1LossPatternLink": { -"description": "A link to a conversation or bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLink", -"properties": { -"botInstructionLink": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink", -"description": "A link to a bot instruction." -}, -"conversationLink": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink", -"description": "A link to a conversation." -}, -"endByteIndex": { -"description": "The end byte index of the highlighted text (exclusive).", -"format": "int32", -"type": "integer" -}, -"highlightedText": { -"description": "The text that is highlighted. (populated for debugging purposes)", -"type": "string" -}, -"locationType": { -"description": "The location type.", -"enum": [ -"LOCATION_TYPE_UNSPECIFIED", -"DESCRIPTION", -"SUGGESTED_FIXES", -"EXAMPLES" -], -"enumDescriptions": [ -"Unspecified location type.", -"The link applies to the description field.", -"The link applies to the suggested_fixes field.", -"The link applies to the examples field." -], -"type": "string" -}, -"startByteIndex": { -"description": "The start byte index of the highlighted text (inclusive).", -"format": "int32", -"type": "integer" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink": { -"description": "A link to a bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink", -"properties": { -"endLine": { -"description": "The exclusive end line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"startLine": { -"description": "The inclusive start line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"subagent": { -"description": "The name of the subagent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink": { -"description": "A link to a conversation.", -"id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink", -"properties": { -"conversationId": { -"description": "The conversation ID.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1MetricValue": { -"deprecated": true, -"description": "Deprecated: MetricValue is no longer used for diagnostics.", -"id": "GoogleCloudContactcenterinsightsV1alpha1MetricValue", -"properties": { -"conversations": { -"description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"displayName": { -"description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", -"readOnly": true, -"type": "string" -}, -"hitCount": { -"description": "Output only. The number of positive matches (hits) for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"metricType": { -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"enum": [ -"METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"readOnly": true, -"type": "string" -}, -"sourceId": { -"description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", -"readOnly": true, -"type": "string" -}, -"totalCount": { -"description": "Output only. The total number of items evaluated for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"value": { -"description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", -"format": "double", -"readOnly": true, -"type": "number" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1OutputConfig": { -"description": "Configuration for where to export or return the analysis findings.", -"id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfig", -"properties": { -"bigqueryDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination", -"description": "Optional. Export to BigQuery." -}, -"gcsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination", -"description": "Optional. Export to a Cloud Storage bucket." -}, -"googleSheetsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination", -"description": "Optional. Export directly to a Google Sheet." -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination": { -"description": "BigQuery destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination", -"properties": { -"dataset": { -"description": "Required. The name of the BigQuery dataset.", -"type": "string" -}, -"projectId": { -"description": "Optional. A project ID or number.", -"type": "string" -}, -"table": { -"description": "Required. The BigQuery table name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination": { -"description": "Cloud Storage destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination", -"properties": { -"uri": { -"description": "Required. The Cloud Storage URI to export the results to.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination": { -"description": "Google Sheets destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination", -"properties": { -"sheet": { -"description": "Optional. The sheet name.", -"type": "string" +"type": "array" }, -"spreadsheetId": { -"description": "Optional. An existing Google Sheets ID.", +"nextPageToken": { +"description": "The next page token.", "type": "string" } }, @@ -19105,74 +17427,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1alpha1SherlockStep": { -"description": "A step in the agent's reasoning process (Trajectory Step).", -"id": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep", -"properties": { -"agentId": { -"description": "Output only. The ID of the agent that produced/received this content.", -"readOnly": true, -"type": "string" -}, -"content": { -"$ref": "GoogleCloudAiplatformV1Content", -"description": "Output only. The content of the turn (either Model or User role).", -"readOnly": true -}, -"stateDeltas": { -"description": "Output only. List of state changes caused by this specific turn.", -"items": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"readOnly": true, -"type": "array" -}, -"stepId": { -"description": "Output only. Unique ID for this specific turn.", -"readOnly": true, -"type": "string" -}, -"textInput": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"thought": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "string" -}, -"toolCalls": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1alpha1ToolCall" -}, -"readOnly": true, -"type": "array" -}, -"toolOutput": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "object" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1alpha1SilenceData": { "description": "The data for a silence annotation.", "id": "GoogleCloudContactcenterinsightsV1alpha1SilenceData", @@ -19359,27 +17613,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1alpha1ToolCall": { -"description": "A tool call from the agent.", -"id": "GoogleCloudContactcenterinsightsV1alpha1ToolCall", -"properties": { -"input": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Output only. The input arguments to the tool.", -"readOnly": true, -"type": "object" -}, -"toolName": { -"description": "Output only. The name of the tool being called.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata": { "description": "Metadata for undeploying an issue model.", "id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata", @@ -20757,6 +18990,10 @@ true "description": "The entry subagent's display name.", "type": "string" }, +"entrySubagentId": { +"description": "The entry subagent's ID.", +"type": "string" +}, "location": { "description": "The agent's location.", "type": "string" @@ -21154,317 +19391,44 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1mainDeployIssueModelMetadata": { -"description": "Metadata for deploying an issue model.", -"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelMetadata", -"properties": { -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", -"description": "The original request for deployment." -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest": { -"description": "The request to deploy an issue model.", -"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", -"properties": { -"name": { -"description": "Required. The issue model to deploy.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse": { -"description": "The response to deploy an issue model.", -"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse", -"properties": {}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsMetadata": { -"description": "Metadata for a DiagnoseConversations operation.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsMetadata", -"properties": { -"createTime": { -"description": "Output only. The time the operation was created.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"diagnosticReport": { -"$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReport", -"description": "Output only. The diagnostic report containing metrics and intent breakdowns.", -"readOnly": true -}, -"endTime": { -"description": "Output only. The time the operation finished running.", -"format": "google-datetime", -"readOnly": true, -"type": "string" -}, -"fullReport": { -"description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", -"readOnly": true, -"type": "boolean" -}, -"latestStep": { -"$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep", -"description": "Output only. The most recent thought or action from the agent.", -"readOnly": true -}, -"metricType": { -"description": "Output only. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"readOnly": true, -"type": "string" -}, -"partialTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"partialTrajectorySteps": { -"description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep" -}, -"readOnly": true, -"type": "array" -}, -"request": { -"$ref": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest", -"description": "Output only. The request that created the operation.", -"readOnly": true -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest": { -"description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest", -"properties": { -"dryRun": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", -"type": "boolean" -}, -"filter": { -"description": "Optional. AIP-160 compliant filter for selecting target conversations.", -"type": "string" -}, -"fullReport": { -"deprecated": true, -"description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", -"type": "boolean" -}, -"instructions": { -"description": "Optional. Specific instructions for the agent.", -"type": "string" -}, -"maxSteps": { -"description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", -"format": "int32", -"type": "integer" -}, -"metricType": { -"description": "Optional. The type of metric being diagnosed.", -"enum": [ -"DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"type": "string" -}, -"outputConfig": { -"$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfig", -"deprecated": true, -"description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." -}, -"parent": { -"description": "Required. The parent resource where the analysis will be performed.", -"type": "string" -}, -"requestId": { -"description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", -"type": "string" -}, -"taskQuery": { -"description": "Optional. A natural language description of the analysis goal or question.", -"type": "string" -}, -"validateOnly": { -"description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", -"type": "boolean" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsResponse": { -"description": "The response from a DiagnoseConversations request.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsResponse", -"properties": { -"answer": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"exportUri": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", -"readOnly": true, -"type": "string" -}, -"fullTrajectories": { -"deprecated": true, -"description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"fullTrajectorySteps": { -"deprecated": true, -"description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep" -}, -"readOnly": true, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnosticReport": { -"description": "A diagnostic report containing aggregate metrics and intent breakdowns.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReport", -"properties": { -"conversationSlices": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice" -}, -"description": "Output only. A map of conversation slices used in the report.", -"readOnly": true, -"type": "object" -}, -"intentStats": { -"deprecated": true, -"description": "Output only. Deprecated: Intent breakdowns are no longer used.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats" -}, -"readOnly": true, -"type": "array" -}, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for the entire project/dataset.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainLossPattern" -}, -"readOnly": true, -"type": "array" -}, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1mainMetricValue" -}, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, -"type": "object" -}, -"report": { -"description": "Output only. The final report in markdown format.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice": { -"description": "Output only. A map of conversation slices used in the report.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice", -"properties": { -"conversationIds": { -"description": "The list of conversation IDs that match this slice.", -"items": { -"type": "string" -}, -"type": "array" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats": { -"description": "A breakdown of metrics grouped by intent.", -"id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats", +"GoogleCloudContactcenterinsightsV1mainDeployIssueModelMetadata": { +"description": "Metadata for deploying an issue model.", +"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelMetadata", "properties": { -"conversationCount": { -"description": "Output only. The number of conversations associated with this intent.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"intentDisplayName": { -"description": "Output only. The display name of the intent.", +"createTime": { +"description": "Output only. The time the operation was created.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"intentId": { -"description": "Output only. The unique identifier for the intent (from Discovery Engine).", +"endTime": { +"description": "Output only. The time the operation finished running.", +"format": "google-datetime", "readOnly": true, "type": "string" }, -"lossPatterns": { -"description": "Output only. A list of loss patterns identified for this intent.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainLossPattern" +"request": { +"$ref": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", +"description": "The original request for deployment." +} }, -"readOnly": true, -"type": "array" +"type": "object" }, -"metrics": { -"additionalProperties": { -"$ref": "GoogleCloudContactcenterinsightsV1mainMetricValue" +"GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest": { +"description": "The request to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", +"properties": { +"name": { +"description": "Required. The issue model to deploy.", +"type": "string" +} }, -"deprecated": true, -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"readOnly": true, "type": "object" -} }, +"GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse": { +"description": "The response to deploy an issue model.", +"id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse", +"properties": {}, "type": "object" }, "GoogleCloudContactcenterinsightsV1mainDialogflowIntent": { @@ -23068,260 +21032,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1mainLossPattern": { -"description": "A loss pattern of a virtual agent and suggested fixes.", -"id": "GoogleCloudContactcenterinsightsV1mainLossPattern", -"properties": { -"conversationIds": { -"description": "Output only. A list of conversation IDs that match this loss pattern.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"description": { -"description": "Output only. A markdown description of the loss pattern.", -"readOnly": true, -"type": "string" -}, -"displayName": { -"description": "Output only. The display name of the loss pattern.", -"readOnly": true, -"type": "string" -}, -"examples": { -"description": "Output only. A markdown of loss pattern examples.", -"readOnly": true, -"type": "string" -}, -"id": { -"description": "Output only. The unique identifier for the loss pattern.", -"readOnly": true, -"type": "string" -}, -"links": { -"description": "Output only. A list of links to conversations or bot instructions.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLink" -}, -"readOnly": true, -"type": "array" -}, -"percentage": { -"description": "Output only. The percentage of conversations that match this loss pattern.", -"format": "double", -"readOnly": true, -"type": "number" -}, -"suggestedFixes": { -"description": "Output only. A markdown description of the suggested fixes.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainLossPatternLink": { -"description": "A link to a conversation or bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1mainLossPatternLink", -"properties": { -"botInstructionLink": { -"$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink", -"description": "A link to a bot instruction." -}, -"conversationLink": { -"$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink", -"description": "A link to a conversation." -}, -"endByteIndex": { -"description": "The end byte index of the highlighted text (exclusive).", -"format": "int32", -"type": "integer" -}, -"highlightedText": { -"description": "The text that is highlighted. (populated for debugging purposes)", -"type": "string" -}, -"locationType": { -"description": "The location type.", -"enum": [ -"LOCATION_TYPE_UNSPECIFIED", -"DESCRIPTION", -"SUGGESTED_FIXES", -"EXAMPLES" -], -"enumDescriptions": [ -"Unspecified location type.", -"The link applies to the description field.", -"The link applies to the suggested_fixes field.", -"The link applies to the examples field." -], -"type": "string" -}, -"startByteIndex": { -"description": "The start byte index of the highlighted text (inclusive).", -"format": "int32", -"type": "integer" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink": { -"description": "A link to a bot instruction.", -"id": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink", -"properties": { -"endLine": { -"description": "The exclusive end line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"startLine": { -"description": "The inclusive start line number of the instructions.", -"format": "int32", -"type": "integer" -}, -"subagent": { -"description": "The name of the subagent.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink": { -"description": "A link to a conversation.", -"id": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink", -"properties": { -"conversationId": { -"description": "The conversation ID.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainMetricValue": { -"deprecated": true, -"description": "Deprecated: MetricValue is no longer used for diagnostics.", -"id": "GoogleCloudContactcenterinsightsV1mainMetricValue", -"properties": { -"conversations": { -"description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"displayName": { -"description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", -"readOnly": true, -"type": "string" -}, -"hitCount": { -"description": "Output only. The number of positive matches (hits) for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"metricType": { -"description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", -"enum": [ -"METRIC_TYPE_UNSPECIFIED", -"ESCALATION", -"CONTAINMENT" -], -"enumDescriptions": [ -"Metric type is unspecified.", -"Escalation rate.", -"Containment rate." -], -"readOnly": true, -"type": "string" -}, -"sourceId": { -"description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", -"readOnly": true, -"type": "string" -}, -"totalCount": { -"description": "Output only. The total number of items evaluated for this metric.", -"format": "int32", -"readOnly": true, -"type": "integer" -}, -"value": { -"description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", -"format": "double", -"readOnly": true, -"type": "number" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainOutputConfig": { -"description": "Configuration for where to export or return the analysis findings.", -"id": "GoogleCloudContactcenterinsightsV1mainOutputConfig", -"properties": { -"bigqueryDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination", -"description": "Optional. Export to BigQuery." -}, -"gcsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination", -"description": "Optional. Export to a Cloud Storage bucket." -}, -"googleSheetsDestination": { -"$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination", -"description": "Optional. Export directly to a Google Sheet." -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination": { -"description": "BigQuery destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination", -"properties": { -"dataset": { -"description": "Required. The name of the BigQuery dataset.", -"type": "string" -}, -"projectId": { -"description": "Optional. A project ID or number.", -"type": "string" -}, -"table": { -"description": "Required. The BigQuery table name.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination": { -"description": "Cloud Storage destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination", -"properties": { -"uri": { -"description": "Required. The Cloud Storage URI to export the results to.", -"type": "string" -} -}, -"type": "object" -}, -"GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination": { -"description": "Google Sheets destination configuration.", -"id": "GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination", -"properties": { -"sheet": { -"description": "Optional. The sheet name.", -"type": "string" -}, -"spreadsheetId": { -"description": "Optional. An existing Google Sheets ID.", -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1mainPhraseMatchData": { "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", "id": "GoogleCloudContactcenterinsightsV1mainPhraseMatchData", @@ -24308,74 +22018,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1mainSherlockStep": { -"description": "A step in the agent's reasoning process (Trajectory Step).", -"id": "GoogleCloudContactcenterinsightsV1mainSherlockStep", -"properties": { -"agentId": { -"description": "Output only. The ID of the agent that produced/received this content.", -"readOnly": true, -"type": "string" -}, -"content": { -"$ref": "GoogleCloudAiplatformV1Content", -"description": "Output only. The content of the turn (either Model or User role).", -"readOnly": true -}, -"stateDeltas": { -"description": "Output only. List of state changes caused by this specific turn.", -"items": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"type": "object" -}, -"readOnly": true, -"type": "array" -}, -"stepId": { -"description": "Output only. Unique ID for this specific turn.", -"readOnly": true, -"type": "string" -}, -"textInput": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"type": "string" -}, -"readOnly": true, -"type": "array" -}, -"thought": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "string" -}, -"toolCalls": { -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"items": { -"$ref": "GoogleCloudContactcenterinsightsV1mainToolCall" -}, -"readOnly": true, -"type": "array" -}, -"toolOutput": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"deprecated": true, -"description": "Output only. Deprecated: Use content instead.", -"readOnly": true, -"type": "object" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1mainSilenceData": { "description": "The data for a silence annotation.", "id": "GoogleCloudContactcenterinsightsV1mainSilenceData", @@ -24562,27 +22204,6 @@ true }, "type": "object" }, -"GoogleCloudContactcenterinsightsV1mainToolCall": { -"description": "A tool call from the agent.", -"id": "GoogleCloudContactcenterinsightsV1mainToolCall", -"properties": { -"input": { -"additionalProperties": { -"description": "Properties of the object.", -"type": "any" -}, -"description": "Output only. The input arguments to the tool.", -"readOnly": true, -"type": "object" -}, -"toolName": { -"description": "Output only. The name of the tool being called.", -"readOnly": true, -"type": "string" -} -}, -"type": "object" -}, "GoogleCloudContactcenterinsightsV1mainUndeployIssueModelMetadata": { "description": "Metadata for undeploying an issue model.", "id": "GoogleCloudContactcenterinsightsV1mainUndeployIssueModelMetadata", diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json index 72734dc28d..119d14b1bf 100644 --- a/googleapiclient/discovery_cache/documents/container.v1.json +++ b/googleapiclient/discovery_cache/documents/container.v1.json @@ -4,6 +4,12 @@ "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +}, +"https://www.googleapis.com/auth/container": { +"description": "See, edit, configure, and delete your Google Kubernetes Engine data and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/container.read-only": { +"description": "See your Google Kubernetes Engine data and the email address of your Google Account" } } } @@ -149,7 +155,9 @@ "$ref": "ListUsableSubnetworksResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -192,7 +200,9 @@ "$ref": "ServerConfig" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } }, @@ -221,7 +231,9 @@ "$ref": "CheckAutopilotCompatibilityResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "completeIpRotation": { @@ -249,7 +261,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -277,7 +290,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -320,7 +334,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -350,7 +365,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -393,7 +410,9 @@ "$ref": "Cluster" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "getJwks": { @@ -452,7 +471,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "setAddons": { @@ -480,7 +501,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLegacyAbac": { @@ -508,7 +530,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLocations": { @@ -537,7 +560,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLogging": { @@ -565,7 +589,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -593,7 +618,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -621,7 +647,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMonitoring": { @@ -649,7 +676,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -677,7 +705,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setResourceLabels": { @@ -705,7 +734,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -733,7 +763,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -761,7 +792,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "updateMaster": { @@ -789,7 +821,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } }, @@ -821,7 +854,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -849,7 +883,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -898,7 +933,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -928,7 +964,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -977,7 +1015,9 @@ "$ref": "NodePool" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1020,7 +1060,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -1048,7 +1090,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setAutoscaling": { @@ -1076,7 +1119,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -1104,7 +1148,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -1132,7 +1177,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -1160,7 +1206,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } } @@ -1220,7 +1267,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "get": { @@ -1263,7 +1311,9 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1300,7 +1350,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -1342,7 +1394,9 @@ "$ref": "ServerConfig" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } }, @@ -1387,7 +1441,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -1428,7 +1483,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -1462,7 +1518,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -1505,7 +1562,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -1535,7 +1593,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1578,7 +1638,9 @@ "$ref": "Cluster" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "legacyAbac": { @@ -1619,7 +1681,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "list": { @@ -1655,7 +1718,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "locations": { @@ -1697,7 +1762,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "logging": { @@ -1738,7 +1804,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "master": { @@ -1779,7 +1846,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "monitoring": { @@ -1820,7 +1888,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "resourceLabels": { @@ -1861,7 +1930,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -1902,7 +1972,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -1943,7 +2014,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -1984,7 +2056,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -2025,7 +2098,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -2066,7 +2140,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } }, @@ -2118,7 +2193,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -2159,7 +2235,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -2209,7 +2286,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -2239,7 +2317,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -2289,7 +2369,9 @@ "$ref": "NodePool" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2332,7 +2414,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -2380,7 +2464,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -2428,7 +2513,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -2476,7 +2562,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -2524,7 +2611,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } } @@ -2571,7 +2659,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "get": { @@ -2614,7 +2703,9 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2650,7 +2741,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -2660,7 +2753,7 @@ } } }, -"revision": "20260421", +"revision": "20260519", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2798,6 +2891,10 @@ "description": "Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.", "id": "AddonsConfig", "properties": { +"agentSandboxConfig": { +"$ref": "AgentSandboxConfig", +"description": "Optional. Configuration for the AgentSandbox addon." +}, "cloudRunConfig": { "$ref": "CloudRunConfig", "description": "Configuration for the Cloud Run addon, which allows the user to use a managed Knative service." @@ -2945,6 +3042,17 @@ }, "type": "object" }, +"AgentSandboxConfig": { +"description": "Configuration for the AgentSandbox addon.", +"id": "AgentSandboxConfig", +"properties": { +"enabled": { +"description": "Optional. Whether AgentSandbox is enabled for this cluster.", +"type": "boolean" +} +}, +"type": "object" +}, "AnonymousAuthenticationConfig": { "description": "AnonymousAuthenticationConfig defines the settings needed to limit endpoints that allow anonymous authentication.", "id": "AnonymousAuthenticationConfig", @@ -3743,6 +3851,10 @@ "deprecated": true, "description": "Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"initial_node_count\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see `node_pool.config`) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead." }, +"nodeCreationConfig": { +"$ref": "NodeCreationConfig", +"description": "Optional. Configuration for Node Creation Mode." +}, "nodeIpv4CidrSize": { "description": "Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.", "format": "int32", @@ -4139,6 +4251,14 @@ "$ref": "IdentityServiceConfig", "description": "The desired Identity Service component configuration." }, +"desiredImage": { +"description": "The desired name of the image to use for this node. This is used to create clusters using a custom image. NOTE: Set the \"desired_node_pool\" field as well.", +"type": "string" +}, +"desiredImageProject": { +"description": "The project containing the desired image to use for this node. This is used to create clusters using a custom image. NOTE: Set the \"desired_node_pool\" field as well.", +"type": "string" +}, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -4221,6 +4341,10 @@ "$ref": "NetworkTierConfig", "description": "The desired network tier configuration for the cluster." }, +"desiredNodeCreationConfig": { +"$ref": "NodeCreationConfig", +"description": "Optional. The desired NodeCreationConfig for the cluster." +}, "desiredNodeKubeletConfig": { "$ref": "NodeKubeletConfig", "description": "The desired node kubelet config for the cluster." @@ -4706,6 +4830,25 @@ }, "type": "object" }, +"CustomImageConfig": { +"description": "CustomImageConfig contains the information r", +"id": "CustomImageConfig", +"properties": { +"image": { +"description": "The name of the image to use for this node.", +"type": "string" +}, +"imageFamily": { +"description": "The name of the image family to use for this node.", +"type": "string" +}, +"imageProject": { +"description": "The project containing the image to use for this node.", +"type": "string" +} +}, +"type": "object" +}, "CustomNodeInit": { "description": "Support for running custom init code while bootstrapping nodes.", "id": "CustomNodeInit", @@ -4874,6 +5017,27 @@ }, "type": "object" }, +"DataplaneV2Config": { +"description": "DataplaneV2Config is the configuration for DPv2.", +"id": "DataplaneV2Config", +"properties": { +"scalabilityMode": { +"description": "Optional. Scalability mode for the cluster.", +"enum": [ +"SCALABILITY_MODE_UNSPECIFIED", +"DISABLED", +"SCALE_OPTIMIZED" +], +"enumDescriptions": [ +"Default value.", +"Disables the scale optimized mode for DPv2.", +"Enables the scale optimized mode for DPv2." +], +"type": "string" +} +}, +"type": "object" +}, "Date": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", @@ -5224,6 +5388,29 @@ }, "type": "object" }, +"ExclusionUntilEndOfSupport": { +"description": "Defines the maintenance exclusion for the node pool.", +"id": "ExclusionUntilEndOfSupport", +"properties": { +"enabled": { +"description": "Optional. Indicates whether the exclusion is enabled.", +"type": "boolean" +}, +"endTime": { +"description": "Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "FastSocket": { "description": "Configuration of Fast Socket feature.", "id": "FastSocket", @@ -6030,7 +6217,7 @@ false "additionalProperties": { "type": "string" }, -"description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", +"description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, "transparentHugepageDefrag": { @@ -6577,6 +6764,10 @@ false ], "type": "string" }, +"dataplaneV2Config": { +"$ref": "DataplaneV2Config", +"description": "Optional. DataplaneV2Config specifies the DPv2 configuration." +}, "defaultEnablePrivateNodes": { "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", "type": "boolean" @@ -6948,6 +7139,10 @@ false "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).", "type": "string" }, +"nodeImageConfig": { +"$ref": "CustomImageConfig", +"description": "The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM." +}, "oauthScopes": { "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", "items": { @@ -7064,10 +7259,41 @@ false }, "type": "object" }, +"NodeCreationConfig": { +"description": "NodeCreationConfig defines the settings of node creation mode.", +"id": "NodeCreationConfig", +"properties": { +"nodeCreationMode": { +"description": "The mode of node creation.", +"enum": [ +"MODE_UNSPECIFIED", +"VIA_KUBELET", +"VIA_CONTROL_PLANE" +], +"enumDescriptions": [ +"When no user input is provided.", +"Kubelet registers itself.", +"gcp-controller-manager automatically creates the node object after CSR approval." +], +"type": "string" +} +}, +"type": "object" +}, "NodeDrainConfig": { "description": "NodeDrainConfig contains the node drain related configurations for this node pool.", "id": "NodeDrainConfig", "properties": { +"graceTerminationDuration": { +"description": "The duration of the grace termination period for node drain.", +"format": "google-duration", +"type": "string" +}, +"pdbTimeoutDuration": { +"description": "The duration of the PDB timeout period for node drain.", +"format": "google-duration", +"type": "string" +}, "respectPdbDuringNodePoolDeletion": { "description": "Whether to respect PDB during node pool deletion.", "type": "boolean" @@ -7269,6 +7495,10 @@ false "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, +"network": { +"description": "Optional. Immutable. The VPC network for the node pool.", +"type": "string" +}, "networkPerformanceConfig": { "$ref": "NetworkPerformanceConfig", "description": "Network bandwidth tier configuration." @@ -7354,6 +7584,10 @@ false }, "type": "array" }, +"maintenancePolicy": { +"$ref": "NodePoolMaintenancePolicy", +"description": "Optional. Specifies the maintenance policy for the node pool." +}, "management": { "$ref": "NodeManagement", "description": "NodeManagement configuration for this NodePool." @@ -7533,6 +7767,17 @@ false }, "type": "object" }, +"NodePoolMaintenancePolicy": { +"description": "Defines the maintenance policy for the node pool.", +"id": "NodePoolMaintenancePolicy", +"properties": { +"exclusionUntilEndOfSupport": { +"$ref": "ExclusionUntilEndOfSupport", +"description": "Optional. The exclusion until end of support for the node pool." +} +}, +"type": "object" +}, "NodePoolUpgradeInfo": { "description": "NodePoolUpgradeInfo contains the upgrade information of a node pool.", "id": "NodePoolUpgradeInfo", @@ -9654,6 +9899,14 @@ false "$ref": "VirtualNIC", "description": "Enable or disable gvnic on the node pool." }, +"image": { +"description": "The desired name of the image name to use for this node. This is used to create clusters using a custom image.", +"type": "string" +}, +"imageProject": { +"description": "The project containing the desired image to use for this node pool. This is used to create clusters using a custom image.", +"type": "string" +}, "imageType": { "description": "Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json index f664c8080f..16407ab0ac 100644 --- a/googleapiclient/discovery_cache/documents/container.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json @@ -4,6 +4,12 @@ "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +}, +"https://www.googleapis.com/auth/container": { +"description": "See, edit, configure, and delete your Google Kubernetes Engine data and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/container.read-only": { +"description": "See your Google Kubernetes Engine data and the email address of your Google Account" } } } @@ -149,7 +155,9 @@ "$ref": "ListUsableSubnetworksResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -192,7 +200,9 @@ "$ref": "ServerConfig" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -217,7 +227,8 @@ "$ref": "ListLocationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } }, @@ -246,7 +257,9 @@ "$ref": "CheckAutopilotCompatibilityResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "completeControlPlaneUpgrade": { @@ -274,7 +287,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -302,7 +316,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -330,7 +345,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -373,7 +389,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -403,7 +420,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -446,7 +465,9 @@ "$ref": "Cluster" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "getJwks": { @@ -505,7 +526,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "setAddons": { @@ -533,7 +556,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLegacyAbac": { @@ -561,7 +585,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLocations": { @@ -590,7 +615,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setLogging": { @@ -618,7 +644,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -646,7 +673,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -674,7 +702,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMonitoring": { @@ -702,7 +731,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -730,7 +760,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setResourceLabels": { @@ -758,7 +789,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -786,7 +818,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -814,7 +847,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "updateMaster": { @@ -842,7 +876,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } }, @@ -874,7 +909,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -902,7 +938,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -951,7 +988,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -981,7 +1019,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1030,7 +1070,9 @@ "$ref": "NodePool" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1073,7 +1115,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -1101,7 +1145,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setAutoscaling": { @@ -1129,7 +1174,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -1157,7 +1203,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -1185,7 +1232,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -1213,7 +1261,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } } @@ -1273,7 +1322,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "get": { @@ -1316,7 +1366,9 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1353,7 +1405,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -1395,7 +1449,9 @@ "$ref": "ServerConfig" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } }, @@ -1440,7 +1496,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "completeControlPlaneUpgrade": { @@ -1468,7 +1525,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -1509,7 +1567,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -1543,7 +1602,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -1586,7 +1646,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -1616,7 +1677,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1659,7 +1722,9 @@ "$ref": "Cluster" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "legacyAbac": { @@ -1700,7 +1765,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "list": { @@ -1736,7 +1802,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "locations": { @@ -1778,7 +1846,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "logging": { @@ -1819,7 +1888,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "master": { @@ -1860,7 +1930,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "monitoring": { @@ -1901,7 +1972,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "resourceLabels": { @@ -1942,7 +2014,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -1983,7 +2056,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -2024,7 +2098,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -2065,7 +2140,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -2106,7 +2182,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -2147,7 +2224,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } }, @@ -2199,7 +2277,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "create": { @@ -2240,7 +2319,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "delete": { @@ -2290,7 +2370,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -2320,7 +2401,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -2370,7 +2453,9 @@ "$ref": "NodePool" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2413,7 +2498,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -2461,7 +2548,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -2509,7 +2597,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -2557,7 +2646,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "update": { @@ -2605,7 +2695,8 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] } } @@ -2652,7 +2743,8 @@ "$ref": "Empty" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container" ] }, "get": { @@ -2695,7 +2787,9 @@ "$ref": "Operation" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2731,7 +2825,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/container", +"https://www.googleapis.com/auth/container.read-only" ] } } @@ -2741,7 +2837,7 @@ } } }, -"revision": "20260421", +"revision": "20260519", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3927,6 +4023,10 @@ "deprecated": true, "description": "Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"initial_node_count\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see `node_pool.config`) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead." }, +"nodeCreationConfig": { +"$ref": "NodeCreationConfig", +"description": "Optional. Configuration for Node Creation Mode." +}, "nodeIpv4CidrSize": { "description": "Output only. The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.", "format": "int32", @@ -4389,6 +4489,14 @@ "$ref": "IdentityServiceConfig", "description": "The desired Identity Service component configuration." }, +"desiredImage": { +"description": "The desired name of the image to use for this node. This is used to create clusters using a custom image.", +"type": "string" +}, +"desiredImageProject": { +"description": "The project containing the desired image to use for this node. This is used to create clusters using a custom image.", +"type": "string" +}, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -4475,6 +4583,10 @@ "$ref": "NetworkTierConfig", "description": "The desired network tier configuration for the cluster." }, +"desiredNodeCreationConfig": { +"$ref": "NodeCreationConfig", +"description": "Optional. The desired NodeCreationConfig for the cluster." +}, "desiredNodeKubeletConfig": { "$ref": "NodeKubeletConfig", "description": "The desired node kubelet config for the cluster." @@ -5032,6 +5144,25 @@ }, "type": "object" }, +"CustomImageConfig": { +"description": "CustomImageConfig contains the information r", +"id": "CustomImageConfig", +"properties": { +"image": { +"description": "The name of the image to use for this node.", +"type": "string" +}, +"imageFamily": { +"description": "The name of the image family to use for this node.", +"type": "string" +}, +"imageProject": { +"description": "The project containing the image to use for this node.", +"type": "string" +} +}, +"type": "object" +}, "CustomNodeInit": { "description": "Support for running custom init code while bootstrapping nodes.", "id": "CustomNodeInit", @@ -5200,6 +5331,27 @@ }, "type": "object" }, +"DataplaneV2Config": { +"description": "DataplaneV2Config is the configuration for DPv2.", +"id": "DataplaneV2Config", +"properties": { +"scalabilityMode": { +"description": "Optional. Scalability mode for the cluster.", +"enum": [ +"SCALABILITY_MODE_UNSPECIFIED", +"DISABLED", +"SCALE_OPTIMIZED" +], +"enumDescriptions": [ +"Default value.", +"Disables the scale optimized mode for DPv2.", +"Enables the scale optimized mode for DPv2." +], +"type": "string" +} +}, +"type": "object" +}, "Date": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", @@ -5562,6 +5714,29 @@ }, "type": "object" }, +"ExclusionUntilEndOfSupport": { +"description": "Defines the maintenance exclusion for the node pool.", +"id": "ExclusionUntilEndOfSupport", +"properties": { +"enabled": { +"description": "Optional. Indicates whether the exclusion is enabled.", +"type": "boolean" +}, +"endTime": { +"description": "Output only. The end time of the maintenance exclusion. It is output only. It is the cluster control plane version's end of support time, or end of extended support time when the cluster is on extended support channel.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"startTime": { +"description": "Output only. The start time of the maintenance exclusion. It is output only. It is the exclusion creation time.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "FastSocket": { "description": "Configuration of Fast Socket feature.", "id": "FastSocket", @@ -6434,7 +6609,7 @@ false "additionalProperties": { "type": "string" }, -"description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", +"description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, "transparentHugepageDefrag": { @@ -7060,6 +7235,10 @@ false ], "type": "string" }, +"dataplaneV2Config": { +"$ref": "DataplaneV2Config", +"description": "Optional. DataplaneV2Config specifies the DPv2 configuration." +}, "defaultEnablePrivateNodes": { "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", "type": "boolean" @@ -7451,6 +7630,10 @@ false "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).", "type": "string" }, +"nodeImageConfig": { +"$ref": "CustomImageConfig", +"description": "The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM." +}, "oauthScopes": { "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", "items": { @@ -7571,10 +7754,41 @@ false }, "type": "object" }, +"NodeCreationConfig": { +"description": "NodeCreationConfig defines the settings of node creation mode.", +"id": "NodeCreationConfig", +"properties": { +"nodeCreationMode": { +"description": "The mode of node creation.", +"enum": [ +"MODE_UNSPECIFIED", +"VIA_KUBELET", +"VIA_CONTROL_PLANE" +], +"enumDescriptions": [ +"When no user input is provided.", +"Kubelet registers itself.", +"gcp-controller-manager automatically creates the node object after CSR approval." +], +"type": "string" +} +}, +"type": "object" +}, "NodeDrainConfig": { "description": "NodeDrainConfig contains the node drain related configurations for this node pool.", "id": "NodeDrainConfig", "properties": { +"graceTerminationDuration": { +"description": "The duration of the grace termination period for node drain.", +"format": "google-duration", +"type": "string" +}, +"pdbTimeoutDuration": { +"description": "The duration of the PDB timeout period for node drain.", +"format": "google-duration", +"type": "string" +}, "respectPdbDuringNodePoolDeletion": { "description": "Whether to respect PDB during node pool deletion.", "type": "boolean" @@ -7776,6 +7990,10 @@ false "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, +"network": { +"description": "Optional. Immutable. The VPC network for the node pool.", +"type": "string" +}, "networkPerformanceConfig": { "$ref": "NetworkPerformanceConfig", "description": "Network bandwidth tier configuration." @@ -7861,6 +8079,10 @@ false }, "type": "array" }, +"maintenancePolicy": { +"$ref": "NodePoolMaintenancePolicy", +"description": "Optional. Specifies the maintenance policy for the node pool." +}, "management": { "$ref": "NodeManagement", "description": "NodeManagement configuration for this NodePool." @@ -8040,6 +8262,17 @@ false }, "type": "object" }, +"NodePoolMaintenancePolicy": { +"description": "Defines the maintenance policy for the node pool.", +"id": "NodePoolMaintenancePolicy", +"properties": { +"exclusionUntilEndOfSupport": { +"$ref": "ExclusionUntilEndOfSupport", +"description": "Optional. The exclusion until end of support for the node pool." +} +}, +"type": "object" +}, "NodePoolUpgradeConcurrencyConfig": { "description": "NodePoolUpgradeConcurrencyConfig is the configuration for the node pool auto upgrade concurrency.", "id": "NodePoolUpgradeConcurrencyConfig", @@ -10322,6 +10555,14 @@ false "$ref": "VirtualNIC", "description": "Enable or disable gvnic on the node pool." }, +"image": { +"description": "The desired name of the image name to use for this node. This is used to create clusters using a custom image.", +"type": "string" +}, +"imageProject": { +"description": "The project containing the desired image to use for this node pool. This is used to create clusters using a custom image.", +"type": "string" +}, "imageType": { "description": "Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json index a0395a4582..1d9e4ca7f6 100644 --- a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json +++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json @@ -1715,7 +1715,7 @@ } } }, -"revision": "20260505", +"revision": "20260521", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -2329,6 +2329,7 @@ "id": "CVSS", "properties": { "attackComplexity": { +"description": "Attack Complexity (AC). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", @@ -2336,15 +2337,29 @@ "ATTACK_COMPLEXITY_MEDIUM" ], "enumDescriptions": [ -"", -"", -"", -"" +"Unspecified.", +"Low attack complexity (AC:L). Defined in CVSS v2, v3, v4.", +"High attack complexity (AC:H). Defined in CVSS v2, v3, v4.", +"Medium attack complexity (AC:M). Defined in CVSS v2." +], +"type": "string" +}, +"attackRequirements": { +"description": "Attack Requirements (AT). Defined in CVSS v4.", +"enum": [ +"ATTACK_REQUIREMENTS_UNSPECIFIED", +"ATTACK_REQUIREMENTS_NONE", +"ATTACK_REQUIREMENTS_PRESENT" +], +"enumDescriptions": [ +"Unspecified.", +"No attack requirements (AT:N). Defined in CVSS v4.", +"Attack requirements: Present (AT:P). Defined in CVSS v4." ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.", +"description": "Attack Vector (AV). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2353,15 +2368,16 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"", -"", -"", -"", -"" +"Unspecified.", +"Attack Vector: Network (AV:N). Defined in CVSS v2, v3, v4.", +"Attack Vector: Adjacent (AV:A). Defined in CVSS v2, v3, v4.", +"Attack Vector: Local (AV:L). Defined in CVSS v2, v3, v4.", +"Attack Vector: Physical (AV:P). Defined in CVSS v3, v4." ], "type": "string" }, "authentication": { +"description": "Authentication (Au). Defined in CVSS v2.", "enum": [ "AUTHENTICATION_UNSPECIFIED", "AUTHENTICATION_MULTIPLE", @@ -2369,14 +2385,15 @@ "AUTHENTICATION_NONE" ], "enumDescriptions": [ -"", -"", -"", -"" +"Unspecified.", +"Multiple authentication required (Au:M). Defined in CVSS v2.", +"Single authentication required (Au:S). Defined in CVSS v2.", +"No authentication required (Au:N). Defined in CVSS v2." ], "type": "string" }, "availabilityImpact": { +"description": "Availability Impact (A). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2386,12 +2403,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"", -"", -"", -"", -"", -"" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2401,6 +2418,7 @@ "type": "number" }, "confidentialityImpact": { +"description": "Confidentiality Impact (C). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2410,12 +2428,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"", -"", -"", -"", -"", -"" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2428,6 +2446,7 @@ "type": "number" }, "integrityImpact": { +"description": "Integrity Impact (I). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2437,16 +2456,17 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"", -"", -"", -"", -"", -"" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "privilegesRequired": { +"description": "Privileges Required (PR). Defined in CVSS v3, v4.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2454,36 +2474,162 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"", -"", -"", -"" +"Unspecified.", +"No privileges required (PR:N). Defined in CVSS v3, v4.", +"Low privileges required (PR:L). Defined in CVSS v3, v4.", +"High privileges required (PR:H). Defined in CVSS v3, v4." ], "type": "string" }, "scope": { +"description": "Scope (S). Defined in CVSS v3.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"Scope: Unchanged (S:U). Defined in CVSS v3.", +"Scope: Changed (S:C). Defined in CVSS v3." +], +"type": "string" +}, +"subsequentSystemAvailabilityImpact": { +"description": "Subsequent System Availability Impact (SA). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"subsequentSystemConfidentialityImpact": { +"description": "Subsequent System Confidentiality Impact (SC). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"subsequentSystemIntegrityImpact": { +"description": "Subsequent System Integrity Impact (SI). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "userInteraction": { +"description": "User Interaction (UI). Defined in CVSS v3, v4.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", -"USER_INTERACTION_REQUIRED" +"USER_INTERACTION_REQUIRED", +"USER_INTERACTION_PASSIVE", +"USER_INTERACTION_ACTIVE" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"No user interaction required (UI:N). Defined in CVSS v3, v4.", +"User interaction required (UI:R). Defined in CVSS v3.", +"Passive user interaction required (UI:P). Defined in CVSS v4.", +"Active user interaction required (UI:A). Defined in CVSS v4." +], +"type": "string" +}, +"vulnerableSystemAvailabilityImpact": { +"description": "Vulnerable System Availability Impact (VA). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"vulnerableSystemConfidentialityImpact": { +"description": "Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"vulnerableSystemIntegrityImpact": { +"description": "Vulnerable System Integrity Impact (VI). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" } @@ -7294,12 +7440,14 @@ false "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", -"CVSS_VERSION_3" +"CVSS_VERSION_3", +"CVSS_VERSION_4" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"CVSS v2.", +"CVSS v3.", +"CVSS v4." ], "type": "string" }, @@ -7363,12 +7511,14 @@ false "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", -"CVSS_VERSION_3" +"CVSS_VERSION_3", +"CVSS_VERSION_4" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"CVSS v2.", +"CVSS v3.", +"CVSS v4." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json index 08b8457a7f..300457a38a 100644 --- a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json @@ -1771,7 +1771,7 @@ } } }, -"revision": "20260505", +"revision": "20260521", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -2388,11 +2388,11 @@ "type": "object" }, "CVSS": { -"description": "Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator", +"description": "Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator", "id": "CVSS", "properties": { "attackComplexity": { -"description": "Defined in CVSS v3, CVSS v2", +"description": "Attack Complexity (AC). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", @@ -2400,15 +2400,29 @@ "ATTACK_COMPLEXITY_MEDIUM" ], "enumDescriptions": [ -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v2" +"Unspecified.", +"Low attack complexity (AC:L). Defined in CVSS v2, v3, v4.", +"High attack complexity (AC:H). Defined in CVSS v2, v3, v4.", +"Medium attack complexity (AC:M). Defined in CVSS v2." +], +"type": "string" +}, +"attackRequirements": { +"description": "Attack Requirements (AT). Defined in CVSS v4.", +"enum": [ +"ATTACK_REQUIREMENTS_UNSPECIFIED", +"ATTACK_REQUIREMENTS_NONE", +"ATTACK_REQUIREMENTS_PRESENT" +], +"enumDescriptions": [ +"Unspecified.", +"No attack requirements (AT:N). Defined in CVSS v4.", +"Attack requirements: Present (AT:P). Defined in CVSS v4." ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2", +"description": "Attack Vector (AV). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2417,16 +2431,16 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3" +"Unspecified.", +"Attack Vector: Network (AV:N). Defined in CVSS v2, v3, v4.", +"Attack Vector: Adjacent (AV:A). Defined in CVSS v2, v3, v4.", +"Attack Vector: Local (AV:L). Defined in CVSS v2, v3, v4.", +"Attack Vector: Physical (AV:P). Defined in CVSS v3, v4." ], "type": "string" }, "authentication": { -"description": "Defined in CVSS v2", +"description": "Authentication (Au). Defined in CVSS v2.", "enum": [ "AUTHENTICATION_UNSPECIFIED", "AUTHENTICATION_MULTIPLE", @@ -2434,15 +2448,15 @@ "AUTHENTICATION_NONE" ], "enumDescriptions": [ -"Defined in CVSS v2", -"Defined in CVSS v2", -"Defined in CVSS v2", -"Defined in CVSS v2" +"Unspecified.", +"Multiple authentication required (Au:M). Defined in CVSS v2.", +"Single authentication required (Au:S). Defined in CVSS v2.", +"No authentication required (Au:N). Defined in CVSS v2." ], "type": "string" }, "availabilityImpact": { -"description": "Defined in CVSS v3, CVSS v2", +"description": "Availability Impact (A). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2452,12 +2466,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v2", -"Defined in CVSS v2" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2467,7 +2481,7 @@ "type": "number" }, "confidentialityImpact": { -"description": "Defined in CVSS v3, CVSS v2", +"description": "Confidentiality Impact (C). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2477,12 +2491,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v2", -"Defined in CVSS v2" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2495,7 +2509,7 @@ "type": "number" }, "integrityImpact": { -"description": "Defined in CVSS v3, CVSS v2", +"description": "Integrity Impact (I). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2505,17 +2519,17 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3, CVSS v2", -"Defined in CVSS v2", -"Defined in CVSS v2" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "privilegesRequired": { -"description": "Defined in CVSS v3", +"description": "Privileges Required (PR). Defined in CVSS v3, v4.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2523,38 +2537,162 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3" +"Unspecified.", +"No privileges required (PR:N). Defined in CVSS v3, v4.", +"Low privileges required (PR:L). Defined in CVSS v3, v4.", +"High privileges required (PR:H). Defined in CVSS v3, v4." ], "type": "string" }, "scope": { -"description": "Defined in CVSS v3", +"description": "Scope (S). Defined in CVSS v3.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3" +"Unspecified.", +"Scope: Unchanged (S:U). Defined in CVSS v3.", +"Scope: Changed (S:C). Defined in CVSS v3." +], +"type": "string" +}, +"subsequentSystemAvailabilityImpact": { +"description": "Subsequent System Availability Impact (SA). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"subsequentSystemConfidentialityImpact": { +"description": "Subsequent System Confidentiality Impact (SC). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"subsequentSystemIntegrityImpact": { +"description": "Subsequent System Integrity Impact (SI). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "userInteraction": { -"description": "Defined in CVSS v3", +"description": "User Interaction (UI). Defined in CVSS v3, v4.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", -"USER_INTERACTION_REQUIRED" +"USER_INTERACTION_REQUIRED", +"USER_INTERACTION_PASSIVE", +"USER_INTERACTION_ACTIVE" +], +"enumDescriptions": [ +"Unspecified.", +"No user interaction required (UI:N). Defined in CVSS v3, v4.", +"User interaction required (UI:R). Defined in CVSS v3.", +"Passive user interaction required (UI:P). Defined in CVSS v4.", +"Active user interaction required (UI:A). Defined in CVSS v4." +], +"type": "string" +}, +"vulnerableSystemAvailabilityImpact": { +"description": "Vulnerable System Availability Impact (VA). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" ], "enumDescriptions": [ -"Defined in CVSS v3", -"Defined in CVSS v3", -"Defined in CVSS v3" +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"vulnerableSystemConfidentialityImpact": { +"description": "Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." +], +"type": "string" +}, +"vulnerableSystemIntegrityImpact": { +"description": "Vulnerable System Integrity Impact (VI). Defined in CVSS v4.", +"enum": [ +"IMPACT_UNSPECIFIED", +"IMPACT_HIGH", +"IMPACT_LOW", +"IMPACT_NONE", +"IMPACT_PARTIAL", +"IMPACT_COMPLETE" +], +"enumDescriptions": [ +"Unspecified.", +"High impact (H). Defined in CVSS v3, v4.", +"Low impact (L). Defined in CVSS v3, v4.", +"No impact (N). Defined in CVSS v2, v3, v4.", +"Partial impact (P). Defined in CVSS v2.", +"Complete impact (C). Defined in CVSS v2." ], "type": "string" } @@ -5442,12 +5580,14 @@ false "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", -"CVSS_VERSION_3" +"CVSS_VERSION_3", +"CVSS_VERSION_4" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"CVSS v2.", +"CVSS v3.", +"CVSS v4." ], "type": "string" }, @@ -7584,12 +7724,14 @@ false "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", -"CVSS_VERSION_3" +"CVSS_VERSION_3", +"CVSS_VERSION_4" ], "enumDescriptions": [ -"", -"", -"" +"Unspecified.", +"CVSS v2.", +"CVSS v3.", +"CVSS v4." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/dataform.v1.json b/googleapiclient/discovery_cache/documents/dataform.v1.json index c6023433c7..956b02edc6 100644 --- a/googleapiclient/discovery_cache/documents/dataform.v1.json +++ b/googleapiclient/discovery_cache/documents/dataform.v1.json @@ -3150,7 +3150,7 @@ "type": "string" }, "pageSize": { -"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", +"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.", "format": "int32", "location": "query", "type": "integer" @@ -3235,7 +3235,7 @@ } } }, -"revision": "20260430", +"revision": "20260529", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { @@ -3898,11 +3898,11 @@ "id": "DirectoryEntry", "properties": { "directory": { -"description": "A child directory in the directory.", +"description": "A child directory in the directory. The path is returned including the full folder structure from the root.", "type": "string" }, "file": { -"description": "A file in the directory.", +"description": "A file in the directory. The path is returned including the full folder structure from the root.", "type": "string" }, "metadata": { @@ -4157,7 +4157,16 @@ "type": "string" }, "defaultBranch": { -"description": "Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository.", +"description": "Optional. The Git remote's default branch name. If not set `main` will be used.", +"type": "string" +}, +"effectiveDefaultBranch": { +"description": "Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.", +"readOnly": true, +"type": "string" +}, +"gitRepositoryLink": { +"description": "Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`", "type": "string" }, "sshAuthenticationConfig": { diff --git a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json index 47c804e334..40e82d8561 100644 --- a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json @@ -1087,6 +1087,35 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"deleteLongRunning": { +"description": "Deletes a single Repository asynchronously.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:deleteLongRunning", +"httpMethod": "POST", +"id": "dataform.projects.locations.repositories.deleteLongRunning", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The repository's name.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}:deleteLongRunning", +"request": { +"$ref": "DeleteRepositoryLongRunningRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/bigquery", +"https://www.googleapis.com/auth/cloud-platform" +] +}, "fetchHistory": { "description": "Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:fetchHistory", @@ -3162,7 +3191,7 @@ "type": "string" }, "pageSize": { -"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", +"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.", "format": "int32", "location": "query", "type": "integer" @@ -3247,7 +3276,7 @@ } } }, -"revision": "20260430", +"revision": "20260529", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { @@ -3894,6 +3923,17 @@ }, "type": "object" }, +"DeleteRepositoryLongRunningRequest": { +"description": "`DeleteRepositoryLongRunning` request message.", +"id": "DeleteRepositoryLongRunningRequest", +"properties": { +"force": { +"description": "Optional. If set to true, child resources of this repository (compilation results and workflow invocations) will also be deleted. Otherwise, the request will only succeed if the repository has no child resources. **Note:** *This flag doesn't support deletion of workspaces, release configs or workflow configs. If any of such resources exists in the repository, the request will fail.*", +"type": "boolean" +} +}, +"type": "object" +}, "DeleteTeamFolderTreeRequest": { "description": "`DeleteTeamFolderTree` request message.", "id": "DeleteTeamFolderTreeRequest", @@ -3910,11 +3950,11 @@ "id": "DirectoryEntry", "properties": { "directory": { -"description": "A child directory in the directory.", +"description": "A child directory in the directory. The path is returned including the full folder structure from the root.", "type": "string" }, "file": { -"description": "A file in the directory.", +"description": "A file in the directory. The path is returned including the full folder structure from the root.", "type": "string" }, "metadata": { @@ -4169,7 +4209,16 @@ "type": "string" }, "defaultBranch": { -"description": "Required. The Git remote's default branch name. If not set, `main` will be used and stored for the repository.", +"description": "Optional. The Git remote's default branch name. If not set `main` will be used.", +"type": "string" +}, +"effectiveDefaultBranch": { +"description": "Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.", +"readOnly": true, +"type": "string" +}, +"gitRepositoryLink": { +"description": "Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`", "type": "string" }, "sshAuthenticationConfig": { diff --git a/googleapiclient/discovery_cache/documents/datalineage.v1.json b/googleapiclient/discovery_cache/documents/datalineage.v1.json index 8f7e446484..535a15b3c2 100644 --- a/googleapiclient/discovery_cache/documents/datalineage.v1.json +++ b/googleapiclient/discovery_cache/documents/datalineage.v1.json @@ -4,6 +4,12 @@ "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." +}, +"https://www.googleapis.com/auth/datalineage.read-write": { +"description": "See, edit, configure, and delete your Google Cloud Data Lineage data and see the email address for your Google Account" +}, +"https://www.googleapis.com/auth/datalineage.readonly": { +"description": "See your Google Cloud Data Lineage data and the email address of your Google Account" } } } @@ -581,7 +587,9 @@ "$ref": "GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse" }, "scopes": [ -"https://www.googleapis.com/auth/cloud-platform" +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/datalineage.read-write", +"https://www.googleapis.com/auth/datalineage.readonly" ] }, "searchLinks": { @@ -1275,7 +1283,7 @@ } } }, -"revision": "20260511", +"revision": "20260522", "rootUrl": "https://datalineage.googleapis.com/", "schemas": { "GoogleCloudDatacatalogLineageConfigmanagementV1Config": { @@ -1947,7 +1955,7 @@ "description": "Optional. Limits for the search." }, "locations": { -"description": "Required. The locations to search in.", +"description": "Required. The locations to search in. This list should contain the location from the `parent` field.", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/datamanager.v1.json b/googleapiclient/discovery_cache/documents/datamanager.v1.json index 7805f7b6f7..afc364b21b 100644 --- a/googleapiclient/discovery_cache/documents/datamanager.v1.json +++ b/googleapiclient/discovery_cache/documents/datamanager.v1.json @@ -820,13 +820,24 @@ } } }, -"revision": "20260507", +"revision": "20260527", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdIdentifiers": { "description": "Identifiers and other information used to match the conversion event with other online activity (such as ad clicks).", "id": "AdIdentifiers", "properties": { +"dclid": { +"description": "Optional. The display click ID associated with this event.", +"type": "string" +}, +"encryptedUserIds": { +"description": "Optional. Any number of encrypted user IDs.", +"items": { +"$ref": "EncryptedUserId" +}, +"type": "array" +}, "gbraid": { "description": "Optional. The click identifier for clicks associated with app events and originating from iOS devices starting with iOS14.", "type": "string" @@ -835,10 +846,18 @@ "description": "Optional. The Google click ID (gclid) associated with this event.", "type": "string" }, +"impressionId": { +"description": "Optional. The impression ID associated with this event.", +"type": "string" +}, "landingPageDeviceInfo": { "$ref": "DeviceInfo", "description": "Optional. Information gathered about the device being used (if any) at the time of landing onto the advertiser\u2019s site after interacting with the ad." }, +"matchId": { +"description": "Optional. The match ID field used to join this event with a previous event.", +"type": "string" +}, "mobileDeviceId": { "description": "Optional. The mobile identifier for advertisers. This would be IDFA on iOS, AdID on Android, or other platforms\u2019 identifiers for advertisers.", "type": "string" @@ -881,6 +900,10 @@ "description": "The audience member to be operated on.", "id": "AudienceMember", "properties": { +"compositeData": { +"$ref": "CompositeData", +"description": "Group of multiple identifier types." +}, "consent": { "$ref": "Consent", "description": "Optional. The consent setting for the user." @@ -999,6 +1022,24 @@ }, "type": "object" }, +"CompositeData": { +"description": "Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required.", +"id": "CompositeData", +"properties": { +"ipData": { +"description": "Optional. IP address data representing customer interaction used to build the audience.", +"items": { +"$ref": "IpData" +}, +"type": "array" +}, +"userData": { +"$ref": "UserData", +"description": "Optional. User-provided data that identifies the user." +} +}, +"type": "object" +}, "Consent": { "description": "[Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user.", "id": "Consent", @@ -1087,6 +1128,36 @@ }, "type": "object" }, +"DataTypeCount": { +"description": "The count for a specific data type.", +"id": "DataTypeCount", +"properties": { +"count": { +"description": "The count for this data type.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "The type of data.", +"enum": [ +"DATA_TYPE_UNSPECIFIED", +"EMAIL", +"PHONE_NUMBER", +"ADDRESS", +"IP_ADDRESS" +], +"enumDescriptions": [ +"The data type is unspecified.", +"The data is an email address.", +"The data is a phone number.", +"The data is a physical address.", +"The data is an IP address." +], +"type": "string" +} +}, +"type": "object" +}, "Destination": { "description": "The Google product you're sending data to. For example, a Google Ads account.", "id": "Destination", @@ -1177,6 +1248,58 @@ "properties": {}, "type": "object" }, +"EncryptedUserId": { +"description": "A user identifier issued to be used for attribution. All fields are required if this is used.", +"id": "EncryptedUserId", +"properties": { +"encryptedId": { +"description": "Required. The alphanumeric encrypted id.", +"type": "string" +}, +"entityId": { +"description": "Required. The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.", +"format": "int64", +"type": "string" +}, +"entityType": { +"description": "Required. The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.", +"enum": [ +"ENCRYPTION_ENTITY_TYPE_UNSPECIFIED", +"CAMPAIGN_MANAGER_ACCOUNT", +"CAMPAIGN_MANAGER_ADVERTISER", +"DISPLAY_VIDEO_PARTNER", +"DISPLAY_VIDEO_ADVERTISER", +"GOOGLE_ADS_CUSTOMER", +"GOOGLE_AD_MANAGER_NETWORK_CODE" +], +"enumDescriptions": [ +"Unspecified encryption entity type.", +"Campaign Manager 360 account.", +"Campaign Manager 360 advertiser.", +"Display & Video 360 partner.", +"Display & Video 360 advertiser.", +"Google Ads customer.", +"Google Ad Manager network code." +], +"type": "string" +}, +"source": { +"description": "Required. Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.", +"enum": [ +"ENCRYPTION_SOURCE_UNSPECIFIED", +"AD_SERVING", +"DATA_TRANSFER" +], +"enumDescriptions": [ +"Unspecified encryption source.", +"Ad serving encryption source.", +"Data transfer encryption source." +], +"type": "string" +} +}, +"type": "object" +}, "EncryptionInfo": { "description": "Encryption information for the data being ingested.", "id": "EncryptionInfo", @@ -1227,7 +1350,22 @@ "PROCESSING_ERROR_REASON_AWS_AUTH_FAILED", "PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR", "PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER", -"PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID" +"PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", +"PROCESSING_ERROR_REASON_MATCH_ID_NOT_FOUND", +"PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_MATCH_ID", +"PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_GCLID", +"PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_DCLID", +"PROCESSING_ERROR_REASON_INVALID_AD_IDENTIFIERS", +"PROCESSING_ERROR_REASON_INVALID_MOBILE_ID_FORMAT", +"PROCESSING_ERROR_REASON_ORIGINAL_CONVERSIONS_NOT_FOUND", +"PROCESSING_ERROR_REASON_EVENT_ID_DECODE_ERROR", +"PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_IMPRESSION_ID", +"PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND", +"PROCESSING_ERROR_REASON_CONVERSION_PRECEDES_CLICK", +"PROCESSING_ERROR_REASON_TOO_RECENT_CLICK", +"PROCESSING_ERROR_REASON_INVALID_CLICK", +"PROCESSING_ERROR_REASON_INVALID_OPERATING_ACCOUNT_FOR_CLICK", +"PROCESSING_ERROR_REASON_CLICK_NOT_FOUND" ], "enumDescriptions": [ "The processing error reason is unknown.", @@ -1258,7 +1396,22 @@ "The system failed to authenticate with AWS.", "Failed to decrypt the UserIdentifier data using the DEK.", "The user attempted to ingest events with an ad identifier that isn't from the operating account's ads.", -"One-per-click conversion actions cannot be used with BRAIDs." +"One-per-click conversion actions cannot be used with BRAIDs.", +"The match ID can not be found.", +"The user ID can not be found for the match ID.", +"The user ID can not be found for the GCLID.", +"The user ID can not be found for the DCLID.", +"There are ad identifiers that are invalid.", +"The mobile ID format is invalid.", +"The original conversions can't be found.", +"The event ID (dclid or impression ID) cannot be decoded.", +"The user ID cannot be found for the given impression ID.", +"The user ID cannot be found.", +"The event timestamp on the event was earlier than the associated click.", +"The click occurred too recently.", +"The event can't be attributed to a click (GCLID). This may be because the click did not come from a Google Ads campaign, for example.", +"The click from the event isn't associated with the `operating_account` of the destination.", +"A corresponding click can't be found that matches the provided attributes." ], "type": "string" }, @@ -1315,6 +1468,11 @@ "$ref": "Consent", "description": "Optional. Information about whether the associated user has provided different types of consent." }, +"conversionCount": { +"description": "Optional. The conversion quantity associated with the event, for counting-based conversions.", +"format": "double", +"type": "number" +}, "conversionValue": { "description": "Optional. The conversion value associated with the event, for value-based conversions.", "format": "double", @@ -1570,6 +1728,10 @@ "description": "The status of the ingest audience members request.", "id": "IngestAudienceMembersStatus", "properties": { +"compositeDataIngestionStatus": { +"$ref": "IngestCompositeDataStatus", +"description": "The status of the composite data ingestion to the destination." +}, "mobileDataIngestionStatus": { "$ref": "IngestMobileDataStatus", "description": "The status of the mobile data ingestion to the destination." @@ -1593,6 +1755,55 @@ }, "type": "object" }, +"IngestCompositeDataStatus": { +"description": "The status of the composite data ingestion to the destination containing stats related to the ingestion.", +"id": "IngestCompositeDataStatus", +"properties": { +"dataTypeCounts": { +"description": "The total count of data types sent in the upload request for the destination, broken down by data type. Includes all data types in the request, regardless of whether they were successfully ingested or not.", +"items": { +"$ref": "DataTypeCount" +}, +"type": "array" +}, +"recordCount": { +"description": "The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not.", +"format": "int64", +"type": "string" +}, +"uploadMatchRateRange": { +"description": "The match rate range of the upload.", +"enum": [ +"MATCH_RATE_RANGE_UNKNOWN", +"MATCH_RATE_RANGE_NOT_ELIGIBLE", +"MATCH_RATE_RANGE_LESS_THAN_20", +"MATCH_RATE_RANGE_20_TO_30", +"MATCH_RATE_RANGE_31_TO_40", +"MATCH_RATE_RANGE_41_TO_50", +"MATCH_RATE_RANGE_51_TO_60", +"MATCH_RATE_RANGE_61_TO_70", +"MATCH_RATE_RANGE_71_TO_80", +"MATCH_RATE_RANGE_81_TO_90", +"MATCH_RATE_RANGE_91_TO_100" +], +"enumDescriptions": [ +"The match rate range is unknown.", +"The match rate range is not eligible.", +"The match rate range is less than 20% (in the interval `[0, 20)`).", +"The match rate range is between 20% and 30% (in the interval `[20, 31)`).", +"The match rate range is between 31% and 40% (in the interval `[31, 41)`).", +"The match rate range is between 41% and 50% (in the interval `[41, 51)`).", +"The match rate range is between 51% and 60% (in the interval `[51, 61)`.", +"The match rate range is between 61% and 70% (in the interval `[61, 71)`).", +"The match rate range is between 71% and 80% (in the interval `[71, 81)`).", +"The match rate range is between 81% and 90% (in the interval `[81, 91)`).", +"The match rate range is between 91% and 100% (in the interval `[91, 100]`)." +], +"type": "string" +} +}, +"type": "object" +}, "IngestEventsRequest": { "description": "Request to upload audience members to the provided destinations. Returns an IngestEventsResponse.", "id": "IngestEventsRequest", @@ -1832,6 +2043,27 @@ }, "type": "object" }, +"IpData": { +"description": "IP address information for a user. We recommend including observe_start_time and observe_end_time to help improve Customer Match match rates.", +"id": "IpData", +"properties": { +"ipAddress": { +"description": "Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6.", +"type": "string" +}, +"observeEndTime": { +"description": "Optional. Last recorded interaction time from this IP address in a session.", +"format": "google-datetime", +"type": "string" +}, +"observeStartTime": { +"description": "Optional. First recorded interaction time from this IP address in a session.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "Item": { "description": "Represents an item in the cart associated with the event.", "id": "Item", @@ -2285,7 +2517,8 @@ "DISPLAY_VIDEO_ADVERTISER", "DATA_PARTNER", "GOOGLE_ANALYTICS_PROPERTY", -"GOOGLE_AD_MANAGER_AUDIENCE_LINK" +"GOOGLE_AD_MANAGER_AUDIENCE_LINK", +"FLOODLIGHT_CONFIG" ], "enumDescriptions": [ "Unspecified product. Should never be used.", @@ -2294,7 +2527,8 @@ "Display & Video 360 advertiser.", "Data Partner.", "Google Analytics.", -"Google Ad Manager audience link." +"Google Ad Manager audience link.", +"Floodlight configuration." ], "type": "string" }, @@ -2407,6 +2641,10 @@ "description": "The status of the remove audience members request.", "id": "RemoveAudienceMembersStatus", "properties": { +"compositeDataRemovalStatus": { +"$ref": "RemoveCompositeDataStatus", +"description": "The status of the composite data removal from the destination." +}, "mobileDataRemovalStatus": { "$ref": "RemoveMobileDataStatus", "description": "The status of the mobile data removal from the destination." @@ -2430,6 +2668,25 @@ }, "type": "object" }, +"RemoveCompositeDataStatus": { +"description": "The status of the composite data removal from the destination.", +"id": "RemoveCompositeDataStatus", +"properties": { +"dataTypeCounts": { +"description": "The total count of data types sent in the removal request, broken down by data type. Includes all data types in the request, regardless of whether they were successfully removed or not.", +"items": { +"$ref": "DataTypeCount" +}, +"type": "array" +}, +"recordCount": { +"description": "The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, "RemoveMobileDataStatus": { "description": "The status of the mobile data removal from the destination.", "id": "RemoveMobileDataStatus", diff --git a/googleapiclient/discovery_cache/documents/dataplex.v1.json b/googleapiclient/discovery_cache/documents/dataplex.v1.json index 7c3d7497a6..ce4d9dfd36 100644 --- a/googleapiclient/discovery_cache/documents/dataplex.v1.json +++ b/googleapiclient/discovery_cache/documents/dataplex.v1.json @@ -1377,6 +1377,92 @@ }, "changeRequests": { "methods": { +"approve": { +"description": "Approves a ChangeRequest.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:approve", +"httpMethod": "POST", +"id": "dataplex.projects.locations.changeRequests.approve", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ChangeRequest to approve.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:approve", +"request": { +"$ref": "GoogleCloudDataplexV1ApproveChangeRequestRequest" +}, +"response": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, +"delete": { +"description": "Deletes a ChangeRequest.Behavior depends on the caller's permissions and the resource's state: 1. Callers with dataplex.changeRequests.delete can only delete ChangeRequests in the NEW state. 2. Callers with the dataplex.changeRequests.adminDelete permission can delete ChangeRequests regardless of their state.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}", +"httpMethod": "DELETE", +"id": "dataplex.projects.locations.changeRequests.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the ChangeRequest.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The name of the ChangeRequest to delete. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, +"get": { +"description": "Gets a ChangeRequest.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}", +"httpMethod": "GET", +"id": "dataplex.projects.locations.changeRequests.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ChangeRequest to retrieve. Format: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:getIamPolicy", @@ -1409,6 +1495,117 @@ "https://www.googleapis.com/auth/dataplex.read-write" ] }, +"list": { +"description": "Lists ChangeRequests.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests", +"httpMethod": "GET", +"id": "dataplex.projects.locations.changeRequests.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter request. Supports filtering by: state, author, resource, create_time, update_time.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Order by fields for the result.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Maximum number of ChangeRequests to return. The service may return fewer.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. Page token received from a previous ListChangeRequests call.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of ChangeRequests. Format: projects/{project_number}/locations/{location_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/changeRequests", +"response": { +"$ref": "GoogleCloudDataplexV1ListChangeRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, +"patch": { +"description": "Updates a ChangeRequest. Only allowed when the state is NEW.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}", +"httpMethod": "PATCH", +"id": "dataplex.projects.locations.changeRequests.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The relative resource name of the ChangeRequest, of the form: projects/{project_number}/locations/{location_id}/changeRequests/{change_request_id}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"response": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, +"reject": { +"description": "Rejects a ChangeRequest.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:reject", +"httpMethod": "POST", +"id": "dataplex.projects.locations.changeRequests.reject", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the ChangeRequest to reject.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/changeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:reject", +"request": { +"$ref": "GoogleCloudDataplexV1RejectChangeRequestRequest" +}, +"response": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform", +"https://www.googleapis.com/auth/dataplex.read-write" +] +}, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/changeRequests/{changeRequestsId}:setIamPolicy", @@ -7519,7 +7716,7 @@ } } }, -"revision": "20260514", +"revision": "20260603", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -7737,6 +7934,17 @@ "properties": {}, "type": "object" }, +"GoogleCloudDataplexV1ApproveChangeRequestRequest": { +"description": "Request message for ApproveChangeRequest.", +"id": "GoogleCloudDataplexV1ApproveChangeRequestRequest", +"properties": { +"etag": { +"description": "Optional. The etag of the ChangeRequest.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1Aspect": { "description": "Represents a single piece of metadata describing an entry or entry link.", "id": "GoogleCloudDataplexV1Aspect", @@ -8480,7 +8688,8 @@ "DELETE_GLOSSARY_CATEGORY", "CREATE_GLOSSARY_TERM", "UPDATE_GLOSSARY_TERM", -"DELETE_GLOSSARY_TERM" +"DELETE_GLOSSARY_TERM", +"REQUEST_DATA_PRODUCT_ACCESS" ], "enumDescriptions": [ "State unspecified.", @@ -8497,7 +8706,8 @@ "Request to delete a GlossaryCategory.", "Request to create a GlossaryTerm.", "Request to update a GlossaryTerm.", -"Request to delete a GlossaryTerm." +"Request to delete a GlossaryTerm.", +"Request to request Data Product access." ], "readOnly": true, "type": "string" @@ -8528,6 +8738,10 @@ "readOnly": true, "type": "string" }, +"dataProductAccessRequest": { +"$ref": "GoogleCloudDataplexV1DataProductAccessRequest", +"description": "Payload for Data Product access request." +}, "deleteEntry": { "$ref": "GoogleCloudDataplexV1DeleteEntryRequest", "description": "Payload for deleting an Entry." @@ -9171,11 +9385,6 @@ "description": "Describes options for unstructured data discovery.", "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigUnstructuredDataOptions", "properties": { -"entityInferenceEnabled": { -"deprecated": true, -"description": "Optional. Deprecated: Use semantic_inference_enabled instead. Specifies whether deeper entity inference over the objects' contents using GenAI is enabled.", -"type": "boolean" -}, "semanticInferenceEnabled": { "description": "Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled.", "type": "boolean" @@ -9528,6 +9737,30 @@ }, "type": "object" }, +"GoogleCloudDataplexV1DataProductAccessRequest": { +"description": "Message for requesting access to a Data Product. This will be used to create a ChangeRequest of type REQUEST_DATA_PRODUCT_ACCESS.", +"id": "GoogleCloudDataplexV1DataProductAccessRequest", +"properties": { +"accessGroupDisplayName": { +"description": "Output only. The display name of the access group defined in the Data Product for which access is being requested.", +"readOnly": true, +"type": "string" +}, +"accessGroupId": { +"description": "Required. The ID of the access group for which access is being requested. This corresponds to the unique identifier of the AccessGroup defined in the Data Product.", +"type": "string" +}, +"parent": { +"description": "Required. The resource name of the data product. Format: projects/{project_number}/locations/{location_id}/dataProducts/{data_product_id}", +"type": "string" +}, +"requestedPrincipal": { +"description": "Optional. The principal for which access is being requested in IAM format. If not specified, the requestor's principal will be used. Example: serviceAccount:my-sa@my-project.iam.gserviceaccount.com. Only service account principals are currently supported. https://cloud.google.com/iam/docs/principal-identifiers", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1DataProductPrincipal": { "description": "Represents the principal entity associated with an access group, as per https://cloud.google.com/iam/docs/principals-overview.", "id": "GoogleCloudDataplexV1DataProductPrincipal", @@ -10972,14 +11205,16 @@ "DATA_QUALITY", "DATA_PROFILE", "DATA_DISCOVERY", -"DATA_DOCUMENTATION" +"DATA_DOCUMENTATION", +"UNSTRUCTURED_DATA_PROFILE" ], "enumDescriptions": [ "The data scan type is unspecified.", "Data quality scan.", "Data profile scan.", "Data discovery scan.", -"Data documentation scan." +"Data documentation scan.", +"Unstructured data profile scan." ], "readOnly": true, "type": "string" @@ -10989,6 +11224,15 @@ "readOnly": true, "type": "string" }, +"unstructuredDataProfileResult": { +"$ref": "GoogleCloudDataplexV1UnstructuredDataProfileResult", +"description": "Output only. The result of an unstructured data profile scan.", +"readOnly": true +}, +"unstructuredDataProfileSpec": { +"$ref": "GoogleCloudDataplexV1UnstructuredDataProfileSpec", +"description": "Optional. Settings for an unstructured data profile scan." +}, "updateTime": { "description": "Output only. The time when the scan was last updated.", "format": "google-datetime", @@ -11426,14 +11670,16 @@ "DATA_QUALITY", "DATA_PROFILE", "DATA_DISCOVERY", -"DATA_DOCUMENTATION" +"DATA_DOCUMENTATION", +"UNSTRUCTURED_DATA_PROFILE" ], "enumDescriptions": [ "The data scan type is unspecified.", "Data quality scan.", "Data profile scan.", "Data discovery scan.", -"Data documentation scan." +"Data documentation scan.", +"Unstructured data profile scan." ], "readOnly": true, "type": "string" @@ -11442,6 +11688,16 @@ "description": "Output only. System generated globally unique ID for the DataScanJob.", "readOnly": true, "type": "string" +}, +"unstructuredDataProfileResult": { +"$ref": "GoogleCloudDataplexV1UnstructuredDataProfileResult", +"description": "Output only. The result of an unstructured data profile scan.", +"readOnly": true +}, +"unstructuredDataProfileSpec": { +"$ref": "GoogleCloudDataplexV1UnstructuredDataProfileSpec", +"description": "Output only. Settings for an unstructured data profile scan.", +"readOnly": true } }, "type": "object" @@ -12682,6 +12938,284 @@ }, "type": "object" }, +"GoogleCloudDataplexV1GraphProfile": { +"description": "Contains the strict structure for graph-profile for semantic inference scan result.", +"id": "GoogleCloudDataplexV1GraphProfile", +"properties": { +"edgeTypes": { +"description": "Output only. Edge types.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileEdgeType" +}, +"readOnly": true, +"type": "array" +}, +"nodeTypes": { +"description": "Output only. Node types.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileNodeType" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileEdgeType": { +"description": "Represents a type of edge (relationship) in the graph.", +"id": "GoogleCloudDataplexV1GraphProfileEdgeType", +"properties": { +"description": { +"description": "Output only. Description of the edge type.", +"readOnly": true, +"type": "string" +}, +"extractionHints": { +"$ref": "GoogleCloudDataplexV1GraphProfileEdgeTypeExtractionHints", +"description": "Output only. Extraction hints for the edge.", +"readOnly": true +}, +"fields": { +"description": "Output only. Fields of the edge type.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileField" +}, +"readOnly": true, +"type": "array" +}, +"foreignKeys": { +"description": "Output only. Defines the Foreign Key constraints for the edge.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKey" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Name of the edge type.", +"readOnly": true, +"type": "string" +}, +"sourceNodeType": { +"description": "Output only. Source node type.", +"readOnly": true, +"type": "string" +}, +"targetNodeType": { +"description": "Output only. Target node type.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileEdgeTypeExtractionHints": { +"description": "Extraction hints (edge-level).", +"id": "GoogleCloudDataplexV1GraphProfileEdgeTypeExtractionHints", +"properties": { +"cardinality": { +"description": "Output only. Expected connectivity topology and bounds of this relationship. Format: \"Topology - Description\" Example: \"1:N - One company can have multiple financial reports.\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKey": { +"description": "Represents a foreign key constraint.", +"id": "GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKey", +"properties": { +"description": { +"description": "Output only. Description of the foreign key.", +"readOnly": true, +"type": "string" +}, +"fieldMappings": { +"description": "Output only. Field Mappings. Mappings between local fields and the fields they reference in the referenced node type.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKeyFieldMapping" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Name of the foreign key constraint.", +"readOnly": true, +"type": "string" +}, +"referencedNodeType": { +"description": "Output only. The node type this constraint references.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKeyFieldMapping": { +"description": "Maps a local field to a referenced field.", +"id": "GoogleCloudDataplexV1GraphProfileEdgeTypeForeignKeyFieldMapping", +"properties": { +"field": { +"description": "Output only. Local field name forming part of the foreign key.", +"readOnly": true, +"type": "string" +}, +"referencedField": { +"description": "Output only. Field name in the referenced node type.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileField": { +"description": "Represents a field in a node or edge type.", +"id": "GoogleCloudDataplexV1GraphProfileField", +"properties": { +"dataType": { +"description": "Output only. The data type of the field, e.g., STRING, INTEGER, DATE.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. Description of the field.", +"readOnly": true, +"type": "string" +}, +"extractionHints": { +"$ref": "GoogleCloudDataplexV1GraphProfileFieldExtractionHints", +"description": "Output only. Extraction hints for the field.", +"readOnly": true +}, +"fields": { +"description": "Output only. Sub-fields of this field (for STRUCT types).", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileField" +}, +"readOnly": true, +"type": "array" +}, +"metadataType": { +"description": "Output only. The mapped metadata type.", +"enum": [ +"METADATA_TYPE_UNSPECIFIED", +"BOOLEAN", +"NUMBER", +"STRING", +"BYTES", +"DATETIME", +"TIMESTAMP", +"GEOSPATIAL", +"STRUCT", +"OTHER" +], +"enumDescriptions": [ +"Unspecified metadata type.", +"Boolean type.", +"Numeric type.", +"String type.", +"Bytes type.", +"Date and time type.", +"Timestamp type.", +"Geospatial type.", +"Struct (record) type.", +"Other types not covered above." +], +"readOnly": true, +"type": "string" +}, +"mode": { +"description": "Output only. The mode of the field.", +"enum": [ +"MODE_UNSPECIFIED", +"NULLABLE", +"REPEATED", +"REQUIRED" +], +"enumDescriptions": [ +"Unspecified mode.", +"Field can be null.", +"Field can be repeated.", +"Field is required." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the field.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileFieldExtractionHints": { +"description": "Extraction hints (field-level).", +"id": "GoogleCloudDataplexV1GraphProfileFieldExtractionHints", +"properties": { +"normalization": { +"description": "Output only. Standardizes extracted data (e.g., to ISO 3166-1 alpha-2).", +"readOnly": true, +"type": "string" +}, +"synthesis": { +"description": "Output only. Generates value from other data instead of direct extraction (e.g., hashing).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileNodeType": { +"description": "Represents a type of node in the graph.", +"id": "GoogleCloudDataplexV1GraphProfileNodeType", +"properties": { +"description": { +"description": "Output only. Description of the node type.", +"readOnly": true, +"type": "string" +}, +"extractionHints": { +"$ref": "GoogleCloudDataplexV1GraphProfileNodeTypeExtractionHints", +"description": "Output only. Extraction hints for the node.", +"readOnly": true +}, +"fields": { +"description": "Output only. Fields of the node type.", +"items": { +"$ref": "GoogleCloudDataplexV1GraphProfileField" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Name of the node type.", +"readOnly": true, +"type": "string" +}, +"primaryKeys": { +"description": "Output only. Field names forming the primary keys. The order in this array defines the key's ordinal positions for composite keys.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1GraphProfileNodeTypeExtractionHints": { +"description": "Extraction hints (node-level).", +"id": "GoogleCloudDataplexV1GraphProfileNodeTypeExtractionHints", +"properties": { +"cardinality": { +"description": "Output only. Expected occurrence frequency of this node type within a document. Format: \"Bounds - Description\" Example: \"0:N - A document may contain multiple people names.\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1ImportItem": { "description": "An object that describes the values that you want to set for an entry and its attached aspects when you import metadata. Used when you run a metadata import job. See CreateMetadataJob.You provide a collection of import items in a metadata import file. For more information about how to create a metadata import file, see Metadata import file (https://cloud.google.com/dataplex/docs/import-metadata#metadata-import-file).", "id": "GoogleCloudDataplexV1ImportItem", @@ -13102,6 +13636,31 @@ }, "type": "object" }, +"GoogleCloudDataplexV1ListChangeRequestsResponse": { +"description": "Response message for ListChangeRequests.", +"id": "GoogleCloudDataplexV1ListChangeRequestsResponse", +"properties": { +"changeRequests": { +"description": "The ChangeRequests from the specified project and location.", +"items": { +"$ref": "GoogleCloudDataplexV1ChangeRequest" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token, which can be sent as page_token to retrieve the next page.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1ListDataAssetsResponse": { "description": "Response message for listing data assets.", "id": "GoogleCloudDataplexV1ListDataAssetsResponse", @@ -13615,7 +14174,7 @@ "additionalProperties": { "type": "string" }, -"description": "Optional. Allows to configure the context.Supported options: format - The format of the context (one of yaml, xml, json, default is yaml). context_budget - If provided, the output will be intelligently truncated on a best-effort basis to contain approximately the desired amount of characters. There is no guarantee to achieve the specific amount.", +"description": "Optional. Allows to configure the context.Supported options: format - The format of the context (one of yaml, xml, json, default is yaml). context_budget - If provided, the output will be intelligently truncated on a best-effort basis to contain approximately the desired amount of characters. There is no guarantee to achieve the specific amount. all_schema_fields - If set to true, all schema fields will be returned in the context (regardless of context_budget value). Otherwise, the list of schema fields is truncated. Default is false.", "type": "object" }, "resources": { @@ -14238,6 +14797,21 @@ }, "type": "object" }, +"GoogleCloudDataplexV1RejectChangeRequestRequest": { +"description": "Request message for RejectChangeRequest.", +"id": "GoogleCloudDataplexV1RejectChangeRequestRequest", +"properties": { +"comment": { +"description": "Optional. The reason for rejecting the ChangeRequest.", +"type": "string" +}, +"etag": { +"description": "Optional. The etag of the ChangeRequest.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1RequestDataProductAccessRequest": { "description": "Message for requesting access to a Data Product.", "id": "GoogleCloudDataplexV1RequestDataProductAccessRequest", @@ -15222,6 +15796,47 @@ }, "type": "object" }, +"GoogleCloudDataplexV1UnstructuredDataProfileResult": { +"description": "Contains the result of an unstructured data profile scan.", +"id": "GoogleCloudDataplexV1UnstructuredDataProfileResult", +"properties": { +"description": { +"description": "Output only. The inferred description.", +"readOnly": true, +"type": "string" +}, +"graphProfile": { +"$ref": "GoogleCloudDataplexV1GraphProfile", +"description": "Output only. The inferred graph profile.", +"readOnly": true +}, +"partialFailureMessage": { +"description": "Output only. Optional message for partial failures (e.g. node type extraction failed).", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleCloudDataplexV1UnstructuredDataProfileSpec": { +"description": "Contains the specification for an unstructured data profile scan.", +"id": "GoogleCloudDataplexV1UnstructuredDataProfileSpec", +"properties": { +"customizedPrompt": { +"description": "Optional. Customized prompt for unstructured data profile. The field will be used as part of the prompt, could be some instruction, specifying skill, or specific area to focus.", +"type": "string" +}, +"globalEndpointEnabled": { +"description": "Optional. Whether to use the global model.", +"type": "boolean" +}, +"graphProfilePublishingEnabled": { +"description": "Optional. Whether to publish graph-profile as aspect on the catalog entry.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleCloudDataplexV1UpdateEntryRequest": { "description": "Update Entry request.", "id": "GoogleCloudDataplexV1UpdateEntryRequest", diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json index 76ca2a570d..fb5b618b2c 100644 --- a/googleapiclient/discovery_cache/documents/dataproc.v1.json +++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json @@ -573,7 +573,7 @@ ], "parameters": { "filter": { -"description": "Optional. A filter for the batches to return in the response.A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields are batch_id, batch_uuid, state, create_time, and labels.e.g. state = RUNNING and create_time < \"2023-01-01T00:00:00Z\" filters for batches in state RUNNING that were created before 2023-01-01. state = RUNNING and labels.environment=production filters for batches in state in a RUNNING state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.", +"description": "Optional. A filter for the batches to return in the response.A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields: * batch_id * batch_uuid * state * create_time * labels * runtime_info.cohort_info.cohort e.g. state = RUNNING and create_time < \"2023-01-01T00:00:00Z\" filters for batches in state RUNNING that were created before 2023-01-01. state = RUNNING and labels.environment=production filters for batches in state in a RUNNING state that have a production environment label.See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.", "location": "query", "type": "string" }, @@ -3624,7 +3624,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3682,7 +3682,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3726,7 +3726,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3768,7 +3768,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3891,7 +3891,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3925,7 +3925,7 @@ "type": "string" }, "gracefulDecommissionTimeout": { -"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Only supported on Dataproc image versions 1.2 and higher.", +"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).Supported in image versions 1.2 and higher.", "format": "google-duration", "location": "query", "type": "string" @@ -3937,7 +3937,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -3990,7 +3990,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -4061,7 +4061,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -4103,7 +4103,7 @@ "type": "string" }, "region": { -"description": "Required. The Dataproc region in which to handle the request.", +"description": "Required. The region in which to handle the request.", "location": "path", "required": true, "type": "string" @@ -5224,7 +5224,7 @@ } } }, -"revision": "20260501", +"revision": "20260524", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -5237,7 +5237,7 @@ "type": "integer" }, "acceleratorTypeUri": { -"description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4.", +"description": "Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See Compute Engine AcceleratorTypes (https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes).Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4 nvidia-tesla-t4Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, nvidia-tesla-t4.", "type": "string" } }, @@ -5721,7 +5721,7 @@ "id": "AutoscalingConfig", "properties": { "policyUri": { -"description": "Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and Dataproc region.", +"description": "Optional. The autoscaling policy used by the cluster.Only resource names including projectid and location (region) are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id] projects/[project_id]/locations/[dataproc_region]/autoscalingPolicies/[policy_id]Note that the policy must be in the same project and region.", "type": "string" } }, @@ -6101,7 +6101,7 @@ "type": "object" }, "Cluster": { -"description": "Describes the identifying information, config, and status of a Dataproc cluster", +"description": "Describes the identifying information, config, and status of a cluster", "id": "Cluster", "properties": { "clusterName": { @@ -6109,13 +6109,13 @@ "type": "string" }, "clusterUuid": { -"description": "Output only. A cluster UUID (Unique Universal Identifier). Dataproc generates this value when it creates the cluster.", +"description": "Output only. A cluster UUID (Unique Universal Identifier). The service generates this value when it creates the cluster.", "readOnly": true, "type": "string" }, "config": { "$ref": "ClusterConfig", -"description": "Optional. The cluster config for a cluster of Compute Engine Instances. Note that Dataproc may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified." +"description": "Optional. The cluster config for a cluster of Compute Engine Instances. Note that the service may set default values, and values may change when clusters are updated.Exactly one of ClusterConfig or VirtualClusterConfig must be specified." }, "labels": { "additionalProperties": { @@ -6148,7 +6148,7 @@ }, "virtualClusterConfig": { "$ref": "VirtualClusterConfig", -"description": "Optional. The virtual cluster config is used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). Dataproc may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified." +"description": "Optional. The virtual cluster config is used when creating a cluster that does not directly control the underlying compute resources, for example, when creating a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview). the service may set default values, and values may change when clusters are updated. Exactly one of config or virtual_cluster_config must be specified." } }, "type": "object" @@ -6199,15 +6199,15 @@ "type": "string" }, "configBucket": { -"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster staging bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" }, "dataprocMetricConfig": { "$ref": "DataprocMetricConfig", -"description": "Optional. The config for Dataproc metrics." +"description": "Optional. The config for metrics." }, "diagnosticBucket": { -"description": "Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, Cloud Dataproc will use the Dataproc temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"description": "Optional. A Cloud Storage bucket used to collect checkpoint diagnostic data (https://cloud.google.com/dataproc/docs/support/diagnose-clusters#checkpoint_diagnostic_data). If you do not specify a diagnostic bucket, The service will use the temp bucket to collect the checkpoint diagnostic data. This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" }, "encryptionConfig": { @@ -6228,7 +6228,7 @@ "enumDescriptions": [ "The engine is not specified. Works the same as ENGINE_DEFAULT.", "The cluster is a default engine cluster.", -"The cluster is a lightning engine cluster." +"The cluster is a Lightning Engine (https://cloud.google.com/dataproc/docs/guides/lightning-engine) cluster." ], "type": "string" }, @@ -6239,7 +6239,7 @@ "gkeClusterConfig": { "$ref": "GkeClusterConfig", "deprecated": true, -"description": "Optional. BETA. The Kubernetes Engine config for Dataproc clusters deployed to The Kubernetes Engine config for Dataproc clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config." +"description": "Optional. BETA. The Kubernetes Engine config for clusters deployed to Kubernetes. These config settings are mutually exclusive with Compute Engine-based options, such as gce_cluster_config, master_config, worker_config, secondary_worker_config, and autoscaling_config." }, "initializationActions": { "description": "Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes. You can test a node's role metadata to run an executable on a master or worker node, as shown below using curl (you can also use wget): ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role) if [[ \"${ROLE}\" == 'Master' ]]; then ... master specific actions ... else ... worker specific actions ... fi ", @@ -6273,7 +6273,7 @@ "description": "Optional. The config settings for cluster software." }, "tempBucket": { -"description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for the cluster temp bucket according to the Compute Engine zone where the cluster is deployed, and then creates and manages this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"description": "Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" }, "workerConfig": { @@ -6508,7 +6508,7 @@ "enumDescriptions": [ "The cluster substate is unknown.", "The cluster is known to be in an unhealthy state (for example, critical daemons are not running or HDFS capacity is exhausted).Applies to RUNNING state.", -"The agent-reported status is out of date (may occur if Dataproc loses communication with Agent).Applies to RUNNING state." +"The agent-reported status is out of date (may occur if the service loses communication with the Agent).Applies to RUNNING state." ], "readOnly": true, "type": "string" @@ -6649,7 +6649,7 @@ "type": "object" }, "DataprocMetricConfig": { -"description": "Dataproc metric config.", +"description": "Metric config.", "id": "DataprocMetricConfig", "properties": { "metrics": { @@ -6692,7 +6692,7 @@ "enumDescriptions": [ "Tarball Access unspecified. Falls back to default access of the bucket", "Google Cloud Support group has read access to the diagnostic tarball", -"Google Cloud Dataproc Diagnose service account has read access to the diagnostic tarball" +"The diagnose service account has read access to the diagnostic tarball" ], "type": "string" }, @@ -7354,7 +7354,7 @@ "id": "GceClusterConfig", "properties": { "autoZoneExcludeZoneUris": { -"description": "Optional. An optional list of Compute Engine zones where the Dataproc cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone]", +"description": "Optional. An optional list of Compute Engine zones where the cluster will not be located when Auto Zone is enabled. Only one of zone_uri or auto_zone_exclude_zone_uris can be set. If both are omitted, the service will pick a zone in the cluster Compute Engine region. If auto_zone_exclude_zone_uris is set and there is more than one non-excluded zone, the service will pick one of the non-excluded zones. Otherwise, cluster creation will fail with INVALID_ARGUMENT error.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone]", "items": { "type": "string" }, @@ -7365,7 +7365,7 @@ "description": "Optional. Confidential Instance Config for clusters using Confidential VMs (https://cloud.google.com/compute/confidential-vm/docs)." }, "internalIpOnly": { -"description": "Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access Dataproc and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM.", +"description": "Optional. This setting applies to subnetwork-enabled networks. It is set to true by default in clusters created with image versions 2.2.x.When set to true: All cluster VMs have internal IP addresses. Google Private Access (https://cloud.google.com/vpc/docs/private-google-access) must be enabled to access the Dataproc API and other Google Cloud APIs. Off-cluster dependencies must be configured to be accessible without external IP addresses.When set to false: Cluster VMs are not restricted to internal IP addresses. Ephemeral external IP addresses are assigned to each cluster VM.", "type": "boolean" }, "metadata": { @@ -7394,8 +7394,8 @@ "enumDescriptions": [ "If unspecified, Compute Engine default behavior will apply, which is the same as INHERIT_FROM_SUBNETWORK.", "Private access to and from Google Services configuration inherited from the subnetwork configuration. This is the default Compute Engine behavior.", -"Enables outbound private IPv6 access to Google Services from the Dataproc cluster.", -"Enables bidirectional private IPv6 access between Google Services and the Dataproc cluster." +"Enables outbound private IPv6 access to Google Services from the cluster.", +"Enables bidirectional private IPv6 access between Google Services and the cluster." ], "type": "string" }, @@ -7407,11 +7407,11 @@ "additionalProperties": { "type": "string" }, -"description": "Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags in Dataproc (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)).", +"description": "Optional. Resource manager tags (https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing) to add to all instances (see Use secure tags (https://cloud.google.com/dataproc/docs/guides/use-secure-tags)).", "type": "object" }, "serviceAccount": { -"description": "Optional. The Dataproc service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", +"description": "Optional. The VM service account (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see VM Data Plane identity (https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by cluster VM instances to access Google Cloud Platform services.If not specified, the Compute Engine default service account (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" }, "serviceAccountScopes": { @@ -7437,7 +7437,7 @@ "type": "array" }, "zoneUri": { -"description": "Optional. The Compute Engine zone where the Dataproc cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone]", +"description": "Optional. The Compute Engine zone where the cluster will be located. If omitted, the service will pick a zone in the cluster's Compute Engine region. On a get request, zone will always be present.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone] projects/[project_id]/zones/[zone] [zone]", "type": "string" } }, @@ -7856,7 +7856,7 @@ "description": "Optional. Disk option config settings." }, "imageUri": { -"description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. Dataproc will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", +"description": "Optional. The Compute Engine image resource used for cluster instances.The URI can represent an image or image family.Image examples: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id] projects/[project_id]/global/images/[image-id] image-idImage family examples. The service will use the most recent image from the family: https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name] projects/[project_id]/global/images/family/[custom-image-family-name]If the URI is unspecified, it will be inferred from SoftwareConfig.image_version or the system default.", "type": "string" }, "instanceFlexibilityPolicy": { @@ -7864,7 +7864,7 @@ "description": "Optional. Instance flexibility Policy allowing a mixture of VM shapes and provisioning models." }, "instanceNames": { -"description": "Output only. The list of instance names. Dataproc derives the names from cluster_name, num_instances, and the instance group.", +"description": "Output only. The list of instance names, derived from cluster_name, num_instances, and the instance group.", "items": { "type": "string" }, @@ -7885,7 +7885,7 @@ "type": "boolean" }, "machineTypeUri": { -"description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using the Dataproc Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, n1-standard-2.", +"description": "Optional. The Compute Engine machine type used for cluster instances.A full URL, partial URI, or short name are valid. Examples: https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2 n1-standard-2Auto Zone Exception: If you are using Auto Zone Placement (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the machine type resource, for example, n1-standard-2.", "type": "string" }, "managedGroupConfig": { @@ -7894,7 +7894,7 @@ "readOnly": true }, "minCpuPlatform": { -"description": "Optional. Specifies the minimum cpu platform for the Instance Group. See Dataproc -> Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).", +"description": "Optional. Specifies the minimum cpu platform for the Instance Group. See Minimum CPU Platform (https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).", "type": "string" }, "minNumInstances": { @@ -7965,7 +7965,7 @@ "type": "array" }, "rank": { -"description": "Optional. Preference of this instance selection. Lower number means higher preference. Dataproc will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", +"description": "Optional. Preference of this instance selection. Lower number means higher preference. The service will first try to create a VM based on the machine-type with priority rank and fallback to next rank based on availability. Machine types and instance selections with the same priority have the same preference.", "format": "int32", "type": "integer" } @@ -8477,7 +8477,7 @@ "type": "string" }, "crossRealmTrustRealm": { -"description": "Optional. The remote realm the Dataproc on-cluster KDC will trust, should the user enable cross realm trust.", +"description": "Optional. The remote realm the on-cluster KDC will trust, should the user enable cross realm trust.", "type": "string" }, "crossRealmTrustSharedPasswordUri": { @@ -8493,15 +8493,15 @@ "type": "string" }, "keyPasswordUri": { -"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by Dataproc.", +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided key. For the self-signed certificate, this password is generated by the service.", "type": "string" }, "keystorePasswordUri": { -"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by Dataproc.", +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided keystore. For the self-signed certificate, this password is generated by the service.", "type": "string" }, "keystoreUri": { -"description": "Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.", +"description": "Optional. The Cloud Storage URI of the keystore file used for SSL encryption. If not provided, the service will provide a self-signed certificate.", "type": "string" }, "kmsKeyUri": { @@ -8522,11 +8522,11 @@ "type": "integer" }, "truststorePasswordUri": { -"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by Dataproc.", +"description": "Optional. The Cloud Storage URI of a KMS encrypted file containing the password to the user provided truststore. For the self-signed certificate, this password is generated by the service.", "type": "string" }, "truststoreUri": { -"description": "Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, Dataproc will provide a self-signed certificate.", +"description": "Optional. The Cloud Storage URI of the truststore file used for SSL encryption. If not provided, the service will provide a self-signed certificate.", "type": "string" } }, @@ -8907,14 +8907,14 @@ "id": "MetastoreConfig", "properties": { "dataprocMetastoreService": { -"description": "Required. Resource name of an existing Dataproc Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]", +"description": "Required. Resource name of an existing Metastore service.Example: projects/[project_id]/locations/[dataproc_region]/services/[service-name]", "type": "string" } }, "type": "object" }, "Metric": { -"description": "A Dataproc custom metric.", +"description": "A custom metric.", "id": "Metric", "properties": { "metricOverrides": { @@ -8939,7 +8939,7 @@ ], "enumDescriptions": [ "Required unspecified metric source.", -"Monitoring agent metrics. If this source is enabled, Dataproc enables the monitoring agent in Compute Engine, and collects monitoring agent metrics, which are published with an agent.googleapis.com prefix.", +"Monitoring agent metrics. If this source is enabled, the service enables the monitoring agent in Compute Engine, and collects monitoring agent metrics, which are published with an agent.googleapis.com prefix.", "HDFS metric source.", "Spark metric source.", "YARN metric source.", @@ -9024,7 +9024,7 @@ "type": "object" }, "NodeGroup": { -"description": "Dataproc Node Group. The Dataproc NodeGroup resource is not related to the Dataproc NodeGroupAffinity resource.", +"description": "Node Group. The NodeGroup resource is not related to the NodeGroupAffinity resource.", "id": "NodeGroup", "properties": { "labels": { @@ -9061,7 +9061,7 @@ "type": "object" }, "NodeGroupAffinity": { -"description": "Node Group Affinity for clusters using sole-tenant node groups. The Dataproc NodeGroupAffinity resource is not related to the Dataproc NodeGroup resource.", +"description": "Node Group Affinity for clusters using sole-tenant node groups. The NodeGroupAffinity resource is not related to the NodeGroup resource.", "id": "NodeGroupAffinity", "properties": { "nodeGroupUri": { @@ -9533,16 +9533,16 @@ "type": "object" }, "ProvisioningModelMix": { -"description": "Defines how Dataproc should create VMs with a mixture of provisioning models.", +"description": "Defines how to create VMs with a mixture of provisioning models.", "id": "ProvisioningModelMix", "properties": { "standardCapacityBase": { -"description": "Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. Dataproc will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances.", +"description": "Optional. The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity you need. The service will create only standard VMs until it reaches standard_capacity_base, then it will start using standard_capacity_percent_above_base to mix Spot with Standard VMs. eg. If 15 instances are requested and standard_capacity_base is 5, the service will create 5 standard VMs and thenstart mixing spot and standard VMs for remaining 10 instances.", "format": "int32", "type": "integer" }, "standardCapacityPercentAboveBase": { -"description": "Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, Dataproc will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot.", +"description": "Optional. The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base. eg. If 15 instances are requested and standard_capacity_base is 5 and standard_capacity_percent_above_base is 30, the service will create 5 standard VMs and then start mixing spot and standard VMs for remaining 10 instances. The mix will be 30% standard and 70% spot.", "format": "int32", "type": "integer" } @@ -10005,11 +10005,11 @@ "type": "string" }, "dataprocSuperUser": { -"description": "Optional. Whether the request is submitted by Dataproc super user. If true, IAM will check 'dataproc.clusters.repair' permission instead of 'dataproc.clusters.update' permission. This is to give Dataproc superuser the ability to repair clusters without granting the overly broad update permission.", +"description": "Optional. Whether the request is submitted by a super user. If true, IAM will check 'dataproc.clusters.repair' permission instead of 'dataproc.clusters.update' permission. This is to give Dataproc superuser the ability to repair clusters without granting the overly broad update permission.", "type": "boolean" }, "gracefulDecommissionTimeout": { -"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping\u2014Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in Dataproc image versions 1.2+.", +"description": "Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping\u2014Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in image versions 1.2+.", "format": "google-duration", "type": "string" }, @@ -11063,7 +11063,7 @@ "id": "SoftwareConfig", "properties": { "imageVersion": { -"description": "Optional. The version of software inside the cluster. It must be one of the supported Dataproc Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", +"description": "Optional. The version of software inside the cluster. It must be one of the supported Image Versions (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the \"preview\" version (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version.", "type": "string" }, "optionalComponents": { @@ -13125,11 +13125,26 @@ "id": "UsageMetrics", "properties": { "acceleratorType": { -"description": "Optional. DEPRECATED Accelerator type being used, if any", +"description": "Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.", "type": "string" }, "milliAcceleratorSeconds": { -"description": "Optional. DEPRECATED Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"description": "Optional. Accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0.", +"format": "int64", +"type": "string" +}, +"milliAcceleratorSecondsA10040": { +"description": "Optional. A100-40 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"milliAcceleratorSecondsA10080": { +"description": "Optional. A100-80 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", +"format": "int64", +"type": "string" +}, +"milliAcceleratorSecondsL4": { +"description": "Optional. L4 accelerator usage in (milliAccelerator x seconds) (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)).", "format": "int64", "type": "string" }, @@ -13156,11 +13171,26 @@ "id": "UsageSnapshot", "properties": { "acceleratorType": { -"description": "Optional. Accelerator type being used, if any", +"description": "Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.", "type": "string" }, "milliAccelerator": { -"description": "Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"description": "Optional. Milli (one-thousandth) accelerator. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0.", +"format": "int64", +"type": "string" +}, +"milliAcceleratorA10040": { +"description": "Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"format": "int64", +"type": "string" +}, +"milliAcceleratorA10080": { +"description": "Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", +"format": "int64", +"type": "string" +}, +"milliAcceleratorL4": { +"description": "Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see Dataproc Serverless pricing (https://cloud.google.com/dataproc-serverless/pricing))", "format": "int64", "type": "string" }, @@ -13226,7 +13256,7 @@ "type": "object" }, "VirtualClusterConfig": { -"description": "The Dataproc cluster config for a cluster that does not directly control the underlying compute resources, such as a Dataproc-on-GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview).", +"description": "The cluster config for a cluster that does not directly control the underlying compute resources, such as a GKE cluster (https://cloud.google.com/dataproc/docs/guides/dpgke/dataproc-gke-overview).", "id": "VirtualClusterConfig", "properties": { "auxiliaryServicesConfig": { @@ -13235,10 +13265,10 @@ }, "kubernetesClusterConfig": { "$ref": "KubernetesClusterConfig", -"description": "Required. The configuration for running the Dataproc cluster on Kubernetes." +"description": "Required. The configuration for running the cluster on Kubernetes." }, "stagingBucket": { -"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Dataproc determines a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see Dataproc staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", +"description": "Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, the service will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see staging and temp buckets (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). This field requires a Cloud Storage bucket name, not a gs://... URI to a Cloud Storage bucket.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/datastream.v1.json b/googleapiclient/discovery_cache/documents/datastream.v1.json index 27de331284..4355efeb69 100644 --- a/googleapiclient/discovery_cache/documents/datastream.v1.json +++ b/googleapiclient/discovery_cache/documents/datastream.v1.json @@ -1503,7 +1503,7 @@ } } }, -"revision": "20260503", +"revision": "20260531", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1538,6 +1538,10 @@ "$ref": "PostgresqlRdbms", "description": "PostgreSQL data source objects to avoid backfilling." }, +"saasExcludedObjects": { +"$ref": "SourceCatalog", +"description": "Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects." +}, "salesforceExcludedObjects": { "$ref": "SalesforceOrg", "description": "Salesforce data source objects to avoid backfilling" @@ -1828,6 +1832,10 @@ "readOnly": true, "type": "string" }, +"dataverseProfile": { +"$ref": "DataverseProfile", +"description": "Profile for connecting to a Dataverse source." +}, "displayName": { "description": "Required. Display name.", "type": "string" @@ -1872,6 +1880,10 @@ "$ref": "PrivateConnectivity", "description": "Private connectivity." }, +"salesforceMarketingCloudProfile": { +"$ref": "SalesforceMarketingCloudProfile", +"description": "Profile for connecting to a Salesforce Marketing Cloud source." +}, "salesforceProfile": { "$ref": "SalesforceProfile", "description": "Profile for connecting to a Salesforce source." @@ -1886,6 +1898,10 @@ "readOnly": true, "type": "boolean" }, +"serviceNowProfile": { +"$ref": "ServiceNowProfile", +"description": "Profile for connecting to a ServiceNow source." +}, "spannerProfile": { "$ref": "SpannerProfile", "description": "Profile for connecting to a Spanner source." @@ -1941,6 +1957,45 @@ }, "type": "object" }, +"DataverseProfile": { +"description": "Profile for connecting to a Dataverse source.", +"id": "DataverseProfile", +"properties": { +"environmentUrl": { +"description": "Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com`", +"type": "string" +}, +"oauthClientCredentials": { +"$ref": "OauthClientCredentials", +"description": "Required. Credentials for authenticating with the Dataverse API." +}, +"tenantId": { +"description": "Required. Tenant id of the Microsoft Dataverse instance.", +"type": "string" +} +}, +"type": "object" +}, +"DataverseSourceConfig": { +"description": "Configuration for syncing data from a Dataverse source.", +"id": "DataverseSourceConfig", +"properties": { +"excludeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to exclude from the stream." +}, +"includeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to retrieve from the source." +}, +"pollingInterval": { +"description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "DebugInfo": { "description": "Describes additional debugging info.", "id": "DebugInfo", @@ -2019,6 +2074,10 @@ "$ref": "SalesforceOrg", "description": "Optional. Salesforce organization to enrich with child data objects and metadata." }, +"sourceCatalog": { +"$ref": "SourceCatalog", +"description": "Optional. Source catalog to enrich with child data objects and metadata. This is mainly used to represent SaaS sources databases." +}, "spannerDatabase": { "$ref": "SpannerDatabase", "description": "Optional. Spanner database to enrich with child data objects and metadata." @@ -2054,6 +2113,10 @@ "$ref": "SalesforceOrg", "description": "Enriched Salesforce organization." }, +"sourceCatalog": { +"$ref": "SourceCatalog", +"description": "Enriched source catalog. This is mainly used to represent SaaS sources databases." +}, "spannerDatabase": { "$ref": "SpannerDatabase", "description": "Enriched Spanner database." @@ -3138,6 +3201,21 @@ }, "type": "object" }, +"OauthClientCredentials": { +"description": "OAuth Client Credentials.", +"id": "OauthClientCredentials", +"properties": { +"clientId": { +"description": "Required. Client ID for OAuth Client Credentials.", +"type": "string" +}, +"clientSecret": { +"$ref": "Secret", +"description": "Required. Client secret for OAuth Client Credentials." +} +}, +"type": "object" +}, "ObjectFilter": { "description": "Object filter to apply the rules to.", "id": "ObjectFilter", @@ -4039,6 +4117,46 @@ }, "type": "object" }, +"SalesforceMarketingCloudProfile": { +"description": "Profile for connecting to a Salesforce Marketing Cloud source.", +"id": "SalesforceMarketingCloudProfile", +"properties": { +"oauthClientCredentials": { +"$ref": "OauthClientCredentials", +"description": "Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API." +}, +"subdomain": { +"description": "Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-).", +"type": "string" +} +}, +"type": "object" +}, +"SalesforceMarketingCloudSourceConfig": { +"description": "Configuration for syncing data from a Salesforce Marketing Cloud source.", +"id": "SalesforceMarketingCloudSourceConfig", +"properties": { +"excludeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to exclude from the stream." +}, +"fullRefreshPollingInterval": { +"description": "Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive.", +"format": "google-duration", +"type": "string" +}, +"includeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to retrieve from the source." +}, +"pollingInterval": { +"description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "SalesforceObject": { "description": "Salesforce object.", "id": "SalesforceObject", @@ -4121,6 +4239,21 @@ }, "type": "object" }, +"Secret": { +"description": "A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager.", +"id": "Secret", +"properties": { +"rawValue": { +"description": "Optional. Input only. The actual raw value of the secret as plain text.", +"type": "string" +}, +"secretVersion": { +"description": "Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version}", +"type": "string" +} +}, +"type": "object" +}, "ServerAndClientVerification": { "description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option.", "id": "ServerAndClientVerification", @@ -4159,6 +4292,45 @@ }, "type": "object" }, +"ServiceNowProfile": { +"description": "Profile for connecting to a ServiceNow source.", +"id": "ServiceNowProfile", +"properties": { +"instance": { +"description": "Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`.", +"type": "string" +}, +"oauthClientCredentials": { +"$ref": "OauthClientCredentials", +"description": "Credentials for authenticating with the ServiceNow API." +}, +"userPasswordCredentials": { +"$ref": "UserPasswordCredentials", +"description": "User-password authentication." +} +}, +"type": "object" +}, +"ServiceNowSourceConfig": { +"description": "Configuration for syncing data from a ServiceNow source.", +"id": "ServiceNowSourceConfig", +"properties": { +"excludeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to exclude from the stream." +}, +"includeObjects": { +"$ref": "SourceCatalog", +"description": "Optional. The objects to retrieve from the source." +}, +"pollingInterval": { +"description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "SingleTargetDataset": { "description": "A single target dataset to which all data will be streamed.", "id": "SingleTargetDataset", @@ -4170,10 +4342,28 @@ }, "type": "object" }, +"SourceCatalog": { +"description": "Source catalog.", +"id": "SourceCatalog", +"properties": { +"objects": { +"description": "Optional. Source objects in the catalog.", +"items": { +"$ref": "SourceObject" +}, +"type": "array" +} +}, +"type": "object" +}, "SourceConfig": { "description": "The configuration of the stream source.", "id": "SourceConfig", "properties": { +"dataverseSourceConfig": { +"$ref": "DataverseSourceConfig", +"description": "Dataverse data source configuration." +}, "mongodbSourceConfig": { "$ref": "MongodbSourceConfig", "description": "MongoDB data source configuration." @@ -4190,10 +4380,18 @@ "$ref": "PostgresqlSourceConfig", "description": "PostgreSQL data source configuration." }, +"salesforceMarketingCloudSourceConfig": { +"$ref": "SalesforceMarketingCloudSourceConfig", +"description": "Salesforce Marketing Cloud data source configuration." +}, "salesforceSourceConfig": { "$ref": "SalesforceSourceConfig", "description": "Salesforce data source configuration." }, +"serviceNowSourceConfig": { +"$ref": "ServiceNowSourceConfig", +"description": "ServiceNow data source configuration." +}, "sourceConnectionProfile": { "description": "Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", "type": "string" @@ -4224,6 +4422,24 @@ }, "type": "object" }, +"SourceObject": { +"description": "Source object.", +"id": "SourceObject", +"properties": { +"objectName": { +"description": "Required. The object name.", +"type": "string" +}, +"properties": { +"description": "Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.", +"items": { +"$ref": "SourceProperty" +}, +"type": "array" +} +}, +"type": "object" +}, "SourceObjectIdentifier": { "description": "Represents an identifier of an object in the data source.", "id": "SourceObjectIdentifier", @@ -4259,6 +4475,28 @@ }, "type": "object" }, +"SourceProperty": { +"description": "Source property.", +"id": "SourceProperty", +"properties": { +"primaryKey": { +"description": "Optional. Whether or not the property is a primary key.", +"type": "boolean" +}, +"properties": { +"description": "Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.", +"items": { +"$ref": "SourceProperty" +}, +"type": "array" +}, +"propertyName": { +"description": "Required. The property name.", +"type": "string" +} +}, +"type": "object" +}, "SpannerChangeStreamPosition": { "description": "Represents a position in a Spanner change stream from which to start replicating.", "id": "SpannerChangeStreamPosition", @@ -4994,6 +5232,21 @@ }, "type": "object" }, +"UserPasswordCredentials": { +"description": "User-password credentials.", +"id": "UserPasswordCredentials", +"properties": { +"password": { +"$ref": "Secret", +"description": "Required. Password for the connection." +}, +"username": { +"description": "Required. Username for the connection.", +"type": "string" +} +}, +"type": "object" +}, "Validation": { "description": "A validation to perform on a stream.", "id": "Validation", diff --git a/googleapiclient/discovery_cache/documents/developerconnect.v1.json b/googleapiclient/discovery_cache/documents/developerconnect.v1.json index 8790e36bb7..1e293b70ee 100644 --- a/googleapiclient/discovery_cache/documents/developerconnect.v1.json +++ b/googleapiclient/discovery_cache/documents/developerconnect.v1.json @@ -1795,7 +1795,7 @@ } } }, -"revision": "20260426", +"revision": "20260527", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "AccountConnector": { @@ -1954,6 +1954,14 @@ "readOnly": true, "type": "string" }, +"sourceCodeUris": { +"description": "Output only. The URIs of the source code, if available. For Cloud Run source deploy for example: `gs://my-bucket/my-folder/1234567890.abcde-fdbe.zip#1234567890`", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, "sourceCommitUris": { "description": "Output only. The source commits at which this artifact was built. Extracted from provenance.", "items": { diff --git a/googleapiclient/discovery_cache/documents/developerknowledge.v1.json b/googleapiclient/discovery_cache/documents/developerknowledge.v1.json index 927e15e05c..a0644f9013 100644 --- a/googleapiclient/discovery_cache/documents/developerknowledge.v1.json +++ b/googleapiclient/discovery_cache/documents/developerknowledge.v1.json @@ -115,7 +115,7 @@ "parameterOrder": [], "parameters": { "names": { -"description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go", +"description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` ", "location": "query", "repeated": true, "type": "string" @@ -228,7 +228,7 @@ } } }, -"revision": "20260510", +"revision": "20260524", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "BatchGetDocumentsResponse": { diff --git a/googleapiclient/discovery_cache/documents/developerknowledge.v1alpha.json b/googleapiclient/discovery_cache/documents/developerknowledge.v1alpha.json index e48dc85415..1915679ef0 100644 --- a/googleapiclient/discovery_cache/documents/developerknowledge.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/developerknowledge.v1alpha.json @@ -115,7 +115,7 @@ "parameterOrder": [], "parameters": { "names": { -"description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go", +"description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` ", "location": "query", "repeated": true, "type": "string" @@ -250,7 +250,7 @@ } } }, -"revision": "20260510", +"revision": "20260524", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "Answer": { @@ -260,6 +260,49 @@ "answerText": { "description": "Contains the text of the answer.", "type": "string" +}, +"citations": { +"description": "Output only. Contains citations for the answer.", +"items": { +"$ref": "AnswerCitation" +}, +"readOnly": true, +"type": "array" +}, +"references": { +"description": "Output only. Contains references for the answer.", +"items": { +"$ref": "AnswerReference" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"AnswerCitation": { +"description": "Citation info for a segment.", +"id": "AnswerCitation", +"properties": { +"endIndex": { +"description": "Output only. Indicates the end of the segment, measured in bytes (UTF-8 unicode), exclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"sources": { +"description": "Output only. Contains citation sources for the attributed segment.", +"items": { +"$ref": "CitationSource" +}, +"readOnly": true, +"type": "array" +}, +"startIndex": { +"description": "Output only. Indicates the start of the segment, measured in bytes (UTF-8 unicode), inclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length.", +"format": "int32", +"readOnly": true, +"type": "integer" } }, "type": "object" @@ -286,6 +329,18 @@ }, "type": "object" }, +"AnswerReference": { +"description": "Represents a reference to a source.", +"id": "AnswerReference", +"properties": { +"documentReference": { +"$ref": "DocumentReference", +"description": "Output only. The reference document.", +"readOnly": true +} +}, +"type": "object" +}, "BatchGetDocumentsResponse": { "description": "Response message for DeveloperKnowledge.BatchGetDocuments.", "id": "BatchGetDocumentsResponse", @@ -300,6 +355,19 @@ }, "type": "object" }, +"CitationSource": { +"description": "Citation source.", +"id": "CitationSource", +"properties": { +"referenceIndex": { +"description": "Output only. Contains the index of the Answer.AnswerReference in the `references` repeated field.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, "Document": { "description": "A Document represents a piece of content from the Developer Knowledge corpus.", "id": "Document", @@ -386,6 +454,18 @@ }, "type": "object" }, +"DocumentReference": { +"description": "Represents a reference to a document.", +"id": "DocumentReference", +"properties": { +"documentChunk": { +"$ref": "DocumentChunk", +"description": "Output only. Contains the document chunk. The `document_chunk.id` field is not set and will be empty.", +"readOnly": true +} +}, +"type": "object" +}, "SearchDocumentChunksResponse": { "description": "Response message for DeveloperKnowledge.SearchDocumentChunks.", "id": "SearchDocumentChunksResponse", diff --git a/googleapiclient/discovery_cache/documents/dfareporting.v5.json b/googleapiclient/discovery_cache/documents/dfareporting.v5.json index 28f2c3e1b7..5aa1986df6 100644 --- a/googleapiclient/discovery_cache/documents/dfareporting.v5.json +++ b/googleapiclient/discovery_cache/documents/dfareporting.v5.json @@ -10091,7 +10091,7 @@ } } }, -"revision": "20260511", +"revision": "20260527", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -16494,27 +16494,18 @@ "CONVERSION_CATEGORY_SIGNUP", "CONVERSION_CATEGORY_PAGE_VIEW", "CONVERSION_CATEGORY_DOWNLOAD", -"CONVERSION_CATEGORY_BOOM_EVENT", "CONVERSION_CATEGORY_ADD_TO_CART", "CONVERSION_CATEGORY_BEGIN_CHECKOUT", "CONVERSION_CATEGORY_SUBSCRIBE_PAID", -"CONVERSION_CATEGORY_SUBSCRIBE_FREE", -"CONVERSION_CATEGORY_PHONE_CALL_LEAD", -"CONVERSION_CATEGORY_IMPORTED_LEAD", "CONVERSION_CATEGORY_SUBMIT_LEAD_FORM", "CONVERSION_CATEGORY_BOOK_APPOINTMENT", "CONVERSION_CATEGORY_REQUEST_QUOTE", "CONVERSION_CATEGORY_GET_DIRECTIONS", "CONVERSION_CATEGORY_OUTBOUND_CLICK", "CONVERSION_CATEGORY_CONTACT", -"CONVERSION_CATEGORY_VIEW_KEY_PAGE", -"CONVERSION_CATEGORY_ENGAGEMENT", -"CONVERSION_CATEGORY_STORE_VISIT", -"CONVERSION_CATEGORY_STORE_SALE", "CONVERSION_CATEGORY_QUALIFIED_LEAD", "CONVERSION_CATEGORY_CONVERTED_LEAD", -"CONVERSION_CATEGORY_IN_APP_AD_REVENUE", -"CONVERSION_CATEGORY_MESSAGE_LEAD" +"CONVERSION_CATEGORY_IN_APP_AD_REVENUE" ], "enumDescriptions": [ "Unspecified category (called \"Other\" externally).", @@ -16522,27 +16513,18 @@ "Signup user action.", "User visiting a page.", "Software download action (as for an app). A conversion type that is created as a download type may not have its category changed.", -"Boom event (for user list creation). This is an internal-only category.", ". The addition of items to a shopping cart or bag on an advertiser site.", "When someone enters the checkout flow on an advertiser site.", "The start of a paid subscription for a product or service.", -"The start of a free subscription for a product or service.", -"A call to indicate interesting in an advertiser's offering. Note: this is different from support calls.", -"A lead conversion imported from an external source into Google Ads.", "A submission of a form on an advertiser site indicating business interest.", "A booking of an appointment with an advertiser's business.", "A quote or price estimate request.", "A search for an advertiser's business location.", "A click to an advertiser's partner site, e.g. a referral.", "A call, SMS, email, chat or other type of contact to an advertiser.", -"Key page views (ex: product page, article).", -"A website engagement event", -"A visit to a physical store location.", -"A sale occurring in a physical store.", "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser.", "A lead conversion imported from an external source into Google Ads, that has further completed a desired stage as defined by the lead gen advertiser.", -"Conversion event that provides the revenue value of impressions that were shown in-app to users.", -"Message exchanges which indicate an interest in an advertiser's offering." +"Conversion event that provides the revenue value of impressions that were shown in-app to users." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2.json b/googleapiclient/discovery_cache/documents/dialogflow.v2.json index 44220c5d30..1e563d0577 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json @@ -8780,7 +8780,7 @@ } } }, -"revision": "20260509", +"revision": "20260604", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -14315,6 +14315,9 @@ true "securitySettings": { "type": "string" }, +"sipConfig": { +"$ref": "GoogleCloudDialogflowV2SipConfig" +}, "sttConfig": { "$ref": "GoogleCloudDialogflowV2SpeechToTextConfig" }, @@ -15703,6 +15706,9 @@ true "disableAgentQueryLogging": { "type": "boolean" }, +"disableQuerySearchContext": { +"type": "boolean" +}, "enableConversationAugmentedQuery": { "type": "boolean" }, @@ -15727,6 +15733,23 @@ true "suggestionFeature": { "$ref": "GoogleCloudDialogflowV2SuggestionFeature" }, +"suggestionTriggerEvent": { +"enum": [ +"TRIGGER_EVENT_UNSPECIFIED", +"END_OF_UTTERANCE", +"MANUAL_CALL", +"CUSTOMER_MESSAGE", +"AGENT_MESSAGE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, "suggestionTriggerSettings": { "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionTriggerSettings" } @@ -17069,6 +17092,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -17150,6 +17182,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -17157,6 +17207,13 @@ true "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -17205,6 +17262,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -17298,6 +17358,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeBase": { "id": "GoogleCloudDialogflowV2KnowledgeBase", "properties": { @@ -18606,6 +18684,37 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2SipConfig": { +"id": "GoogleCloudDialogflowV2SipConfig", +"properties": { +"allowVirtualAgentInteraction": { +"type": "boolean" +}, +"copyInboundCallLegHeaders": { +"items": { +"type": "string" +}, +"type": "array" +}, +"createConversationOnTheFly": { +"type": "boolean" +}, +"ignoreReinviteMediaDirection": { +"type": "boolean" +}, +"inactiveStart": { +"type": "boolean" +}, +"keepConversationRunning": { +"type": "boolean" +}, +"maxAudioRecordingDuration": { +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2SipTrunk": { "id": "GoogleCloudDialogflowV2SipTrunk", "properties": { @@ -19009,6 +19118,12 @@ true "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" @@ -22079,6 +22194,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -22160,6 +22284,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -22167,6 +22309,13 @@ true "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -22215,6 +22364,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -22308,6 +22460,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", "properties": { @@ -22892,6 +23062,12 @@ true "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json index 993ec50ce2..8c28e5e6ec 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json @@ -8431,7 +8431,7 @@ } } }, -"revision": "20260509", +"revision": "20260604", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -14197,6 +14197,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -14278,6 +14287,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -14285,6 +14312,13 @@ true "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -14333,6 +14367,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -14426,6 +14463,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2KnowledgeOperationMetadata", "properties": { @@ -14890,6 +14945,12 @@ true "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" @@ -16581,6 +16642,9 @@ true "securitySettings": { "type": "string" }, +"sipConfig": { +"$ref": "GoogleCloudDialogflowV2beta1SipConfig" +}, "sttConfig": { "$ref": "GoogleCloudDialogflowV2beta1SpeechToTextConfig" }, @@ -17811,6 +17875,9 @@ true "disableAgentQueryLogging": { "type": "boolean" }, +"disableQuerySearchContext": { +"type": "boolean" +}, "enableConversationAugmentedQuery": { "type": "boolean" }, @@ -17835,6 +17902,23 @@ true "suggestionFeature": { "$ref": "GoogleCloudDialogflowV2beta1SuggestionFeature" }, +"suggestionTriggerEvent": { +"enum": [ +"TRIGGER_EVENT_UNSPECIFIED", +"END_OF_UTTERANCE", +"MANUAL_CALL", +"CUSTOMER_MESSAGE", +"AGENT_MESSAGE" +], +"enumDescriptions": [ +"", +"", +"", +"", +"" +], +"type": "string" +}, "suggestionTriggerSettings": { "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionTriggerSettings" } @@ -19432,6 +19516,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -19513,6 +19606,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -19520,6 +19631,13 @@ true "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -19568,6 +19686,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -19661,6 +19782,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeBase": { "id": "GoogleCloudDialogflowV2beta1KnowledgeBase", "properties": { @@ -21129,6 +21268,37 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1SipConfig": { +"id": "GoogleCloudDialogflowV2beta1SipConfig", +"properties": { +"allowVirtualAgentInteraction": { +"type": "boolean" +}, +"copyInboundCallLegHeaders": { +"items": { +"type": "string" +}, +"type": "array" +}, +"createConversationOnTheFly": { +"type": "boolean" +}, +"ignoreReinviteMediaDirection": { +"type": "boolean" +}, +"inactiveStart": { +"type": "boolean" +}, +"keepConversationRunning": { +"type": "boolean" +}, +"maxAudioRecordingDuration": { +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1SipTrunk": { "id": "GoogleCloudDialogflowV2beta1SipTrunk", "properties": { @@ -21521,6 +21691,12 @@ true "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json index 71739b2982..e670115c6d 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json @@ -5031,7 +5031,7 @@ } } }, -"revision": "20260426", +"revision": "20260604", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3Action": { @@ -15006,6 +15006,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -15087,6 +15096,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -15094,6 +15121,13 @@ true "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -15142,6 +15176,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -15235,6 +15272,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2KnowledgeOperationMetadata", "properties": { @@ -15699,6 +15754,12 @@ true "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" @@ -17746,6 +17807,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -17827,6 +17897,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -17834,6 +17922,13 @@ true "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -17882,6 +17977,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -17975,6 +18073,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", "properties": { @@ -18559,6 +18675,12 @@ true "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json index cdd1adc968..06cc54aaad 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json @@ -5151,7 +5151,7 @@ } } }, -"revision": "20260426", +"revision": "20260604", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -16051,6 +16051,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -16132,6 +16141,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -16139,6 +16166,13 @@ true "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -16187,6 +16221,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -16280,6 +16317,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2KnowledgeOperationMetadata", "properties": { @@ -16744,6 +16799,12 @@ true "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" @@ -18791,6 +18852,15 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult", +"properties": { +"suggestedQuery": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuery" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswer", "properties": { @@ -18872,6 +18942,24 @@ true "properties": { "queryText": { "type": "string" +}, +"searchContexts": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerSuggestedQuerySearchContext", +"properties": { +"key": { +"type": "string" +}, +"value": { +"type": "string" } }, "type": "object" @@ -18879,6 +18967,13 @@ true "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo": { "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfo", "properties": { +"cesDebugInfo": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, "datastoreResponseReason": { "enum": [ "DATASTORE_RESPONSE_REASON_UNSPECIFIED", @@ -18927,6 +19022,9 @@ true ], "type": "string" }, +"queryGenerationDebugInfo": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo" +}, "queryGenerationFailureReason": { "enum": [ "QUERY_GENERATION_FAILURE_REASON_UNSPECIFIED", @@ -19020,6 +19118,24 @@ true }, "type": "object" }, +"GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo": { +"id": "GoogleCloudDialogflowV2beta1KnowledgeAssistDebugInfoQueryGenerationDebugInfo", +"properties": { +"candidatesTokenCount": { +"format": "int32", +"type": "integer" +}, +"promptTokenCount": { +"format": "int32", +"type": "integer" +}, +"totalTokenCount": { +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata": { "id": "GoogleCloudDialogflowV2beta1KnowledgeOperationMetadata", "properties": { @@ -19604,6 +19720,12 @@ true "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse": { "id": "GoogleCloudDialogflowV2beta1SuggestKnowledgeAssistResponse", "properties": { +"additionalSuggestedQueryResults": { +"items": { +"$ref": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerAdditionalSuggestedQueryResult" +}, +"type": "array" +}, "contextSize": { "format": "int32", "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json index 208e371dcf..6519c36284 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json @@ -2832,7 +2832,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -5646,7 +5646,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -7804,7 +7804,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -9637,7 +9637,7 @@ } } }, -"revision": "20260512", +"revision": "20260531", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "A2aV1APIKeySecurityScheme": { @@ -13364,6 +13364,32 @@ "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -16563,7 +16589,7 @@ ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -16995,6 +17021,124 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1Feedback": { +"description": "Information about the user feedback. This information will be used for logging and metrics purpose.", +"id": "GoogleCloudDiscoveryengineV1Feedback", +"properties": { +"comment": { +"description": "Optional. The additional user comment of the feedback if user gives a thumb down.", +"type": "string" +}, +"componentVersion": { +"description": "Optional. The version of the component that this report is being sent from.", +"type": "string" +}, +"conversationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1FeedbackConversationInfo", +"description": "The related conversation information when user gives feedback." +}, +"dataTermsAccepted": { +"description": "Optional. Whether the customer accepted data use terms.", +"type": "boolean" +}, +"feedbackSource": { +"description": "Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP.", +"enum": [ +"FEEDBACK_SOURCE_UNSPECIFIED", +"GOOGLE_CONSOLE", +"GOOGLE_WIDGET", +"GOOGLE_WEBAPP", +"GOOGLE_AGENTSPACE_MOBILE" +], +"enumDescriptions": [ +"Unspecified feedback source.", +"Feedback source is Google Console.", +"Feedback source is Google Widget.", +"Feedback source is Google Webapp.", +"Feedback source is Google AgentSpace Mobile app." +], +"type": "string" +}, +"feedbackType": { +"description": "Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details.", +"enum": [ +"FEEDBACK_TYPE_UNSPECIFIED", +"LIKE", +"DISLIKE" +], +"enumDescriptions": [ +"Unspecified feedback type.", +"The user gives a positive feedback.", +"The user gives a negative feedback." +], +"type": "string" +}, +"llmModelVersion": { +"description": "The version of the LLM model that was used to generate the response.", +"type": "string" +}, +"reasons": { +"description": "Optional. The reason if user gives a thumb down.", +"items": { +"enum": [ +"REASON_UNSPECIFIED", +"INACCURATE_RESPONSE", +"NOT_RELEVANT", +"INCOMPREHENSIVE", +"OFFENSIVE_OR_UNSAFE", +"FORMAT_AND_STYLES", +"BAD_CITATION", +"CANVAS_NOT_GENERATED", +"CANVAS_QUALITY_BAD", +"CANVAS_EXPORT_FAILED" +], +"enumDescriptions": [ +"Unspecified reason.", +"The response is inaccurate.", +"The response is not relevant.", +"The response is incomprehensive.", +"The response is offensive or unsafe.", +"The response is not well-formatted.", +"The response is not well-associated with the query.", +"The expected canvas was not generated for the response.", +"The generated canvas is of bad quality (e.g. inaccurate, incomplete, poorly formatted).", +"Exporting the generated canvas failed (e.g. download or external export action did not complete successfully)." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1FeedbackConversationInfo": { +"description": "The conversation information such as the question index and session name.", +"id": "GoogleCloudDiscoveryengineV1FeedbackConversationInfo", +"properties": { +"answerQueryToken": { +"description": "Optional. The token which could be used to fetch the answer log.", +"type": "string" +}, +"assistToken": { +"description": "Optional. The token which could be used to fetch the assistant log.", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1Query", +"description": "Required. The user's search query." +}, +"questionIndex": { +"description": "The index of the user input within the conversation messages.", +"format": "int32", +"type": "integer" +}, +"session": { +"description": "Name of the newly generated or continued session.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse": { "description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", "id": "GoogleCloudDiscoveryengineV1FetchDomainVerificationStatusResponse", @@ -19299,7 +19443,7 @@ "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -21133,6 +21277,13 @@ false }, "type": "array" }, +"invokedSkills": { +"description": "The skills executed during the turn.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1StreamAssistResponseInvokedSkill" +}, +"type": "array" +}, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1StreamAssistResponseSessionInfo", "description": "Session information. Only included in the final StreamAssistResponse of the response stream." @@ -21140,6 +21291,21 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1StreamAssistResponseInvokedSkill": { +"description": "Represents a skill used during the assist call.", +"id": "GoogleCloudDiscoveryengineV1StreamAssistResponseInvokedSkill", +"properties": { +"displayName": { +"description": "The display name of the skill.", +"type": "string" +}, +"name": { +"description": "The resource name of the skill.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1StreamAssistResponseSessionInfo": { "description": "Information about the session.", "id": "GoogleCloudDiscoveryengineV1StreamAssistResponseSessionInfo", @@ -21554,6 +21720,10 @@ false "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, +"feedback": { +"$ref": "GoogleCloudDiscoveryengineV1Feedback", +"description": "Optional. This field is optional except for the `add-feedback` event types." +}, "filter": { "description": "Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" @@ -22412,7 +22582,7 @@ false ], "type": "string" }, -"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "readOnly": true, "type": "object" }, @@ -22436,6 +22606,11 @@ false ], "type": "string" }, +"modelConfigInfo": { +"$ref": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfo", +"description": "Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field.", +"readOnly": true +}, "modelConfigs": { "additionalProperties": { "enum": [ @@ -22532,12 +22707,65 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfo": { +"description": "The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization.", +"id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfo", +"properties": { +"defaultModelId": { +"description": "Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`.", +"readOnly": true, +"type": "string" +}, +"resolvedModels": { +"description": "Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfoResolvedModel" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfoResolvedModel": { +"description": "A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata.", +"id": "GoogleCloudDiscoveryengineV1WidgetConfigUiSettingsModelConfigInfoResolvedModel", +"properties": { +"description": { +"description": "Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request.", +"readOnly": true, +"type": "string" +}, +"icon": { +"description": "Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`).", +"readOnly": true, +"type": "string" +}, +"isPreview": { +"description": "Output only. Whether the model is currently in preview. Clients should surface this via a \"Preview\" badge in the selector UI.", +"readOnly": true, +"type": "boolean" +}, +"modelId": { +"description": "Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / \"pseudo\" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1WorkspaceConfig": { "description": "Config to store data store type configuration for workspace data", "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -23885,6 +24113,32 @@ false "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -26239,7 +26493,7 @@ false ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -26986,7 +27240,7 @@ false "type": "array" }, "searchableFieldImportance": { -"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`.", +"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search).", "enum": [ "SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED", "VERY_LOW_IMPORTANCE", @@ -27606,7 +27860,7 @@ false "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "type": "string" }, "pageSize": { @@ -28841,7 +29095,7 @@ false "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -30301,7 +30555,8 @@ false "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -31690,7 +31945,7 @@ false ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -33364,7 +33619,7 @@ false "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -34647,7 +34902,8 @@ false "id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json index 4a99ae7b09..56b74ff39c 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json @@ -4103,7 +4103,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -7194,7 +7194,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -9878,7 +9878,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -12676,7 +12676,7 @@ } } }, -"revision": "20260512", +"revision": "20260531", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -13535,6 +13535,32 @@ "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -15449,7 +15475,7 @@ ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -17444,7 +17470,8 @@ "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -20392,6 +20419,32 @@ "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -24390,7 +24443,7 @@ ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -25086,6 +25139,11 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaExternalIdentityGroupMetadata", "description": "Metadata corresponding to the external user." }, +"subject": { +"description": "Output only. Represents the canonical IAM subject identifier (for users) or group identifier (for groups), derived from the workforce-pool claim mapping. Falls back to custom logic if not set. This must be used for IAM bindings.", +"readOnly": true, +"type": "string" +}, "userMetadata": { "$ref": "GoogleCloudDiscoveryengineV1alphaExternalIdentityUserMetadata", "description": "Metadata corresponding to the external user." @@ -25112,7 +25170,7 @@ "type": "string" }, "primaryEmail": { -"description": "The user's primary email address.", +"description": "The user's primary email address. Do not use this for IAM bindings. Use ExternalIdentity.subject.", "type": "string" } }, @@ -25157,6 +25215,124 @@ }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaFeedback": { +"description": "Information about the user feedback. This information will be used for logging and metrics purpose.", +"id": "GoogleCloudDiscoveryengineV1alphaFeedback", +"properties": { +"comment": { +"description": "Optional. The additional user comment of the feedback if user gives a thumb down.", +"type": "string" +}, +"componentVersion": { +"description": "Optional. The version of the component that this report is being sent from.", +"type": "string" +}, +"conversationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFeedbackConversationInfo", +"description": "The related conversation information when user gives feedback." +}, +"dataTermsAccepted": { +"description": "Optional. Whether the customer accepted data use terms.", +"type": "boolean" +}, +"feedbackSource": { +"description": "Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP.", +"enum": [ +"FEEDBACK_SOURCE_UNSPECIFIED", +"GOOGLE_CONSOLE", +"GOOGLE_WIDGET", +"GOOGLE_WEBAPP", +"GOOGLE_AGENTSPACE_MOBILE" +], +"enumDescriptions": [ +"Unspecified feedback source.", +"Feedback source is Google Console.", +"Feedback source is Google Widget.", +"Feedback source is Google Webapp.", +"Feedback source is Google AgentSpace Mobile app." +], +"type": "string" +}, +"feedbackType": { +"description": "Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details.", +"enum": [ +"FEEDBACK_TYPE_UNSPECIFIED", +"LIKE", +"DISLIKE" +], +"enumDescriptions": [ +"Unspecified feedback type.", +"The user gives a positive feedback.", +"The user gives a negative feedback." +], +"type": "string" +}, +"llmModelVersion": { +"description": "The version of the LLM model that was used to generate the response.", +"type": "string" +}, +"reasons": { +"description": "Optional. The reason if user gives a thumb down.", +"items": { +"enum": [ +"REASON_UNSPECIFIED", +"INACCURATE_RESPONSE", +"NOT_RELEVANT", +"INCOMPREHENSIVE", +"OFFENSIVE_OR_UNSAFE", +"FORMAT_AND_STYLES", +"BAD_CITATION", +"CANVAS_NOT_GENERATED", +"CANVAS_QUALITY_BAD", +"CANVAS_EXPORT_FAILED" +], +"enumDescriptions": [ +"Unspecified reason.", +"The response is inaccurate.", +"The response is not relevant.", +"The response is incomprehensive.", +"The response is offensive or unsafe.", +"The response is not well-formatted.", +"The response is not well-associated with the query.", +"The expected canvas was not generated for the response.", +"The generated canvas is of bad quality (e.g. inaccurate, incomplete, poorly formatted).", +"Exporting the generated canvas failed (e.g. download or external export action did not complete successfully)." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaFeedbackConversationInfo": { +"description": "The conversation information such as the question index and session name.", +"id": "GoogleCloudDiscoveryengineV1alphaFeedbackConversationInfo", +"properties": { +"answerQueryToken": { +"description": "Optional. The token which could be used to fetch the answer log.", +"type": "string" +}, +"assistToken": { +"description": "Optional. The token which could be used to fetch the assistant log.", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1alphaQuery", +"description": "Required. The user's search query." +}, +"questionIndex": { +"description": "The index of the user input within the conversation messages.", +"format": "int32", +"type": "integer" +}, +"session": { +"description": "Name of the newly generated or continued session.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse": { "description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", "id": "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse", @@ -25372,7 +25548,7 @@ "type": "array" }, "searchableFieldImportance": { -"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`.", +"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search).", "enum": [ "SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED", "VERY_LOW_IMPORTANCE", @@ -27145,7 +27321,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "type": "string" }, "pageSize": { @@ -29379,7 +29555,7 @@ "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -31756,6 +31932,13 @@ false }, "type": "array" }, +"invokedSkills": { +"description": "The skills executed during the turn.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseInvokedSkill" +}, +"type": "array" +}, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseSessionInfo", "description": "Session information. Only included in the final StreamAssistResponse of the response stream." @@ -31763,6 +31946,21 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaStreamAssistResponseInvokedSkill": { +"description": "Represents a skill used during the assist call.", +"id": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseInvokedSkill", +"properties": { +"displayName": { +"description": "The display name of the skill.", +"type": "string" +}, +"name": { +"description": "The resource name of the skill.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseSessionInfo": { "description": "Information about the session.", "id": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseSessionInfo", @@ -32233,6 +32431,10 @@ false "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, +"feedback": { +"$ref": "GoogleCloudDiscoveryengineV1alphaFeedback", +"description": "Optional. This field is optional except for the `add-feedback` event types." +}, "filter": { "description": "Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" @@ -33196,7 +33398,7 @@ false ], "type": "string" }, -"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "readOnly": true, "type": "object" }, @@ -33220,6 +33422,11 @@ false ], "type": "string" }, +"modelConfigInfo": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfo", +"description": "Output only. The resolved, server-side view of model selector configuration. Holds both the ordered list of models that should appear in the model selector dropdown and the model that should be selected by default. Clients should render this directly without applying their own filtering, ordering, or localization. The legacy `model_configs` map above is retained for backward compatibility with clients that have not yet migrated to consuming this field.", +"readOnly": true +}, "modelConfigs": { "additionalProperties": { "enum": [ @@ -33320,6 +33527,58 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfo": { +"description": "The resolved, server-side view of model selector configuration for the end-user. The backend computes this per-request by applying, in order: Mendel flag evaluation, regional availability rules based on the engine's location, and admin-panel overrides from `model_configs`. The backend is the single source of truth for this configuration; clients should render `resolved_models` directly in the model selector dropdown, in the order provided, without applying their own filtering, ordering, or localization.", +"id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfo", +"properties": { +"defaultModelId": { +"description": "Output only. The `model_id` of the model that should be selected by default in the model selector when the end-user has not made an explicit choice. The value is always one of the `model_id`s present in `resolved_models`.", +"readOnly": true, +"type": "string" +}, +"resolvedModels": { +"description": "Output only. The list of models that are available to the end-user in the model selector, in the order in which they should be displayed.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfoResolvedModel" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfoResolvedModel": { +"description": "A single model that is resolved to be available to the end-user in the model selector, with all of its localized display metadata.", +"id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsModelConfigInfoResolvedModel", +"properties": { +"description": { +"description": "Output only. Localized description text (e.g. `State-of-the-art reasoning`). Localized using the same locale as `display_name`.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Localized display name of the model (e.g. `Gemini 3.1 Pro`). Localized server-side based on the LookupWidgetConfigRequest.language_code and LookupWidgetConfigRequest.region_code of the request.", +"readOnly": true, +"type": "string" +}, +"icon": { +"description": "Output only. GM3-compatible icon token associated with the model (e.g. `rocket_launch`, `bolt`, `graph_5`).", +"readOnly": true, +"type": "string" +}, +"isPreview": { +"description": "Output only. Whether the model is currently in preview. Clients should surface this via a \"Preview\" badge in the selector UI.", +"readOnly": true, +"type": "boolean" +}, +"modelId": { +"description": "Output only. Unique identifier of the model (e.g. `gemini-2.5-flash`, `gemini-3.1-pro-preview`). This is the same identifier that clients pass back to the assistant service to select this model. Virtual / \"pseudo\" models (e.g. `gemini-fast`) are also valid values here; they are resolved to the underlying concrete model on the backend.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsSearchAddonSpec": { "description": "SearchAddonSpec is used to disable add-ons for search. By default, if this field is not specified, add-ons are enabled wherever applicable.", "id": "GoogleCloudDiscoveryengineV1alphaWidgetConfigUiSettingsSearchAddonSpec", @@ -33344,7 +33603,8 @@ false "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -33388,6 +33648,10 @@ false "description": "Workspace settings for the end user.", "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceSettings", "properties": { +"customerDomainValid": { +"description": "Whether the calling user's customer domain matches the workspace data stores under this engine.", +"type": "boolean" +}, "workspaceAccessEnabled": { "description": "Whether an end user has workspace access enabled.", "type": "boolean" @@ -34744,7 +35008,7 @@ false ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -36418,7 +36682,7 @@ false "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -37701,7 +37965,8 @@ false "id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json index de2194a8e5..0fc530b012 100644 --- a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json +++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json @@ -2696,7 +2696,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -5138,7 +5138,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -7217,7 +7217,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -9509,7 +9509,7 @@ } } }, -"revision": "20260512", +"revision": "20260531", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -10368,6 +10368,32 @@ "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1BAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -12282,7 +12308,7 @@ ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -14277,7 +14303,8 @@ "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -15625,6 +15652,32 @@ "type": "string" }, "type": "array" +}, +"toolspecOverride": { +"$ref": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"description": "Optional. Custom toolspec overrides for this connection. For Enterprise BAP connectors that support admin-curated tool definitions, this holds the (simplified) per-tool overrides. On Get, populated by the server by merging persisted overrides with live runtime tool definitions and trimming the result for UI consumption. On Update, the supplied value replaces the persisted overrides after server-side validation and merging: the `base_version` field MUST match the server's current base toolspec version (otherwise the request is rejected with a user-facing error directing the admin to re-download the latest tools first)." +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride": { +"description": "Customer-facing view of the admin-curated toolspec for a BAP connection. Holds the (simplified) per-tool definitions surfaced to and editable by the admin in the Discovery Engine UI. Mirrors the shape of the backend `google.cloud.connectorexecution.v1.ToolspecOverride` message, but is intentionally kept as a separate public type so the Discovery Engine API surface can evolve independently of the fed-API surface (AIP-215). Handlers convert between the two via helpers in //cloud/ml/discoveryengine/external_service/v1main/data_connector_service/lib:bap_custom_tool_util.", +"id": "GoogleCloudDiscoveryengineV1alphaBAPConfigToolspecOverride", +"properties": { +"baseVersion": { +"description": "Required. Base toolspec version against which `tools` were authored. On Update, MUST match the server's current stable toolspec version for the connection; mismatch is rejected with a user-facing error directing the admin to re-download the latest tools first.", +"type": "string" +}, +"tools": { +"description": "Required. Tool definitions (one Struct per tool) that the admin has customised on top of the base toolspec returned by the fed API. REQUIRED because it is the only user-editable field in the modify API; the request must carry at least one tool.", +"items": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"type": "object" +}, +"type": "array" } }, "type": "object" @@ -17979,7 +18032,7 @@ ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -18726,7 +18779,7 @@ "type": "array" }, "searchableFieldImportance": { -"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`.", +"description": "Optional. Specifies the importance of the field when `searchable_option` is `SEARCHABLE_ENABLED`. If `searchable_option` is `SEARCHABLE_DISABLED`, this field is ignored. If `searchable_option` is `SEARCHABLE_ENABLED` and this is `SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED`, it behaves as `DEFAULT_IMPORTANCE`. For more information, see [Weight searchable fields](https://cloud.google.com/generative-ai-app-builder/docs/configure-field-settings#weight-search).", "enum": [ "SEARCHABLE_FIELD_IMPORTANCE_UNSPECIFIED", "VERY_LOW_IMPORTANCE", @@ -19346,7 +19399,7 @@ "type": "string" }, "orderBy": { -"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", +"description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` * `display_name` Example: * `update_time desc` * `create_time` * `is_pinned desc,update_time desc`: list sessions by is_pinned first, then by update_time.", "type": "string" }, "pageSize": { @@ -20581,7 +20634,7 @@ "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -22041,7 +22094,8 @@ false "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { @@ -27013,7 +27067,7 @@ false ], "type": "string" }, -"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups`", +"description": "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-mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `disable-canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration`", "type": "object" }, "industryVertical": { @@ -27535,6 +27589,124 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1betaFeedback": { +"description": "Information about the user feedback. This information will be used for logging and metrics purpose.", +"id": "GoogleCloudDiscoveryengineV1betaFeedback", +"properties": { +"comment": { +"description": "Optional. The additional user comment of the feedback if user gives a thumb down.", +"type": "string" +}, +"componentVersion": { +"description": "Optional. The version of the component that this report is being sent from.", +"type": "string" +}, +"conversationInfo": { +"$ref": "GoogleCloudDiscoveryengineV1betaFeedbackConversationInfo", +"description": "The related conversation information when user gives feedback." +}, +"dataTermsAccepted": { +"description": "Optional. Whether the customer accepted data use terms.", +"type": "boolean" +}, +"feedbackSource": { +"description": "Optional. The UI component the user feedback comes from, which could be GOOGLE_CONSOLE, GOOGLE_WIDGET, GOOGLE_WEBAPP.", +"enum": [ +"FEEDBACK_SOURCE_UNSPECIFIED", +"GOOGLE_CONSOLE", +"GOOGLE_WIDGET", +"GOOGLE_WEBAPP", +"GOOGLE_AGENTSPACE_MOBILE" +], +"enumDescriptions": [ +"Unspecified feedback source.", +"Feedback source is Google Console.", +"Feedback source is Google Widget.", +"Feedback source is Google Webapp.", +"Feedback source is Google AgentSpace Mobile app." +], +"type": "string" +}, +"feedbackType": { +"description": "Required. Indicate whether the user gives a positive or negative feedback. If the user gives a negative feedback, there might be more feedback details.", +"enum": [ +"FEEDBACK_TYPE_UNSPECIFIED", +"LIKE", +"DISLIKE" +], +"enumDescriptions": [ +"Unspecified feedback type.", +"The user gives a positive feedback.", +"The user gives a negative feedback." +], +"type": "string" +}, +"llmModelVersion": { +"description": "The version of the LLM model that was used to generate the response.", +"type": "string" +}, +"reasons": { +"description": "Optional. The reason if user gives a thumb down.", +"items": { +"enum": [ +"REASON_UNSPECIFIED", +"INACCURATE_RESPONSE", +"NOT_RELEVANT", +"INCOMPREHENSIVE", +"OFFENSIVE_OR_UNSAFE", +"FORMAT_AND_STYLES", +"BAD_CITATION", +"CANVAS_NOT_GENERATED", +"CANVAS_QUALITY_BAD", +"CANVAS_EXPORT_FAILED" +], +"enumDescriptions": [ +"Unspecified reason.", +"The response is inaccurate.", +"The response is not relevant.", +"The response is incomprehensive.", +"The response is offensive or unsafe.", +"The response is not well-formatted.", +"The response is not well-associated with the query.", +"The expected canvas was not generated for the response.", +"The generated canvas is of bad quality (e.g. inaccurate, incomplete, poorly formatted).", +"Exporting the generated canvas failed (e.g. download or external export action did not complete successfully)." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleCloudDiscoveryengineV1betaFeedbackConversationInfo": { +"description": "The conversation information such as the question index and session name.", +"id": "GoogleCloudDiscoveryengineV1betaFeedbackConversationInfo", +"properties": { +"answerQueryToken": { +"description": "Optional. The token which could be used to fetch the answer log.", +"type": "string" +}, +"assistToken": { +"description": "Optional. The token which could be used to fetch the assistant log.", +"type": "string" +}, +"query": { +"$ref": "GoogleCloudDiscoveryengineV1betaQuery", +"description": "Required. The user's search query." +}, +"questionIndex": { +"description": "The index of the user input within the conversation messages.", +"format": "int32", +"type": "integer" +}, +"session": { +"description": "Name of the newly generated or continued session.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse": { "description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", "id": "GoogleCloudDiscoveryengineV1betaFetchDomainVerificationStatusResponse", @@ -30339,7 +30511,7 @@ false "description": "The query expansion specification that specifies the conditions under which query expansion occurs." }, "rankingExpression": { -"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result", +"description": "Optional. The ranking expression controls the customized ranking on retrieval documents. This overrides ServingConfig.ranking_expression. The syntax and supported features depend on the `ranking_expression_backend` value. If `ranking_expression_backend` is not provided, it defaults to `RANK_BY_EMBEDDING`. If ranking_expression_backend is not provided or set to `RANK_BY_EMBEDDING`, it should be a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between `embedding_field_path` and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. If ranking_expression_backend is set to `RANK_BY_FORMULA`, the following expression types (and combinations of those chained using + or * operators) are supported: * `double` * `signal` * `log(signal)` * `exp(signal)` * `rr(signal, double > 0)` -- reciprocal rank transformation with second argument being a denominator constant. * `is_nan(signal)` -- returns 0 if signal is NaN, 1 otherwise. * `fill_nan(signal1, signal2 | double)` -- if signal1 is NaN, returns signal2 | double, else returns signal1. Here are a few examples of ranking formulas that use the supported ranking expression types: - `0.2 * semantic_similarity_score + 0.8 * log(keyword_similarity_score)` -- mostly rank by the logarithm of `keyword_similarity_score` with slight `semantic_smilarity_score` adjustment. - `0.2 * exp(fill_nan(semantic_similarity_score, 0)) + 0.3 * is_nan(keyword_similarity_score)` -- rank by the exponent of `semantic_similarity_score` filling the value with 0 if it's NaN, also add constant 0.3 adjustment to the final score if `semantic_similarity_score` is NaN. - `0.2 * rr(semantic_similarity_score, 16) + 0.8 * rr(keyword_similarity_score, 16)` -- mostly rank by the reciprocal rank of `keyword_similarity_score` with slight adjustment of reciprocal rank of `semantic_smilarity_score`. The following signals are supported: * `semantic_similarity_score`: semantic similarity adjustment that is calculated using the embeddings generated by a proprietary Google model. This score determines how semantically similar a search query is to a document. * `keyword_similarity_score`: keyword match adjustment uses the Best Match 25 (BM25) ranking function. This score is calculated using a probabilistic model to estimate the probability that a document is relevant to a given query. * `relevance_score`: semantic relevance adjustment that uses a proprietary Google model to determine the meaning and intent behind a user's query in context with the content in the documents. * `pctr_rank`: predicted conversion rate adjustment as a rank use predicted Click-through rate (pCTR) to gauge the relevance and attractiveness of a search result from a user's perspective. A higher pCTR suggests that the result is more likely to satisfy the user's query and intent, making it a valuable signal for ranking. * `freshness_rank`: freshness adjustment as a rank * `document_age`: The time in hours elapsed since the document was last updated, a floating-point number (e.g., 0.25 means 15 minutes). * `topicality_rank`: topicality adjustment as a rank. Uses proprietary Google model to determine the keyword-based overlap between the query and the document. * `base_rank`: the default rank of the result * `media_actor_match`: whether the media actor matches the query * `media_director_match`: whether the media director matches the query * `media_genre_match`: whether the media genre matches the query * `media_language_match`: whether the media language matches the query * `media_title_match`: whether the media title matches the query * `media_prefix_similarity_rank`: prefix similarity rank for media results * `media_semantic_similarity_rank`: semantic similarity rank for media results", "type": "string" }, "rankingExpressionBackend": { @@ -32577,6 +32749,13 @@ false }, "type": "array" }, +"invokedSkills": { +"description": "The skills executed during the turn.", +"items": { +"$ref": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill" +}, +"type": "array" +}, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseSessionInfo", "description": "Session information. Only included in the final StreamAssistResponse of the response stream." @@ -32584,6 +32763,21 @@ false }, "type": "object" }, +"GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill": { +"description": "Represents a skill used during the assist call.", +"id": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill", +"properties": { +"displayName": { +"description": "The display name of the skill.", +"type": "string" +}, +"name": { +"description": "The resource name of the skill.", +"type": "string" +} +}, +"type": "object" +}, "GoogleCloudDiscoveryengineV1betaStreamAssistResponseSessionInfo": { "description": "Information about the session.", "id": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseSessionInfo", @@ -32985,6 +33179,10 @@ false "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, +"feedback": { +"$ref": "GoogleCloudDiscoveryengineV1betaFeedback", +"description": "Optional. This field is optional except for the `add-feedback` event types." +}, "filter": { "description": "Optional. The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. One example is for `search` events, the associated SearchRequest may contain a filter expression in SearchRequest.filter conforming to https://google.aip.dev/160#filtering. Similarly, for `view-item-list` events that are generated from a RecommendRequest, this field may be populated directly from RecommendRequest.filter conforming to https://google.aip.dev/160#filtering. The value must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" @@ -33173,7 +33371,8 @@ false "id": "GoogleCloudDiscoveryengineV1betaWorkspaceConfig", "properties": { "dasherCustomerId": { -"description": "Obfuscated Dasher customer ID.", +"description": "Output only. Obfuscated Dasher customer ID. Derived by the server from the project's GCP organization at data store creation time; any value supplied in the request payload is ignored.", +"readOnly": true, "type": "string" }, "superAdminEmailAddress": { diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v2.json b/googleapiclient/discovery_cache/documents/displayvideo.v2.json index 76e71ad2ce..f3e970d95c 100644 --- a/googleapiclient/discovery_cache/documents/displayvideo.v2.json +++ b/googleapiclient/discovery_cache/documents/displayvideo.v2.json @@ -7789,7 +7789,7 @@ } } }, -"revision": "20260505", +"revision": "20260601", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -8932,14 +8932,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "type": "string" } @@ -8957,14 +8965,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "readOnly": true, "type": "string" @@ -10551,7 +10567,7 @@ "type": "string" }, "primaryAttributionModelId": { -"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "format": "int64", "type": "string" } @@ -14990,7 +15006,7 @@ true }, "demandGenSettings": { "$ref": "DemandGenSettings", -"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "displayName": { "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", @@ -15093,7 +15109,7 @@ true "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.", "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", -"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users." +"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." ], "type": "string" }, @@ -17906,7 +17922,7 @@ false "id": "TargetingExpansionConfig", "properties": { "excludeDemographicExpansion": { -"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "type": "boolean" }, "excludeFirstPartyAudience": { diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v3.json b/googleapiclient/discovery_cache/documents/displayvideo.v3.json index cad5b69384..0a3547124a 100644 --- a/googleapiclient/discovery_cache/documents/displayvideo.v3.json +++ b/googleapiclient/discovery_cache/documents/displayvideo.v3.json @@ -377,7 +377,7 @@ "adGroupAds": { "methods": { "create": { -"description": "Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroupAds", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroupAds.create", @@ -406,7 +406,7 @@ ] }, "delete": { -"description": "Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroupAds.delete", @@ -523,7 +523,7 @@ ] }, "patch": { -"description": "Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", "httpMethod": "PATCH", "id": "displayvideo.advertisers.adGroupAds.patch", @@ -571,7 +571,7 @@ "adGroups": { "methods": { "bulkEditAssignedTargetingOptions": { -"description": "Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups:bulkEditAssignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.bulkEditAssignedTargetingOptions", @@ -654,7 +654,7 @@ ] }, "create": { -"description": "Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.create", @@ -683,7 +683,7 @@ ] }, "delete": { -"description": "Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroups.delete", @@ -800,7 +800,7 @@ ] }, "patch": { -"description": "Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}", "httpMethod": "PATCH", "id": "displayvideo.advertisers.adGroups.patch", @@ -850,7 +850,7 @@ "assignedTargetingOptions": { "methods": { "create": { -"description": "Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.create", @@ -1000,7 +1000,7 @@ ] }, "delete": { -"description": "Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.delete", @@ -8508,7 +8508,7 @@ } } }, -"revision": "20260505", +"revision": "20260601", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -8654,7 +8654,7 @@ "Responsive ads.", "[Effective reach ad groups] (https://support.google.com/displayvideo/answer/9173684), including in-stream and bumper ads.", "Masthead Ad that is surfaced on the top slot on the YouTube homepage.", -"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users." +"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." ], "type": "string" }, @@ -8769,23 +8769,23 @@ }, "dcmTrackingInfo": { "$ref": "DcmTrackingInfo", -"description": "Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenCarouselAd": { "$ref": "DemandGenCarouselAd", -"description": "Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenImageAd": { "$ref": "DemandGenImageAd", -"description": "Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenProductAd": { "$ref": "DemandGenProductAd", -"description": "Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenVideoAd": { "$ref": "DemandGenVideoAd", -"description": "Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "displayName": { "description": "Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", @@ -11397,14 +11397,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "type": "string" } @@ -11422,14 +11430,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "readOnly": true, "type": "string" @@ -13314,7 +13330,7 @@ "type": "string" }, "primaryAttributionModelId": { -"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "format": "int64", "type": "string" } @@ -18691,7 +18707,7 @@ false }, "demandGenSettings": { "$ref": "DemandGenSettings", -"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "displayName": { "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", @@ -18794,7 +18810,7 @@ false "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.", "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", -"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users." +"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." ], "type": "string" }, @@ -21701,7 +21717,7 @@ false "type": "boolean" }, "excludeDemographicExpansion": { -"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "type": "boolean" } }, diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v4.json b/googleapiclient/discovery_cache/documents/displayvideo.v4.json index 86a94fd926..9d789b28dd 100644 --- a/googleapiclient/discovery_cache/documents/displayvideo.v4.json +++ b/googleapiclient/discovery_cache/documents/displayvideo.v4.json @@ -562,7 +562,7 @@ "adGroupAds": { "methods": { "create": { -"description": "Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Creates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroupAds", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroupAds.create", @@ -591,7 +591,7 @@ ] }, "delete": { -"description": "Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroupAds.delete", @@ -708,7 +708,7 @@ ] }, "patch": { -"description": "Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Updates an ad group ad. This method is only supported for Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", "httpMethod": "PATCH", "id": "displayvideo.advertisers.adGroupAds.patch", @@ -756,7 +756,7 @@ "adGroups": { "methods": { "bulkEditAssignedTargetingOptions": { -"description": "Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups:bulkEditAssignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.bulkEditAssignedTargetingOptions", @@ -839,7 +839,7 @@ ] }, "create": { -"description": "Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.create", @@ -868,7 +868,7 @@ ] }, "delete": { -"description": "Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroups.delete", @@ -985,7 +985,7 @@ ] }, "patch": { -"description": "Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}", "httpMethod": "PATCH", "id": "displayvideo.advertisers.adGroups.patch", @@ -1035,7 +1035,7 @@ "assignedTargetingOptions": { "methods": { "create": { -"description": "Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", "httpMethod": "POST", "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.create", @@ -1185,7 +1185,7 @@ ] }, "delete": { -"description": "Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method is only available to allowlisted users.", +"description": "Deletes an assigned targeting option from an ad group. This method is only supported for Demand Gen ad groups with the AdGroupFormat `AD_GROUP_FORMAT_DEMAND_GEN`. Retrieval and management of Demand Gen resources is currently in beta. This method will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "flatPath": "v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", "httpMethod": "DELETE", "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.delete", @@ -9363,7 +9363,7 @@ } } }, -"revision": "20260505", +"revision": "20260601", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -9565,7 +9565,7 @@ "Responsive ads.", "[Effective reach ad groups] (https://support.google.com/displayvideo/answer/9173684), including in-stream and bumper ads.", "Masthead Ad that is surfaced on the top slot on the YouTube homepage.", -"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users." +"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." ], "type": "string" }, @@ -9680,23 +9680,23 @@ }, "dcmTrackingInfo": { "$ref": "DcmTrackingInfo", -"description": "Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Optional. The DCM tracking ad info. Only valid for Demand Gen ads. To remove the DCM tracking ad info, please leave this field empty. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenCarouselAd": { "$ref": "DemandGenCarouselAd", -"description": "Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen carousel ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#CarouselAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenImageAd": { "$ref": "DemandGenImageAd", -"description": "Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen image ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#ImageAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenProductAd": { "$ref": "DemandGenProductAd", -"description": "Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen product ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#Product-onlyAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "demandGenVideoAd": { "$ref": "DemandGenVideoAd", -"description": "Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Details of a [Demand Gen video ad](//support.google.com/displayvideo/answer/15598924?&sjid=11207068802760924844-NC#VideoAd). Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "displayName": { "description": "Required. The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", @@ -12308,14 +12308,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "type": "string" } @@ -12333,14 +12341,22 @@ "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", -"AUDIO_CONTENT_TYPE_PODCAST" +"AUDIO_CONTENT_TYPE_PODCAST", +"AUDIO_CONTENT_TYPE_CATCH_UP_RADIO", +"AUDIO_CONTENT_TYPE_WEB_RADIO", +"AUDIO_CONTENT_TYPE_VIDEO_GAME", +"AUDIO_CONTENT_TYPE_TEXT_TO_SPEECH" ], "enumDescriptions": [ "Audio content type is not specified in this version. This enum is a place holder for a default value and does not represent a real content stream type.", "The audio content type is unknown.", "The audio content type is music.", "The audio content type is broadcast.", -"The audio content type is podcast." +"The audio content type is podcast.", +"The audio content type is catch-up radio.", +"The audio content type is web radio.", +"The audio content type is video game.", +"The audio content type is text-to-speech." ], "readOnly": true, "type": "string" @@ -14253,7 +14269,7 @@ "type": "string" }, "primaryAttributionModelId": { -"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. The attribution model to use for conversion measurement. This attribution model will determine how conversions are counted. The Primary model can be set by you for a floodlight config or group. More details [here](https://support.google.com/displayvideo/answer/7409983). Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "format": "int64", "type": "string" } @@ -20226,7 +20242,7 @@ false }, "demandGenSettings": { "$ref": "DemandGenSettings", -"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users." +"description": "Optional. Settings specific to Demand Gen line items. Only applicable to Demand Gen line items. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." }, "displayName": { "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", @@ -20329,7 +20345,7 @@ false "YouTube video ads that aim to get more views with a variety of ad formats. Line items of this type and their targeting cannot be created or updated using the API.", "Display ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", "Video ads served on digital-out-of-home inventory. Line items of this type and their targeting cannot be created or updated using the API.", -"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This enum value is only available to allowlisted users." +"Demand Gen ads. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*." ], "type": "string" }, @@ -23285,7 +23301,7 @@ false "type": "boolean" }, "excludeDemographicExpansion": { -"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field is only available to allowlisted users.", +"description": "Optional. Whether to exclude demographic expansion for Optimized Targeting. This field can only be set for Demand Gen ad groups. Retrieval and management of Demand Gen resources is currently in beta. This field will begin rolling out to all partners on *June 10, 2026* and be available to all partners on *June 24, 2026*.", "type": "boolean" } }, diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json index 8dce40eef4..054b169dbf 100644 --- a/googleapiclient/discovery_cache/documents/dlp.v2.json +++ b/googleapiclient/discovery_cache/documents/dlp.v2.json @@ -5128,7 +5128,7 @@ } } }, -"revision": "20260509", +"revision": "20260530", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -5303,6 +5303,12 @@ "properties": {}, "type": "object" }, +"GooglePrivacyDlpV2AllMessages": { +"description": "If set, indicates that the finding applies to all messages in the conversation.", +"id": "GooglePrivacyDlpV2AllMessages", +"properties": {}, +"type": "object" +}, "GooglePrivacyDlpV2AllOtherBigQueryTables": { "description": "Catch-all for all other tables not specified by other filters. Should always be last, except for single-table configurations, which will only have a TableReference target.", "id": "GooglePrivacyDlpV2AllOtherBigQueryTables", @@ -5506,6 +5512,29 @@ }, "type": "object" }, +"GooglePrivacyDlpV2BatchContentItem": { +"description": "Represents a batch of content to inspect or redact.", +"id": "GooglePrivacyDlpV2BatchContentItem", +"properties": { +"stringValueBatch": { +"$ref": "GooglePrivacyDlpV2StringValueBatch", +"description": "Optional. Represents a batch of string values to inspect or redact." +} +}, +"type": "object" +}, +"GooglePrivacyDlpV2BatchContentLocation": { +"description": "Location within a batch of content.", +"id": "GooglePrivacyDlpV2BatchContentLocation", +"properties": { +"itemIndex": { +"description": "Matches an index of a batch item in the batch provided in the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, "GooglePrivacyDlpV2BigQueryDiscoveryTarget": { "description": "Target used to match against for discovery with BigQuery tables", "id": "GooglePrivacyDlpV2BigQueryDiscoveryTarget", @@ -6517,6 +6546,10 @@ "description": "Type of content to inspect.", "id": "GooglePrivacyDlpV2ContentItem", "properties": { +"batchContentItem": { +"$ref": "GooglePrivacyDlpV2BatchContentItem", +"description": "Represents a batch of items to inspect." +}, "byteItem": { "$ref": "GooglePrivacyDlpV2ByteContentItem", "description": "Content data to inspect or redact. Replaces `type` and `data`." @@ -6525,6 +6558,10 @@ "$ref": "GooglePrivacyDlpV2ContentMetadata", "description": "User provided metadata for the content." }, +"conversation": { +"$ref": "GooglePrivacyDlpV2Conversation", +"description": "Represents a conversation (either complete or a slice). It is assumed that all included messages are contiguous and ordered in chronological order." +}, "table": { "$ref": "GooglePrivacyDlpV2Table", "description": "Structured content for inspection. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-text#inspecting_a_table to learn more." @@ -6540,6 +6577,10 @@ "description": "Precise location of the finding within a document, record, image, or metadata container.", "id": "GooglePrivacyDlpV2ContentLocation", "properties": { +"batchContentLocation": { +"$ref": "GooglePrivacyDlpV2BatchContentLocation", +"description": "Location within a batch of content." +}, "containerName": { "description": "Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document).", "type": "string" @@ -6553,6 +6594,10 @@ "description": "Finding container version, if available (\"generation\" for Cloud Storage).", "type": "string" }, +"conversationLocation": { +"$ref": "GooglePrivacyDlpV2ConversationLocation", +"description": "Location within a conversation." +}, "documentLocation": { "$ref": "GooglePrivacyDlpV2DocumentLocation", "description": "Location data for document files." @@ -6586,6 +6631,65 @@ }, "type": "object" }, +"GooglePrivacyDlpV2Conversation": { +"description": "Complete conversation or slice of a conversation. It is assumed that all included messages are contiguous and ordered in chronological order.", +"id": "GooglePrivacyDlpV2Conversation", +"properties": { +"messages": { +"description": "Messages exchanged within this conversation. The maximum number of messages allowed is 50k. The order of the messages is assumed to be chronological and will be used to index findings in the response.", +"items": { +"$ref": "GooglePrivacyDlpV2ConversationMessage" +}, +"type": "array" +} +}, +"type": "object" +}, +"GooglePrivacyDlpV2ConversationLocation": { +"description": "Location within a conversation.", +"id": "GooglePrivacyDlpV2ConversationLocation", +"properties": { +"allMessages": { +"$ref": "GooglePrivacyDlpV2AllMessages", +"description": "If set, indicates that the finding applies to all messages in the conversation." +}, +"messageIndex": { +"description": "Matches an index of a message in the conversation provided in the request.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GooglePrivacyDlpV2ConversationMessage": { +"description": "Single message in a conversation.", +"id": "GooglePrivacyDlpV2ConversationMessage", +"properties": { +"content": { +"description": "The contents of this message.", +"type": "string" +}, +"messageType": { +"description": "The type of message.", +"enum": [ +"MESSAGE_TYPE_UNSPECIFIED", +"CONTENT", +"CONTEXT" +], +"enumDescriptions": [ +"Unused.", +"Message contains content to be inspected.", +"Message contains context only and will not have findings reported from it during inspection or redacted from it during de-identification." +], +"type": "string" +}, +"participantId": { +"description": "Optional. The identifier of the participant, for example 'test-user' or 'gemini'. The participant ID can contain lowercase letters, numbers, and hyphens; that is, it must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. The maximum length is 63 characters.", +"type": "string" +} +}, +"type": "object" +}, "GooglePrivacyDlpV2CreateConnectionRequest": { "description": "Request message for CreateConnection.", "id": "GooglePrivacyDlpV2CreateConnectionRequest", @@ -9989,7 +10093,7 @@ "id": "GooglePrivacyDlpV2InspectTemplate", "properties": { "allowLimitedAvailabilityInfoTypes": { -"description": "Optional. Enables the use of limited-availability built-in infoTypes in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere. For more information, see https://cloud.google.com/sensitive-data-protection/docs/locations#location-specific_limitations to learn more about location-specific limitations.", +"description": "Optional. Enables the use of [limited-availability built-in infoTypes](https://docs.cloud.google.com/sensitive-data-protection/docs/infotypes-reference#limited-availability-infotypes) in inspect_config. These infoTypes are supported only in specific regions and can cause scanning errors if used elsewhere.", "type": "boolean" }, "createTime": { @@ -12275,6 +12379,20 @@ }, "type": "object" }, +"GooglePrivacyDlpV2StringValueBatch": { +"description": "Represents a batch of string values to inspect or redact.", +"id": "GooglePrivacyDlpV2StringValueBatch", +"properties": { +"values": { +"description": "Optional. Represents string data to inspect or redact.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "GooglePrivacyDlpV2SummaryResult": { "description": "A collection that informs the user the number of times a particular `TransformationResultCode` and error details occurred.", "id": "GooglePrivacyDlpV2SummaryResult", diff --git a/googleapiclient/discovery_cache/documents/fcm.v1.json b/googleapiclient/discovery_cache/documents/fcm.v1.json index 7cc5cd7526..de4b5397fe 100644 --- a/googleapiclient/discovery_cache/documents/fcm.v1.json +++ b/googleapiclient/discovery_cache/documents/fcm.v1.json @@ -146,7 +146,7 @@ } } }, -"revision": "20260306", +"revision": "20260529", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { @@ -238,6 +238,11 @@ "description": "The key to the body string in the app's string resources to use to localize the body text to the user's current localization. See [String Resources](https://goo.gl/NdFZGI) for more information.", "type": "string" }, +"bypassProxyNotification": { +"deprecated": true, +"description": "Optional. If set, display notifications delivered to the device will be handled by the app instead of the proxy.", +"type": "boolean" +}, "channelId": { "description": "The [notification's channel id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) (new in Android O). The app must create a channel with this channel ID before any notification with this channel ID is received. If you don't send this channel ID in the request, or if the channel ID provided has not yet been created by the app, FCM uses the channel ID specified in the app manifest.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json b/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json index b5d7a00414..5000770430 100644 --- a/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json +++ b/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1.json @@ -946,7 +946,7 @@ } } }, -"revision": "20260511", +"revision": "20260518", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "GdataBlobstore2Info": { @@ -1418,7 +1418,8 @@ "AAB_STATE_UNAVAILABLE", "PLAY_IAS_TERMS_NOT_ACCEPTED", "ADHOC_SHARING_KEY_NOT_GENERATED", -"ADHOC_SHARING_KEY_NOT_REGISTERED" +"ADHOC_SHARING_KEY_NOT_REGISTERED", +"PLAY_ANDROID_DEVELOPER_CONSOLE_ACCOUNT_NOT_FOUND" ], "enumDescriptions": [ "AAB integration state unspecified.", @@ -1429,7 +1430,8 @@ "Play App status is unavailable.", "Play in-app sharing terms not accepted.", "The ad-hoc sharing key has not been generated for this app.", -"The ad-hoc sharing key is not yet registered in ADI for this app." +"The ad-hoc sharing key is not yet registered in Android Developer Verification for this app.", +"The linked Play developer account was not found or is not fully set up in Android Developer Console." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json b/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json index b9ed0d1892..44714abaad 100644 --- a/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/firebaseappdistribution.v1alpha.json @@ -868,7 +868,7 @@ } } }, -"revision": "20260504", +"revision": "20260518", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "AndroidxCrawlerOutputPoint": { @@ -1711,7 +1711,8 @@ "AAB_NO_APP_WITH_GIVEN_PACKAGE_NAME_IN_ACCOUNT", "AAB_UPLOAD_ERROR", "APP_NOT_FOUND", -"AAB_ADHOC_SHARING_KEY_NOT_REGISTERED" +"AAB_ADHOC_SHARING_KEY_NOT_REGISTERED", +"AAB_ANDROID_DEVELOPER_CONSOLE_ACCOUNT_NOT_FOUND" ], "enumDescriptions": [ "", @@ -1737,7 +1738,8 @@ "", "", "Happens if the Firebase app no longer exists by the time of extraction", -"" +"", +"A corresponding Android Developer Console account for this app's Play Console account was not found." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1.json b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1.json index 1f4d879bc0..0ef54d7e93 100644 --- a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1.json +++ b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1.json @@ -1106,7 +1106,7 @@ } } }, -"revision": "20260506", +"revision": "20260514", "rootUrl": "https://firebaseapphosting.googleapis.com/", "schemas": { "ArchiveSource": { @@ -2552,14 +2552,14 @@ "type": "string" }, "ignoredPaths": { -"description": "Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: \"foo/bar/excluded/*\u201d type: GLOB }", +"description": "Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: \"foo/bar/excluded/*\", type: \"GLOB\" } ```", "items": { "$ref": "Path" }, "type": "array" }, "requiredPaths": { -"description": "Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: \u201crequired_paths: { pattern: \"foo/bar/*\u201d type: GLOB }", +"description": "Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: \"foo/bar/*\", type: \"GLOB\" } ```", "items": { "$ref": "Path" }, diff --git a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json index 448d715e69..889cc4efbe 100644 --- a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json +++ b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json @@ -1138,7 +1138,7 @@ } } }, -"revision": "20260506", +"revision": "20260514", "rootUrl": "https://firebaseapphosting.googleapis.com/", "schemas": { "ArchiveSource": { @@ -1184,6 +1184,10 @@ "description": "Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id) associated with the backend.", "type": "string" }, +"automaticBaseImageUpdatesDisabled": { +"description": "Optional. automatic_base_image_updates_disabled acts as a way for users to opt out of ABIU.", +"type": "boolean" +}, "codebase": { "$ref": "Codebase", "description": "Optional. If specified, the connection to an external source repository to watch for event-driven updates to the backend." @@ -1253,6 +1257,10 @@ "description": "Optional. A field that, if true, indicates that incoming request logs are disabled for this backend. Incoming request logs are enabled by default.", "type": "boolean" }, +"runtime": { +"$ref": "BackendRuntime", +"description": "Optional. The runtime that the backend will be built on. A default base_image will be chosen for a given runtime." +}, "serviceAccount": { "description": "Required. The name of the service account used for Cloud Build and Cloud Run. Should have the role roles/firebaseapphosting.computeRunner or equivalent permissions.", "type": "string" @@ -1290,6 +1298,17 @@ }, "type": "object" }, +"BackendRuntime": { +"description": "Runtime is a string that represents the runtime that is used to build the backend. Users can specify one of the following runtimes: nodejs20, nodejs22, nodejs24, nodejs. Runtime \"nodejs\" means that nodejs version will be determined at build time. If not specified or specified with a value that is not in the list above, the default runtime `nodejs` will be used and Automatic Base Image Updates will be disabled.", +"id": "BackendRuntime", +"properties": { +"value": { +"description": "Optional. The value of the runtime.", +"type": "string" +} +}, +"type": "object" +}, "Build": { "description": "A single build for a backend, at a specific point codebase reference tag and point in time. Encapsulates several resources, including an Artifact Registry container image, a Cloud Build invocation that built the image, and the Cloud Run revision that uses that image.", "id": "Build", @@ -2627,14 +2646,14 @@ "type": "string" }, "ignoredPaths": { -"description": "Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ignored_paths: { pattern: \"foo/bar/excluded/*\u201d type: GLOB }", +"description": "Optional. A list of file paths patterns to exclude from triggering a rollout. Patterns in this list take precedence over required_paths. **Note**: All paths must be in the ignored_paths in order for the rollout to be skipped. Limited to 100 paths. Example: ``` ignored_paths: { pattern: \"foo/bar/excluded/*\", type: \"GLOB\" } ```", "items": { "$ref": "Path" }, "type": "array" }, "requiredPaths": { -"description": "Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: \u201crequired_paths: { pattern: \"foo/bar/*\u201d type: GLOB }", +"description": "Optional. A list of file paths patterns that trigger a build and rollout if at least one of the changed files in the commit are present in this list. This field is optional; the rollout policy will default to triggering on all paths if both ignored_paths and required_paths are not populated. Limited to 100 paths. Example: ``` required_paths: { pattern: \"foo/bar/*\", type: \"GLOB\" } ```", "items": { "$ref": "Path" }, diff --git a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json index 73d961ba26..d5429850fb 100644 --- a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json +++ b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1.json @@ -1221,7 +1221,7 @@ } } }, -"revision": "20260502", +"revision": "20260531", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -2346,7 +2346,7 @@ } }, "servicePath": "", -"title": "Firebase Data Connect API", +"title": "Firebase SQL Connect API", "version": "v1", "version_module": true } \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json index c432a4aaa2..8f8da7021c 100644 --- a/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json +++ b/googleapiclient/discovery_cache/documents/firebasedataconnect.v1beta.json @@ -1221,7 +1221,7 @@ } } }, -"revision": "20260502", +"revision": "20260531", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -2346,7 +2346,7 @@ } }, "servicePath": "", -"title": "Firebase Data Connect API", +"title": "Firebase SQL Connect API", "version": "v1beta", "version_module": true } \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json index 1211da42c8..d8b5bbceb7 100644 --- a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json +++ b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json @@ -206,7 +206,7 @@ } } }, -"revision": "20260513", +"revision": "20260524", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -2828,6 +2828,10 @@ false "$ref": "GoogleCloudAiplatformV1beta1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, +"exaAiSearch": { +"$ref": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", +"description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation" +}, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { @@ -2873,23 +2877,15 @@ false "description": "Tool to support computer use.", "id": "GoogleCloudAiplatformV1beta1ToolComputerUse", "properties": { -"enablePromptInjectionDetection": { -"description": "Optional. Enables the prompt injection detection check on computer-use request.", -"type": "boolean" -}, "environment": { "description": "Required. The environment being operated.", "enum": [ "ENVIRONMENT_UNSPECIFIED", -"ENVIRONMENT_BROWSER", -"ENVIRONMENT_MOBILE", -"ENVIRONMENT_DESKTOP" +"ENVIRONMENT_BROWSER" ], "enumDescriptions": [ "Defaults to browser.", -"Operates in a web browser.", -"Operates in a mobile environment.", -"Operates in a desktop environment." +"Operates in a web browser." ], "type": "string" }, @@ -2918,6 +2914,25 @@ false }, "type": "object" }, +"GoogleCloudAiplatformV1beta1ToolExaAiSearch": { +"description": "ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding.", +"id": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", +"properties": { +"apiKey": { +"description": "Required. The API key for ExaAiSearch.", +"type": "string" +}, +"customConfigs": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API.", +"type": "object" +} +}, +"type": "object" +}, "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", diff --git a/googleapiclient/discovery_cache/documents/firestore.v1.json b/googleapiclient/discovery_cache/documents/firestore.v1.json index 92416f0847..1e4421928b 100644 --- a/googleapiclient/discovery_cache/documents/firestore.v1.json +++ b/googleapiclient/discovery_cache/documents/firestore.v1.json @@ -2435,7 +2435,7 @@ } } }, -"revision": "20260507", +"revision": "20260529", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -4185,7 +4185,7 @@ }, "searchIndexOptions": { "$ref": "GoogleFirestoreAdminV1SearchIndexOptions", -"description": "Optional. Options for search indexes that are at the index definition level." +"description": "Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope." }, "shardCount": { "description": "Optional. The number of shards for the index.", @@ -4632,7 +4632,7 @@ "id": "GoogleFirestoreAdminV1SearchGeoSpec", "properties": { "geoJsonIndexingDisabled": { -"description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value.", +"description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed.", "type": "boolean" } }, @@ -4647,7 +4647,7 @@ "type": "string" }, "textLanguageOverrideFieldPath": { -"description": "Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the \"language\" field if it exists or from `text_language` if it does not.", +"description": "Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the \"language\" field if it exists or from `text_language` if it does not.", "type": "string" } }, @@ -4665,7 +4665,7 @@ ], "enumDescriptions": [ "The index type is unspecified. Not a valid option.", -"Field values are tokenized." +"Field values are tokenized. This is the only way currently supported for MONGODB_COMPATIBLE_API." ], "type": "string" }, @@ -4677,7 +4677,7 @@ ], "enumDescriptions": [ "The match type is unspecified. Not a valid option.", -"Match on any indexed field." +"Match on any indexed field. This is the only way currently supported for MONGODB_COMPATIBLE_API." ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/gkebackup.v1.json b/googleapiclient/discovery_cache/documents/gkebackup.v1.json index d548703412..73bcedd953 100644 --- a/googleapiclient/discovery_cache/documents/gkebackup.v1.json +++ b/googleapiclient/discovery_cache/documents/gkebackup.v1.json @@ -15,6 +15,28 @@ "description": "Backup for GKE is a managed Kubernetes workload backup and restore service for GKE clusters.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke", +"endpoints": [ +{ +"description": "Regional Endpoint", +"endpointUrl": "https://gkebackup.me-central1.rep.googleapis.com/", +"location": "me-central1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://gkebackup.me-central2.rep.googleapis.com/", +"location": "me-central2" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://gkebackup.me-west1.rep.googleapis.com/", +"location": "me-west1" +}, +{ +"description": "Regional Endpoint", +"endpointUrl": "https://gkebackup.europe-west6.rep.googleapis.com/", +"location": "europe-west6" +} +], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -2338,7 +2360,7 @@ } } }, -"revision": "20260422", +"revision": "20260527", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -2475,7 +2497,7 @@ "type": "object" }, "BDRBackupRestoreJobLog": { -"description": "Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 24", +"description": "Log entry for Backup and Restore Job for resources using BackupPlan based protection. Next Id: 25", "id": "BDRBackupRestoreJobLog", "properties": { "backupConsistencyTime": { @@ -2576,6 +2598,10 @@ "description": "Start time of the job.", "format": "google-datetime", "type": "string" +}, +"targetResourceType": { +"description": "The target resource type for restore jobs.", +"type": "string" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json index bcb0a177d5..43d727ae59 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json @@ -2194,7 +2194,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -6437,7 +6437,11 @@ false "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -6493,7 +6497,11 @@ false "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json index 45de6ec411..57158a634d 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json @@ -1860,6 +1860,34 @@ }, "rollouts": { "methods": { +"cancel": { +"description": "Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:cancel", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to cancel. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:cancel", +"request": { +"$ref": "CancelRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "forceCompleteStage": { "description": "Force-completes a rollout stage. Only the active stage of an active rollout can be force-completed.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:forceCompleteStage", @@ -1953,6 +1981,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"pause": { +"description": "Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:pause", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to pause. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:pause", +"request": { +"$ref": "PauseRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.", +"flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:resume", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to resume. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1alpha/{+name}:resume", +"request": { +"$ref": "ResumeRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -2598,7 +2682,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2780,6 +2864,12 @@ "properties": {}, "type": "object" }, +"CancelRolloutRequest": { +"description": "Request message for cancelling a rollout.", +"id": "CancelRolloutRequest", +"properties": {}, +"type": "object" +}, "CloudAuditLoggingFeatureSpec": { "description": "**Cloud Audit Logging**: Spec for Audit Logging Allowlisting.", "id": "CloudAuditLoggingFeatureSpec", @@ -6554,6 +6644,12 @@ }, "type": "object" }, +"PauseRolloutRequest": { +"description": "Request message for pausing a rollout.", +"id": "PauseRolloutRequest", +"properties": {}, +"type": "object" +}, "Policy": { "description": "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/).", "id": "Policy", @@ -7103,6 +7199,22 @@ }, "type": "object" }, +"ResumeRolloutRequest": { +"description": "Request message for resuming a rollout.", +"id": "ResumeRolloutRequest", +"properties": { +"scheduleOffset": { +"description": "Optional. The duration to offset the Rollout schedule by.", +"format": "google-duration", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, resume rollout will be executed in dry-run mode.", +"type": "boolean" +} +}, +"type": "object" +}, "Role": { "description": "Role is the type for Kubernetes roles", "id": "Role", @@ -7224,13 +7336,23 @@ "STATE_REASON_TYPE_UNSPECIFIED", "PAUSED_BY_USER", "PAUSED_BY_SYSTEM_CONFIG", -"PAUSED_WAITING_FOR_NEXT_STAGE" +"PAUSED_WAITING_FOR_NEXT_STAGE", +"CANCELLED_BY_USER", +"CANCELLED_PAUSED_TOO_LONG", +"CANCELLED_SUPERSEDED", +"CANCELLED_INCOMPATIBLE_ROLLOUT_SEQUENCE", +"CANCELLED_SUPERSEDED_BY_USER_ROLLOUT" ], "enumDescriptions": [ "Unspecified state reason.", "Paused by the user.", -"Paused by the RSv2 Orchestrator due to system config(ex. GKE freeze).", -"Paused waiting for the next stage to start." +"Paused by system config (ex. GKE freeze).", +"Paused waiting for the next stage to start.", +"Cancelled by the user.", +"Cancelled by the system because it was paused too long.", +"Cancelled by the system because the version is too old.", +"Cancelled by the system because the rollout sequence is incompatible, for example it has different number of stages, fleet projects or label selectors than the rollout.", +"Cancelled because of a new user-triggered rollout." ], "readOnly": true, "type": "string" @@ -7421,13 +7543,22 @@ "FORCED_SOAKING", "PAUSED" ], +"enumDeprecated": [ +false, +false, +false, +false, +false, +true, +false +], "enumDescriptions": [ "Default value.", -"The stage is pending.", -"The stage is running.", -"The stage is soaking.", +"The stage is waiting for previous stages to complete.", +"The stage targets are being upgraded.", +"The stage is waiting for a predetermined time before next stage.", "The stage is completed.", -"The stage is force soaking.", +"Deprecated: use SOAKING instead.", "The stage is paused." ], "readOnly": true, @@ -7766,7 +7897,11 @@ false "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -7822,7 +7957,11 @@ false "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, @@ -8010,7 +8149,11 @@ false "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -8066,7 +8209,11 @@ false "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json index 7461bc19b7..54f8f53f51 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json @@ -1716,6 +1716,34 @@ }, "rollouts": { "methods": { +"cancel": { +"description": "Cancels a paused Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish. It's only valid to cancel a paused rollout, otherwise it will return a FAILED_PRECONDITION error.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:cancel", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to cancel. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:cancel", +"request": { +"$ref": "CancelRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "forceCompleteStage": { "description": "Force-completes a rollout stage. Only the active stage of an active rollout can be force-completed.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:forceCompleteStage", @@ -1809,6 +1837,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"pause": { +"description": "Pauses a running Rollout. The rollout will not be started on new clusters, however the rollout running on the cluster will be allowed to finish.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:pause", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.pause", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to pause. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:pause", +"request": { +"$ref": "PauseRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"resume": { +"description": "Resume a paused Rollout. The rollout will be resumed and allowed to be started on clusters.", +"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/rollouts/{rolloutsId}:resume", +"httpMethod": "POST", +"id": "gkehub.projects.locations.rollouts.resume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the rollout to resume. projects/{project}/locations/{location}/rollouts/{rollout}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/rollouts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta/{+name}:resume", +"request": { +"$ref": "ResumeRolloutRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -2454,7 +2538,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2636,6 +2720,12 @@ "properties": {}, "type": "object" }, +"CancelRolloutRequest": { +"description": "Request message for cancelling a rollout.", +"id": "CancelRolloutRequest", +"properties": {}, +"type": "object" +}, "ClusterSelector": { "description": "Selector for clusters.", "id": "ClusterSelector", @@ -6163,6 +6253,12 @@ }, "type": "object" }, +"PauseRolloutRequest": { +"description": "Request message for pausing a rollout.", +"id": "PauseRolloutRequest", +"properties": {}, +"type": "object" +}, "Policy": { "description": "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/).", "id": "Policy", @@ -6712,6 +6808,22 @@ }, "type": "object" }, +"ResumeRolloutRequest": { +"description": "Request message for resuming a rollout.", +"id": "ResumeRolloutRequest", +"properties": { +"scheduleOffset": { +"description": "Optional. The duration to offset the Rollout schedule by.", +"format": "google-duration", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If set, resume rollout will be executed in dry-run mode.", +"type": "boolean" +} +}, +"type": "object" +}, "Role": { "description": "Role is the type for Kubernetes roles", "id": "Role", @@ -6833,13 +6945,23 @@ "STATE_REASON_TYPE_UNSPECIFIED", "PAUSED_BY_USER", "PAUSED_BY_SYSTEM_CONFIG", -"PAUSED_WAITING_FOR_NEXT_STAGE" +"PAUSED_WAITING_FOR_NEXT_STAGE", +"CANCELLED_BY_USER", +"CANCELLED_PAUSED_TOO_LONG", +"CANCELLED_SUPERSEDED", +"CANCELLED_INCOMPATIBLE_ROLLOUT_SEQUENCE", +"CANCELLED_SUPERSEDED_BY_USER_ROLLOUT" ], "enumDescriptions": [ "Unspecified state reason.", "Paused by the user.", -"Paused by the RSv2 Orchestrator due to system config(ex. GKE freeze).", -"Paused waiting for the next stage to start." +"Paused by system config (ex. GKE freeze).", +"Paused waiting for the next stage to start.", +"Cancelled by the user.", +"Cancelled by the system because it was paused too long.", +"Cancelled by the system because the version is too old.", +"Cancelled by the system because the rollout sequence is incompatible, for example it has different number of stages, fleet projects or label selectors than the rollout.", +"Cancelled because of a new user-triggered rollout." ], "readOnly": true, "type": "string" @@ -7030,13 +7152,22 @@ "FORCED_SOAKING", "PAUSED" ], +"enumDeprecated": [ +false, +false, +false, +false, +false, +true, +false +], "enumDescriptions": [ "Default value.", -"The stage is pending.", -"The stage is running.", -"The stage is soaking.", +"The stage is waiting for previous stages to complete.", +"The stage targets are being upgraded.", +"The stage is waiting for a predetermined time before next stage.", "The stage is completed.", -"The stage is force soaking.", +"Deprecated: use SOAKING instead.", "The stage is paused." ], "readOnly": true, @@ -7305,7 +7436,11 @@ false "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -7361,7 +7496,11 @@ false "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2.json b/googleapiclient/discovery_cache/documents/gkehub.v2.json index c9363cda0b..eff8775e22 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v2.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v2.json @@ -554,7 +554,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3169,7 +3169,11 @@ "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -3225,7 +3229,11 @@ "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json index 014adb28cb..8ab031ae3d 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json @@ -554,7 +554,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3169,7 +3169,11 @@ "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -3225,7 +3229,11 @@ "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2beta.json b/googleapiclient/discovery_cache/documents/gkehub.v2beta.json index 3da8f6da4e..774200a917 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v2beta.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v2beta.json @@ -554,7 +554,7 @@ } } }, -"revision": "20260511", +"revision": "20260529", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceState": { @@ -3169,7 +3169,11 @@ "MODERNIZATION_MODERNIZING", "MODERNIZATION_MODERNIZED_SOAKING", "MODERNIZATION_FINALIZED", -"MODERNIZATION_ROLLING_BACK_FLEET" +"MODERNIZATION_ROLLING_BACK_FLEET", +"MODERNIZATION_COMPATIBLE", +"MODERNIZATION_INCOMPATIBLE", +"MODERNIZATION_INCOMPATIBLE_FLEET_SCALE", +"MODERNIZATION_INCOMPATIBLE_FLEET_QUOTA" ], "enumDescriptions": [ "Default Unspecified code", @@ -3225,7 +3229,11 @@ "Modernization of one or more clusters in a fleet is in progress.", "Modernization of all the fleet's clusters is complete. Soaking before finalizing the modernization.", "Modernization is finalized for all clusters in a fleet. Rollback is no longer allowed.", -"Rollback is in progress for modernization of all clusters in a fleet." +"Rollback is in progress for modernization of all clusters in a fleet.", +"Fleet is compatible for modernization.", +"Fleet is not yet compatible for modernization.", +"Fleet exceeds service mesh fleet-level scalability limits.", +"Fleet exceeds service mesh fleet-level quota limits." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/gmail.v1.json b/googleapiclient/discovery_cache/documents/gmail.v1.json index fbae6aa2b3..b41f86cb74 100644 --- a/googleapiclient/discovery_cache/documents/gmail.v1.json +++ b/googleapiclient/discovery_cache/documents/gmail.v1.json @@ -3077,7 +3077,7 @@ } } }, -"revision": "20260511", +"revision": "20260525", "rootUrl": "https://gmail.googleapis.com/", "schemas": { "AutoForwarding": { @@ -3743,11 +3743,11 @@ "id": "LabelColor", "properties": { "backgroundColor": { -"description": "The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765", +"description": "The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \\#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \\#083018", "type": "string" }, "textColor": { -"description": "The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765", +"description": "The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \\#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \\#083018", "type": "string" } }, @@ -4007,13 +4007,11 @@ "raw": { "annotations": { "required": [ -"gmail.users.drafts.create", -"gmail.users.drafts.update", "gmail.users.messages.insert", "gmail.users.messages.send" ] }, -"description": "The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.", +"description": "The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update", "format": "byte", "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/health.v4.json b/googleapiclient/discovery_cache/documents/health.v4.json index e9c3e13ead..c717578665 100644 --- a/googleapiclient/discovery_cache/documents/health.v4.json +++ b/googleapiclient/discovery_cache/documents/health.v4.json @@ -8,9 +8,15 @@ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly": { "description": "See your Google Health activity and fitness data" }, +"https://www.googleapis.com/auth/googlehealth.ecg.readonly": { +"description": "See your Google Health ECG data" +}, "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly": { "description": "See your Google Health health metrics and measurement data" }, +"https://www.googleapis.com/auth/googlehealth.irn.readonly": { +"description": "See your Google Health Irregular Rhythm Notifications data" +}, "https://www.googleapis.com/auth/googlehealth.location.readonly": { "description": "See exercise GPS location data in Google Health" }, @@ -260,6 +266,145 @@ "https://www.googleapis.com/auth/cloud-platform" ] } +}, +"resources": { +"subscriptions": { +"methods": { +"create": { +"description": "Creates a subscription for a specific user to a specific subscriber. This method requires the subscriber to have a `SubscriptionCreatePolicy` set to `MANUAL` for the given data types.", +"flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions", +"httpMethod": "POST", +"id": "health.projects.subscribers.subscriptions.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.", +"location": "path", +"pattern": "^projects/[^/]+/subscribers/[^/]+$", +"required": true, +"type": "string" +}, +"subscriptionId": { +"description": "Optional. The {subscription_id} is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise. If provided, the ID must be unique within the parent subscriber.", +"location": "query", +"type": "string" +} +}, +"path": "v4/{+parent}/subscriptions", +"request": { +"$ref": "CreateSubscriptionPayload" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a specific user subscription, stopping notifications for this user to this subscriber.", +"flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}", +"httpMethod": "DELETE", +"id": "health.projects.subscribers.subscriptions.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the subscription to delete. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated if not provided during creation.", +"location": "path", +"pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists all active subscriptions for a given subscriber. This can be filtered, for example, by user or data type.", +"flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions", +"httpMethod": "GET", +"id": "health.projects.subscribers.subscriptions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = \"users/user1\" Example: user = \"users/user1\" OR user = \"users/user2\" Example: user = \"users/user1\" AND (data_type = \"sleep\" OR data_type = \"weight\")", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListSubscriptions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscriptions` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent subscriber. Format: projects/{project}/subscribers/{subscriber} The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise.", +"location": "path", +"pattern": "^projects/[^/]+/subscribers/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/subscriptions", +"response": { +"$ref": "ListSubscriptionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the data types for an existing user subscription.", +"flatPath": "v4/projects/{projectsId}/subscribers/{subscribersId}/subscriptions/{subscriptionsId}", +"httpMethod": "PATCH", +"id": "health.projects.subscribers.subscriptions.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.", +"location": "path", +"pattern": "^projects/[^/]+/subscribers/[^/]+/subscriptions/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. The list of fields to update.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v4/{+name}", +"request": { +"$ref": "Subscription" +}, +"response": { +"$ref": "Subscription" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} } } } @@ -289,12 +434,39 @@ }, "scopes": [ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", +"https://www.googleapis.com/auth/googlehealth.ecg.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", +"https://www.googleapis.com/auth/googlehealth.irn.readonly", "https://www.googleapis.com/auth/googlehealth.profile.readonly", "https://www.googleapis.com/auth/googlehealth.settings.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly" ] }, +"getIrnProfile": { +"description": "Returns user's IRN Profile details.", +"flatPath": "v4/users/{usersId}/irnProfile", +"httpMethod": "GET", +"id": "health.users.getIrnProfile", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the IRN Profile. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", +"location": "path", +"pattern": "^users/[^/]+/irnProfile$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "IrnProfile" +}, +"scopes": [ +"https://www.googleapis.com/auth/googlehealth.irn.readonly" +] +}, "getProfile": { "description": "Returns user Profile details.", "flatPath": "v4/users/{usersId}/profile", @@ -565,7 +737,7 @@ ], "parameters": { "filter": { -"description": "Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= \"2023-11-24T00:00:00Z\" AND steps.interval.start_time < \"2023-11-25T00:00:00Z\"` - `distance.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= \"2023-11-24\" AND steps.interval.civil_start_time < \"2023-11-25\"` - `distance.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= \"2023-11-24T00:00:00Z\" AND weight.sample_time.physical_time < \"2023-11-25T00:00:00Z\"` - `weight.sample_time.physical_time >= \"2024-08-14T12:34:56Z\"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= \"2023-11-24\" AND weight.sample_time.civil_time < \"2023-11-25\"` - `weight.sample_time.civil_time >= \"2024-08-14T12:34:56\"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < \"2024-08-15\"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session civil start time (**Excluding Sleep**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= \"2023-11-24\" AND exercise.interval.civil_start_time < \"2023-11-25\"` - `exercise.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= \"2023-11-24T00:00:00Z\" AND sleep.interval.end_time < \"2023-11-25T00:00:00Z\"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= \"2023-11-24\" AND sleep.interval.civil_end_time < \"2023-11-25\"` Data points in the response will be ordered by the interval start time in descending order.", +"description": "Optional. Filter expression following https://google.aip.dev/160. A time range (either physical or civil) can be specified. The supported filter fields are: - Interval start time: - Pattern: `{interval_data_type}.interval.start_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `steps.interval.start_time >= \"2023-11-24T00:00:00Z\" AND steps.interval.start_time < \"2023-11-25T00:00:00Z\"` - `distance.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Interval civil start time: - Pattern: `{interval_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `steps.interval.civil_start_time >= \"2023-11-24\" AND steps.interval.civil_start_time < \"2023-11-25\"` - `distance.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Sample observation physical time: - Pattern: `{sample_data_type}.sample_time.physical_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND` - Example: - `weight.sample_time.physical_time >= \"2023-11-24T00:00:00Z\" AND weight.sample_time.physical_time < \"2023-11-25T00:00:00Z\"` - `weight.sample_time.physical_time >= \"2024-08-14T12:34:56Z\"` - Sample observation civil time: - Pattern: `{sample_data_type}.sample_time.civil_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `weight.sample_time.civil_time >= \"2023-11-24\" AND weight.sample_time.civil_time < \"2023-11-25\"` - `weight.sample_time.civil_time >= \"2024-08-14T12:34:56\"` - Daily summary date: - Pattern: `{daily_summary_data_type}.date` - Supported comparison operators: `>=`, `<` - Date literal expected in ISO 8601 `YYYY-MM-DD` format - Supported logical operators: `AND` - Example: - `daily_heart_rate_variability.date < \"2024-08-15\"` - Session civil start time (**Excluding Sleep and ECG**): - Pattern: `{session_data_type}.interval.civil_start_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND` - Example: - `exercise.interval.civil_start_time >= \"2023-11-24\" AND exercise.interval.civil_start_time < \"2023-11-25\"` - `exercise.interval.civil_start_time >= \"2024-08-14T12:34:56\"` - Session start time (**ECG specific**): - Pattern: `electrocardiogram.interval.start_time` - Supported comparison operators: `>=` - Timestamp literal expected in RFC-3339 format - Example: - `electrocardiogram.interval.start_time >= \"2024-08-14T12:34:56Z\"` - Note: Only filtering by start time is supported for ECG. Filtering by end time (e.g., `electrocardiogram.interval.end_time`) is not supported. - Session end time (**Sleep specific**): - Pattern: `sleep.interval.end_time` - Supported comparison operators: `>=`, `<` - Timestamp literal expected in RFC-3339 format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.end_time >= \"2023-11-24T00:00:00Z\" AND sleep.interval.end_time < \"2023-11-25T00:00:00Z\"` - Session civil end time (**Sleep specific**): - Pattern: `sleep.interval.civil_end_time` - Supported comparison operators: `>=`, `<` - Date with optional time literal expected in ISO 8601 `YYYY-MM-DD[THH:mm:ss]` format - Supported logical operators: `AND`, `OR` - Example: - `sleep.interval.civil_end_time >= \"2023-11-24\" AND sleep.interval.civil_end_time < \"2023-11-25\"` Data points in the response will be ordered by the interval start time in descending order.", "location": "query", "type": "string" }, @@ -609,7 +781,7 @@ ], "parameters": { "name": { -"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", +"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", "location": "path", "pattern": "^users/[^/]+/dataTypes/[^/]+/dataPoints/[^/]+$", "required": true, @@ -707,13 +879,107 @@ } } } +}, +"pairedDevices": { +"methods": { +"get": { +"description": "Returns user's Device.", +"flatPath": "v4/users/{usersId}/pairedDevices/{pairedDevicesId}", +"httpMethod": "GET", +"id": "health.users.pairedDevices.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The name of the device to retrieve. Format: users/{user}/devices/{device}", +"location": "path", +"pattern": "^users/[^/]+/pairedDevices/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+name}", +"response": { +"$ref": "PairedDevice" +}, +"scopes": [ +"https://www.googleapis.com/auth/googlehealth.settings.readonly" +] +}, +"list": { +"description": "Returns the user's list of paired 1P trackers and smartwatches.", +"flatPath": "v4/users/{usersId}/pairedDevices", +"httpMethod": "GET", +"id": "health.users.pairedDevices.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of devices to return. The service may return fewer than this value. If unspecified, at most 5 devices will be returned. The maximum value is 100. values above 100 will be coerced to 100.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListPairedDevices` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPairedDevices` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, which owns this collection of devices. Format: users/{user}", +"location": "path", +"pattern": "^users/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v4/{+parent}/pairedDevices", +"response": { +"$ref": "ListPairedDevicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/googlehealth.settings.readonly" +] +} +} } } } }, -"revision": "20260515", +"revision": "20260607", "rootUrl": "https://health.googleapis.com/", "schemas": { +"ActiveEnergyBurned": { +"description": "Energy burned as part of an activity, excluding the basal energy burn.", +"id": "ActiveEnergyBurned", +"properties": { +"interval": { +"$ref": "ObservationTimeInterval", +"description": "Required. Observed interval" +}, +"kcal": { +"description": "Required. Energy burned during an activity, measured in kilocalories.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"ActiveEnergyBurnedRollupValue": { +"description": "Represents the result of the rollup of active energy burned.", +"id": "ActiveEnergyBurnedRollupValue", +"properties": { +"kcalSum": { +"description": "Output only. Sum of the active energy burned in kilocalories.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, "ActiveMinutes": { "description": "Record of active minutes in a given time interval.", "id": "ActiveMinutes", @@ -929,6 +1195,54 @@ }, "type": "object" }, +"AlertWindow": { +"description": "An analysis window evaluated for AFib. Note: The current version of the algorithm will only produce alerts if all windows are positive. So anything returned from the API will always have the positive bit set to true. Internally, windows can be negative, however. We never save \"inconclusive\" windows (they aren't produced by the algorithm).", +"id": "AlertWindow", +"properties": { +"civilEndTime": { +"$ref": "CivilDateTime", +"description": "Output only. Observed interval end time in civil time in the timezone the subject is in at the end of the observed interval", +"readOnly": true +}, +"civilStartTime": { +"$ref": "CivilDateTime", +"description": "Output only. Observed interval start time in civil time in the timezone the subject is in at the start of the observed interval", +"readOnly": true +}, +"endTime": { +"description": "Required. The end time of the analysis window.", +"format": "google-datetime", +"type": "string" +}, +"endUtcOffset": { +"description": "Required. The UTC offset of the user's timezone when the analysis window ended.", +"format": "google-duration", +"type": "string" +}, +"heartBeats": { +"description": "Optional. All heart beats in the interval contained in this analysis window.", +"items": { +"$ref": "HeartBeat" +}, +"type": "array" +}, +"positive": { +"description": "Optional. Flag indicating whether the window was positive for AFib or not. A `true` value indicates that AFib was detected in this window. A `false` value means AFib was not detected, but does not guarantee the absence of AFib.", +"type": "boolean" +}, +"startTime": { +"description": "Required. Observed interval. The start time of the analysis window.", +"format": "google-datetime", +"type": "string" +}, +"startUtcOffset": { +"description": "Required. The UTC offset of the user's timezone when the analysis window started.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, "Altitude": { "description": "Captures the altitude gain (i.e. deltas), and not level above sea, for a user in millimeters.", "id": "Altitude", @@ -1004,7 +1318,117 @@ "items": { "type": "string" }, -"type": "array" +"type": "array" +} +}, +"type": "object" +}, +"BloodGlucose": { +"description": "Represents a blood glucose level measurement. LINT: LEGACY_NAMES", +"id": "BloodGlucose", +"properties": { +"bloodGlucoseMilligramsPerDeciliter": { +"description": "Required. Blood glucose level concentration in mg/dL.", +"format": "double", +"type": "number" +}, +"mealType": { +"description": "Optional. Meal type of the measurement.", +"enum": [ +"MEAL_TYPE_UNSPECIFIED", +"BREAKFAST", +"LUNCH", +"DINNER", +"SNACK" +], +"enumDescriptions": [ +"Unspecified meal type.", +"Breakfast.", +"Lunch.", +"Dinner.", +"Snack." +], +"type": "string" +}, +"measurementSource": { +"description": "Optional. Source of the measurement.", +"enum": [ +"MEASUREMENT_SOURCE_UNSPECIFIED", +"SELF_MONITORING_BLOOD_GLUCOSE", +"CONTINUOUS_GLUCOSE_MONITORING", +"LAB_TEST" +], +"enumDescriptions": [ +"Unspecified measurement source.", +"Self-monitoring of blood glucose (Blood glucose meter)", +"Continuous glucose monitoring device", +"Laboratory test" +], +"type": "string" +}, +"measurementTiming": { +"description": "Optional. Timing of the measurement.", +"enum": [ +"MEASUREMENT_TIMING_UNSPECIFIED", +"AFTER_MEAL", +"BEFORE_MEAL", +"FASTING", +"GENERAL", +"BEFORE_BED", +"OVER_NIGHT" +], +"enumDescriptions": [ +"Unspecified measurement timing.", +"Measurement taken after meal.", +"Measurement taken before meal.", +"Measurement taken while fasting.", +"General measurement (not associated with a meal or time of day).", +"Measurement taken before bed.", +"Measurement taken over night." +], +"type": "string" +}, +"notes": { +"description": "Optional. Standard free-form notes captured at manual logging.", +"type": "string" +}, +"sampleTime": { +"$ref": "ObservationSampleTime", +"description": "Required. The time at which blood glucose was measured." +}, +"specimen": { +"description": "Optional. Type of body fluid used to measure the blood glucose.", +"enum": [ +"SPECIMEN_UNSPECIFIED", +"CAPILLARY_BLOOD", +"INTERSTITIAL_FLUID", +"PLASMA", +"SERUM", +"TEARS", +"WHOLE_BLOOD" +], +"enumDescriptions": [ +"Unspecified specimen.", +"Capillary blood.", +"Interstitial fluid.", +"Plasma.", +"Serum.", +"Tears.", +"Whole blood." +], +"type": "string" +} +}, +"type": "object" +}, +"BloodGlucoseRollupValue": { +"description": "Represents the result of the rollup of the blood glucose data type. LINT: LEGACY_NAMES", +"id": "BloodGlucoseRollupValue", +"properties": { +"bloodGlucoseMilligramsPerDeciliterAvg": { +"description": "Average blood glucose level in mg/dL.", +"format": "double", +"type": "number" } }, "type": "object" @@ -1111,6 +1535,92 @@ }, "type": "object" }, +"CoreBodyTemperature": { +"description": "Core body temperature measurement, distinct from peripheral body temperature, reflects the temperature of the body's internal organs.", +"id": "CoreBodyTemperature", +"properties": { +"id": { +"description": "Optional. The unique identifier of the core body temperature measurement.", +"type": "string" +}, +"measurementLocation": { +"description": "Optional. The location of the core body temperature measurement.", +"enum": [ +"MEASUREMENT_LOCATION_UNSPECIFIED", +"OTHER", +"ARMPIT", +"BODY", +"EAR", +"FINGER", +"GASTRO_INTESTINAL", +"MOUTH", +"RECTUM", +"TOE", +"EAR_DRUM", +"TEMPORAL_ARTERY", +"FOREHEAD", +"URINARY_BLADDER", +"NASAL", +"NASOPHARYNGEAL", +"WRIST", +"VAGINA" +], +"enumDescriptions": [ +"Measurement location is unspecified.", +"Other measurement location.", +"Armpit measurement location.", +"Body measurement location.", +"Ear measurement location.", +"Finger measurement location.", +"Gastro-intestinal measurement location.", +"Mouth measurement location.", +"Rectum measurement location.", +"Toe measurement location.", +"Ear drum measurement location.", +"Temporal artery measurement location.", +"Forehead measurement location.", +"Urinary bladder measurement location.", +"Nasal measurement location.", +"Nasopharyngeal measurement location.", +"Wrist measurement location.", +"Vagina measurement location." +], +"type": "string" +}, +"sampleTime": { +"$ref": "ObservationSampleTime", +"description": "Required. The time at which core body temperature was measured." +}, +"temperatureCelsius": { +"description": "Required. The core body temperature in Celsius.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"CoreBodyTemperatureRollupValue": { +"description": "Represents the result of the rollup of the core body temperature data type.", +"id": "CoreBodyTemperatureRollupValue", +"properties": { +"temperatureCelsiusAvg": { +"description": "Average core body temperature in Celsius.", +"format": "double", +"type": "number" +}, +"temperatureCelsiusMax": { +"description": "Maximum core body temperature in Celsius.", +"format": "double", +"type": "number" +}, +"temperatureCelsiusMin": { +"description": "Minimum core body temperature in Celsius.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, "CreateSubscriberPayload": { "description": "Payload for creating a subscriber.", "id": "CreateSubscriberPayload", @@ -1133,6 +1643,24 @@ }, "type": "object" }, +"CreateSubscriptionPayload": { +"description": "Payload for creating a subscription.", +"id": "CreateSubscriptionPayload", +"properties": { +"dataTypes": { +"description": "Optional. Data types subscribed to.", +"items": { +"type": "string" +}, +"type": "array" +}, +"user": { +"description": "Required. Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).", +"type": "string" +} +}, +"type": "object" +}, "DailyHeartRateVariability": { "description": "Represents the daily heart rate variability data type. At least one of the following fields must be set: - `average_heart_rate_variability_milliseconds` - `non_rem_heart_rate_beats_per_minute` - `entropy` - `deep_sleep_root_mean_square_of_successive_differences_milliseconds`", "id": "DailyHeartRateVariability", @@ -1317,6 +1845,10 @@ "description": "Value of a daily rollup for a single civil time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.", "id": "DailyRollupDataPoint", "properties": { +"activeEnergyBurned": { +"$ref": "ActiveEnergyBurnedRollupValue", +"description": "Returned by default when rolling up data points from the `active-energy-burned` data type." +}, "activeMinutes": { "$ref": "ActiveMinutesRollupValue", "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier." @@ -1333,6 +1865,10 @@ "$ref": "AltitudeRollupValue", "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier." }, +"bloodGlucose": { +"$ref": "BloodGlucoseRollupValue", +"description": "Returned by default when rolling up data points from the `blood-glucose` data type." +}, "bodyFat": { "$ref": "BodyFatRollupValue", "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier." @@ -1349,6 +1885,10 @@ "$ref": "CivilDateTime", "description": "Start time of the window this value aggregates over" }, +"coreBodyTemperature": { +"$ref": "CoreBodyTemperatureRollupValue", +"description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier." +}, "distance": { "$ref": "DistanceRollupValue", "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier." @@ -1369,6 +1909,10 @@ "$ref": "HydrationLogRollupValue", "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier." }, +"nutritionLog": { +"$ref": "NutritionLogRollupValue", +"description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier." +}, "restingHeartRatePersonalRange": { "$ref": "RestingHeartRatePersonalRangeRollupValue", "description": "Returned by default when rolling up data points from the `daily-resting-heart-rate` data type, or when requested explicitly using the `resting-heart-rate-personal-range` rollup type identifier." @@ -1481,6 +2025,10 @@ "description": "A computed or recorded metric.", "id": "DataPoint", "properties": { +"activeEnergyBurned": { +"$ref": "ActiveEnergyBurned", +"description": "Optional. Data for points in the `active-energy-burned` interval data type collection." +}, "activeMinutes": { "$ref": "ActiveMinutes", "description": "Optional. Data for points in the `active-minutes` interval data type collection." @@ -1501,10 +2049,18 @@ "$ref": "BasalEnergyBurned", "description": "Optional. Data for points in the `basal-energy-burned` interval data type collection." }, +"bloodGlucose": { +"$ref": "BloodGlucose", +"description": "Optional. Data for points in the `blood-glucose` sample data type collection." +}, "bodyFat": { "$ref": "BodyFat", "description": "Optional. Data for points in the `body-fat` sample data type collection." }, +"coreBodyTemperature": { +"$ref": "CoreBodyTemperature", +"description": "Optional. Data for points in the `core-body-temperature` sample data type collection." +}, "dailyHeartRateVariability": { "$ref": "DailyHeartRateVariability", "description": "Optional. Data for points in the `daily-heart-rate-variability` daily data type collection." @@ -1541,6 +2097,10 @@ "$ref": "Distance", "description": "Optional. Data for points in the `distance` interval data type collection." }, +"electrocardiogram": { +"$ref": "Electrocardiogram", +"description": "Optional. Data for points in the `electrocardiogram` session data type collection." +}, "exercise": { "$ref": "Exercise", "description": "Optional. Data for points in the `exercise` session data type collection." @@ -1549,6 +2109,14 @@ "$ref": "Floors", "description": "Optional. Data for points in the `floors` interval data type collection." }, +"food": { +"$ref": "Food", +"description": "Optional. The food details." +}, +"foodMeasurementUnit": { +"$ref": "FoodMeasurementUnit", +"description": "Optional. The food measurement unit details." +}, "heartRate": { "$ref": "HeartRate", "description": "Optional. Data for points in the `heart-rate` sample data type collection." @@ -1565,10 +2133,18 @@ "$ref": "HydrationLog", "description": "Optional. Data for points in the `hydration-log` session data type collection." }, +"irregularRhythmNotification": { +"$ref": "IrregularRhythmNotification", +"description": "Optional. Data for points in the `irregular-rhythm-notification` session data type collection." +}, "name": { -"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", +"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", "type": "string" }, +"nutritionLog": { +"$ref": "NutritionLog", +"description": "Optional. Data for points in the `nutrition-log` session data type collection." +}, "oxygenSaturation": { "$ref": "OxygenSaturation", "description": "Optional. Data for points in the `oxygen-saturation` sample data type collection." @@ -1819,6 +2395,80 @@ }, "type": "object" }, +"Electrocardiogram": { +"description": "Represents an Electrocardiogram (ECG) measurement session. This data type is based on SaMD feature and any changes to it may require additional review.", +"id": "Electrocardiogram", +"properties": { +"beatsPerMinuteAvg": { +"description": "Optional. Average heart rate recorded during ECG reading in beats per minute.", +"format": "int64", +"type": "string" +}, +"interval": { +"$ref": "SessionTimeInterval", +"description": "Required. Observed interval. NOTE: Historical ECG data lacks timezone offsets, so `start_utc_offset` and `end_utc_offset` will be missing or default to zero. As a result, the civil time fields within this interval will default to UTC. It is recommended to use physical time fields instead for accurate time referencing. NOTE: The `start_time` and `end_time` of the interval are equal, representing the reading time." +}, +"leadNumber": { +"description": "Optional. The number of leads used for ECG reading.", +"format": "int32", +"type": "integer" +}, +"medicalDeviceInfo": { +"$ref": "MedicalDeviceInfo", +"description": "Output only. The meta information for the compatible device used to conduct the measurement. ECG measurements typically populate `firmware_version`, `feature_version`, and `device_model`.", +"readOnly": true +}, +"millivoltsScalingFactor": { +"description": "Optional. The factor by which to divide waveform samples to get voltage in millivolts: millivolts = waveform_sample / millivolts_scaling_factor.", +"format": "int32", +"type": "integer" +}, +"resultClassification": { +"description": "Optional. The result classification of the ECG reading.", +"enum": [ +"RESULT_CLASSIFICATION_UNSPECIFIED", +"NORMAL_SINUS_RHYTHM", +"ATRIAL_FIBRILLATION", +"INCONCLUSIVE", +"INCONCLUSIVE_HIGH_HEART_RATE", +"INCONCLUSIVE_LOW_HEART_RATE", +"UNREADABLE", +"NOT_ANALYZED" +], +"enumDescriptions": [ +"Unspecified result classification.", +"Heart rhythm appears normal. Corresponds to result \"Normal Sinus Rhythm\".", +"Signs of Atrial Fibrillation detected. Corresponds to result \"Atrial Fibrillation\".", +"The reading is inconclusive as it could not be classified. Corresponds to result \"Inconclusive\".", +"The reading is inconclusive as it could not be classified because heart rate is high (>120bpm). Corresponds to result \"Inconclusive: High heart rate\".", +"The reading is inconclusive as it could not be classified because heart rate is low (<50bpm). Corresponds to result \"Inconclusive: Low heart rate\".", +"The reading is unreadable.", +"The reading was not analyzed." +], +"type": "string" +}, +"samplingFrequencyHertz": { +"description": "Optional. The sampling frequency of waveform samples in hertz.", +"format": "int32", +"type": "integer" +}, +"waveformSamples": { +"description": "Optional. An array of voltage values representing lead I ECG values. Each sample represents voltage difference in ECG graph. The first value in array corresponds to the start of the reading.", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +} +}, +"type": "object" +}, +"Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "Empty", +"properties": {}, +"type": "object" +}, "EndpointAuthorization": { "description": "Authorization mechanism for a subscriber endpoint. For all requests sent by the Webhooks service, the JSON payload is cryptographically signed. The signature is delivered in the `X-HEALTHAPI-SIGNATURE` HTTP header. This is an ECDSA (NIST P256) signature of the JSON payload. Clients must verify this signature using Google Health API's public key to confirm the payload was sent by the Health API.", "id": "EndpointAuthorization", @@ -1835,6 +2485,70 @@ }, "type": "object" }, +"EnergyQuantity": { +"description": "Represents the energy quantity.", +"id": "EnergyQuantity", +"properties": { +"kcal": { +"description": "Required. Value representing the energy in kilocalories.", +"format": "double", +"type": "number" +}, +"userProvidedUnit": { +"description": "Optional. Value representing the user provided unit.", +"enum": [ +"ENERGY_UNIT_UNSPECIFIED", +"JOULE", +"KILOJOULE", +"KILOCALORIE", +"SMALL_CALORIE", +"CALORIE" +], +"enumDescriptions": [ +"Unspecified energy unit.", +"Value representing joule.", +"Value representing kilojoule.", +"Value representing kilocalorie.", +"Value representing small calorie.", +"Value representing calorie." +], +"type": "string" +} +}, +"type": "object" +}, +"EnergyQuantityRollup": { +"description": "Rollup for the energy quantity.", +"id": "EnergyQuantityRollup", +"properties": { +"kcalSum": { +"description": "Required. The sum of the energy in kilocalories.", +"format": "double", +"type": "number" +}, +"userProvidedUnitLast": { +"description": "Optional. The user provided unit on the last element.", +"enum": [ +"ENERGY_UNIT_UNSPECIFIED", +"JOULE", +"KILOJOULE", +"KILOCALORIE", +"SMALL_CALORIE", +"CALORIE" +], +"enumDescriptions": [ +"Unspecified energy unit.", +"Value representing joule.", +"Value representing kilojoule.", +"Value representing kilocalorie.", +"Value representing small calorie.", +"Value representing calorie." +], +"type": "string" +} +}, +"type": "object" +}, "Exercise": { "description": "An exercise that stores information about a physical activity.", "id": "Exercise", @@ -1869,33 +2583,371 @@ "description": "Required. The type of activity performed during an exercise.", "enum": [ "EXERCISE_TYPE_UNSPECIFIED", -"RUNNING", -"WALKING", +"AEROBIC_WORKOUT", +"ARCHERY", +"ASSAULT_BIKE", +"BACKPACKING", +"BADMINTON", +"BALLET", +"BALLROOM_DANCE", +"BARRE_CLASS", +"BASEBALL", +"BASKETBALL", "BIKING", -"SWIMMING", +"BILLIARDS", +"BODY_WEIGHT", +"BOOTCAMP", +"BOWLING", +"BOXING", +"BREAKDANCING", +"CALISTHENICS", +"CANOEING", +"CARDIO_SCULPT", +"CARDIO_WORKOUT", +"CARPENTRY", +"CHEERLEADING", +"CIRCUIT_TRAINING", +"CLEANING", +"CLIMBING", +"CORE_TRAINING", +"CRICKET", +"CROQUET", +"CROSS_COUNTRY_SKI", +"CROSS_TRAINING", +"CROSSFIT", +"CURLING", +"DANCING", +"DIVING", +"ELECTRIC_BIKE", +"ELECTRIC_SCOOTER", +"ELLIPTICAL", +"EQUESTRIAN_SPORTS", +"EXERCISE_CLASS", +"FENCING", +"FIELD_HOCKEY", +"FISHING", +"FITNESS_GAMING", +"FOILING", +"FOOTBALL_AMERICAN", +"FOOTBALL_AUSTRALIAN", +"FREE_WEIGHTS", +"FRISBEE_PLAYING_GENERAL", +"FUNCTIONAL_STRENGTH_TRAINING", +"GARDENING", +"GOLF", +"GYMNASTICS", +"HANDBALL", +"HAND_CYCLING", +"HIIT", "HIKING", -"YOGA", +"HIP_HOP", +"HOCKEY", +"HOEING", +"HOUSEHOLD_CHORES", +"HUNTING", +"ICE_SKATING", +"INCLINE_RUN", +"INCLINE_WALK", +"INDOOR_CLIMBING", +"INTERVAL_WORKOUT", +"JAZZ_DANCE", +"JIU_JITSU", +"JUMPING_ROPE", +"KARATE", +"KAYAKING", +"KICKBOXING", +"KITESURFING", +"LACROSSE", +"MARTIAL_ARTS", +"MEDITATE", +"MODERN_DANCE", +"MOTOCROSS", +"MOTORCYCLE", +"MOUNTAIN_BIKE", +"MOWING_LAWN", +"MUAY_THAI", +"MULTISPORT", +"MUSICAL_PERFORMANCE", +"NORDIC_WALKING", +"ORIENTEERING", +"OTHER", +"OUTDOOR_BIKE", +"OUTDOOR_WORKOUT", +"PADDLEBOARDING", +"PADEL", +"PAINTING", +"PARAGLIDING", +"PARKOUR", +"PICKELBALL", "PILATES", -"WORKOUT", -"HIIT", -"WEIGHTLIFTING", +"POLO", +"POWERLIFTING", +"POWER_WALKING", +"RACKET_SPORTS", +"RACQUETBALL", +"RESISTANCE_BANDS", +"ROCK_CLIMBING", +"ROLLERBLADING", +"ROLLER_SKATING", +"ROWING", +"ROWING_MACHINE", +"RUCKING", +"RUGBY", +"RUNNING", +"SAILING", +"SCOOTERING", +"SCUBA_DIVING", +"SHOOTING", +"SHOVELING", +"SKATEBOARDING", +"SKATING", +"SKIING", +"SKYDIVING", +"SNORKELING", +"SNOWBOARDING", +"SNOWMOBILING", +"SNOWSHOEING", +"SNOW_SPORT", +"SOCCER", +"SOFTBALL", +"SPEED_SKATING", +"SPINNING", +"SPORT", +"SQUASH", +"STAIRCLIMBER", +"STATIONARY_BIKE", +"STEP_TRAINING", "STRENGTH_TRAINING", -"OTHER" +"STRETCHING", +"STROLLER_WALK", +"SURFING", +"SWIMMING", +"SWIMMING_OPEN_WATER", +"SWIMMING_POOL", +"SYNCHRONIZED_SWIMMING", +"TABATA_WORKOUT", +"TABLE_TENNIS", +"TAEKWONDO", +"TAI_CHI", +"TANGO", +"TENNIS", +"TRACK_AND_FIELD", +"TRAIL_RUN", +"TRAMPOLINE", +"TREADMILL", +"TREADMILL_WALK", +"TRX", +"ULTIMATE_FRISBEE", +"UNICYCLING", +"VOLLEYBALL", +"VOLLEYBALL_BEACH", +"WAKEBOARDING", +"WALKING", +"WALK_WITH_WEIGHTS", +"WATER_AEROBICS", +"WATER_JOGGING", +"WATER_POLO", +"WATER_SKIING", +"WATER_SPORT", +"WATER_VOLLEYBALL", +"WEEDING", +"WEIGHTLIFTING", +"WEIGHT_MACHINES", +"WEIGHTS", +"WHEELCHAIR", +"WINDSURFING", +"WORKOUT", +"WRESTLING", +"YOGA", +"YOGA_BIKRAM", +"YOGA_HATHA", +"YOGA_POWER", +"YOGA_VINYASA", +"ZUMBA" ], "enumDescriptions": [ "Exercise type is unspecified.", -"Running type.", -"Walking type.", +"Aerobic workout type.", +"Archery type.", +"Assault bike type.", +"Backpacking type.", +"Badminton type.", +"Ballet type.", +"Ballroom dance type.", +"Barre class type.", +"Baseball type.", +"Basketball type.", "Biking type.", -"Swimming type.", +"Billiards type.", +"Body weight type.", +"Bootcamp type.", +"Bowling type.", +"Boxing type.", +"Breakdancing type.", +"Calisthenics type.", +"Canoeing type.", +"Cardio sculpt type.", +"Cardio workout type.", +"Carpentry type.", +"Cheerleading type.", +"Circuit training type.", +"Cleaning type.", +"Climbing type.", +"Core training type.", +"Cricket type.", +"Croquet type.", +"Cross country ski type.", +"Cross training type.", +"Crossfit type.", +"Curling type.", +"Dancing type.", +"Diving type.", +"Electric bike type.", +"Electric scooter type.", +"Elliptical type.", +"Equestrian sports type.", +"Exercise class type.", +"Fencing type.", +"Field hockey type.", +"Fishing type.", +"Fitness gaming type.", +"Foiling type.", +"Football american type.", +"Football australian type.", +"Free weights type.", +"Frisbee playing general type.", +"Functional strength training type.", +"Gardening type.", +"Golf type.", +"Gymnastics type.", +"Handball type.", +"Hand cycling type.", +"Hiit type.", "Hiking type.", -"Yoga type.", +"Hip hop type.", +"Hockey type.", +"Hoeing type.", +"Household chores type.", +"Hunting type.", +"Ice skating type.", +"Incline run type.", +"Incline walk type.", +"Indoor climbing type.", +"Interval workout type.", +"Jazz dance type.", +"Jiu jitsu type.", +"Jumping rope type.", +"Karate type.", +"Kayaking type.", +"Kickboxing type.", +"Kitesurfing type.", +"Lacrosse type.", +"Martial arts type.", +"Meditate type.", +"Modern dance type.", +"Motocross type.", +"Motorcycle type.", +"Mountain bike type.", +"Mowing lawn type.", +"Muay thai type.", +"Multisport type.", +"Musical performance type.", +"Nordic walking type.", +"Orienteering type.", +"Other type.", +"Outdoor bike type.", +"Outdoor workout type.", +"Paddleboarding type.", +"Padel type.", +"Painting type.", +"Paragliding type.", +"Parkour type.", +"Pickelball type.", "Pilates type.", -"Workout type.", -"HIIT type.", -"Weightlifting type.", +"Polo type.", +"Powerlifting type.", +"Power walking type.", +"Racket sports type.", +"Racquetball type.", +"Resistance bands type.", +"Rock climbing type.", +"Rollerblading type.", +"Roller skating type.", +"Rowing type.", +"Rowing machine type.", +"Rucking type.", +"Rugby type.", +"Running type.", +"Sailing type.", +"Scootering type.", +"Scuba diving type.", +"Shooting type.", +"Shoveling type.", +"Skateboarding type.", +"Skating type.", +"Skiing type.", +"Skydiving type.", +"Snorkeling type.", +"Snowboarding type.", +"Snowmobiling type.", +"Snowshoeing type.", +"Snow sport type.", +"Soccer type.", +"Softball type.", +"Speed skating type.", +"Spinning type.", +"Sport type.", +"Squash type.", +"Stairclimber type.", +"Stationary bike type.", +"Step training type.", "Strength training type.", -"Other type." +"Stretching type.", +"Stroller walk type.", +"Surfing type.", +"Swimming type.", +"Swimming open water type.", +"Swimming pool type.", +"Synchronized swimming type.", +"Tabata workout type.", +"Table tennis type.", +"Taekwondo type.", +"Tai chi type.", +"Tango type.", +"Tennis type.", +"Track and field type.", +"Trail run type.", +"Trampoline type.", +"Treadmill type.", +"Treadmill walk type.", +"Trx type.", +"Ultimate frisbee type.", +"Unicycling type.", +"Volleyball type.", +"Volleyball beach type.", +"Wakeboarding type.", +"Walking type.", +"Walk with weights type.", +"Water aerobics type.", +"Water jogging type.", +"Water polo type.", +"Water skiing type.", +"Water sport type.", +"Water volleyball type.", +"Weeding type.", +"Weightlifting type.", +"Weight machines type.", +"Weights type.", +"Wheelchair type.", +"Windsurfing type.", +"Workout type.", +"Wrestling type.", +"Yoga type.", +"Yoga bikram type.", +"Yoga hatha type.", +"Yoga power type.", +"Yoga vinyasa type.", +"Zumba type." ], "type": "string" }, @@ -2028,6 +3080,159 @@ }, "type": "object" }, +"Food": { +"description": "Represents a food item.", +"id": "Food", +"properties": { +"accessLevel": { +"description": "Required. The access level of the food.", +"enum": [ +"FOOD_ACCESS_LEVEL_UNSPECIFIED", +"FOOD_ACCESS_LEVEL_PUBLIC", +"FOOD_ACCESS_LEVEL_PRIVATE" +], +"enumDescriptions": [ +"Unspecified food access level.", +"Public food access level.", +"Private food access level." +], +"type": "string" +}, +"brand": { +"description": "Optional. The brand of the food.", +"type": "string" +}, +"defaultServing": { +"$ref": "FoodServing", +"description": "Required. Value representing the default serving of the food." +}, +"description": { +"description": "Optional. The description of the food.", +"type": "string" +}, +"displayName": { +"description": "Required. The display name of the food.", +"type": "string" +}, +"energyAvg": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the average energy of the food for the default serving." +}, +"energyFromFat": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the energy from fat of the food for the default serving." +}, +"energyMax": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the maximum energy of the food for the default serving." +}, +"energyMin": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the minimum energy of the food for the default serving." +}, +"languageCode": { +"description": "Optional. The language code where the food is available in format xx-XX. Supported values are defined in Settings.food_language_code.", +"type": "string" +}, +"mealType": { +"description": "Optional. The meal type associated with this food.", +"enum": [ +"MEAL_TYPE_UNSPECIFIED", +"BEFORE_BREAKFAST", +"BREAKFAST", +"BEFORE_LUNCH", +"LUNCH", +"BEFORE_DINNER", +"DINNER", +"AFTER_DINNER", +"SNACK", +"ANYTIME" +], +"enumDescriptions": [ +"Unspecified meal type.", +"Value representing a meal before breakfast.", +"Value representing a breakfast.", +"Value representing a morning snack.", +"Value representing a lunch.", +"Value representing an afternoon snack.", +"Value representing dinner.", +"Value representing an evening snack.", +"Value representing any meal outside of the usual three meals per day.", +"Value representing any time (legacy NA)." +], +"type": "string" +}, +"nutrients": { +"description": "Optional. Value representing the nutrients of the food for the default serving.", +"items": { +"$ref": "NutrientQuantity" +}, +"type": "array" +}, +"servings": { +"description": "Optional. The serving of the food.", +"items": { +"$ref": "FoodServing" +}, +"type": "array" +}, +"totalCarbohydrate": { +"$ref": "WeightQuantity", +"description": "Optional. Value representing the total carbohydrate of the food for the default serving." +}, +"totalFat": { +"$ref": "WeightQuantity", +"description": "Optional. Value representing the total fat of the food for the default serving." +} +}, +"type": "object" +}, +"FoodMeasurementUnit": { +"description": "Represents a food measurement unit.", +"id": "FoodMeasurementUnit", +"properties": { +"displayName": { +"description": "Required. The display name of the food measurement unit (e.g., \"gram\", \"piece\").", +"type": "string" +}, +"pluralDisplayName": { +"description": "Optional. The plural display name of the food measurement unit (e.g., \"grams\", \"pieces\").", +"type": "string" +} +}, +"type": "object" +}, +"FoodServing": { +"description": "Represents different properties and information about the serving of a specific food.", +"id": "FoodServing", +"properties": { +"amount": { +"description": "Optional. Amount of food consumed, fractional values are supported.", +"format": "double", +"type": "number" +}, +"foodMeasurementUnit": { +"description": "Required. Food measurement unit", +"type": "string" +}, +"foodMeasurementUnitDisplayName": { +"description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").", +"readOnly": true, +"type": "string" +}, +"foodMeasurementUnitDisplayNamePlural": { +"description": "Output only. Legacy measurement unit for serving size in plural form (e.g. \"pieces\", \"grams\").", +"readOnly": true, +"type": "string" +}, +"multiplier": { +"description": "Optional. Value representing the multiplier used to compute the energy when using this serving instead of the default serving.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, "GoogleDevicesandservicesHealthV4DataType": { "description": "Represents a type of health data a user can have data points recorded for. It matches the parent resource of collection containing data points of the given type. Clients currently do not need to interact with this resource directly.", "id": "GoogleDevicesandservicesHealthV4DataType", @@ -2037,15 +3242,53 @@ "type": "string" } }, -"type": "object" +"type": "object" +}, +"GoogleDevicesandservicesHealthV4User": { +"description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.", +"id": "GoogleDevicesandservicesHealthV4User", +"properties": { +"name": { +"description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": { +"description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", +"id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog", +"properties": { +"httpResponse": { +"$ref": "HttpResponse", +"description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body." +} +}, +"type": "object" +}, +"HeartBeat": { +"description": "A single heart beat measurement.", +"id": "HeartBeat", +"properties": { +"beatsPerMinute": { +"description": "Required. The beats-per-minute value extrapolated from the time before the following heart beat. This is calculated as 60000 / rr, where rr is the gap between heart beats in milliseconds (IBI - Interbeat Interval).", +"format": "int32", +"type": "integer" +}, +"civilTime": { +"$ref": "CivilDateTime", +"description": "Output only. The civil time in the timezone the subject is in at the time of the observation.", +"readOnly": true +}, +"physicalTime": { +"description": "Required. The time of the heart beat measurement.", +"format": "google-datetime", +"type": "string" }, -"GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": { -"description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", -"id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog", -"properties": { -"httpResponse": { -"$ref": "HttpResponse", -"description": "Required. Represents the HTTP response. This message includes the status code, reason phrase, headers, and body." +"utcOffset": { +"description": "Required. The UTC offset of the user's timezone when the heart beat measurement occurred.", +"format": "google-duration", +"type": "string" } }, "type": "object" @@ -2331,6 +3574,54 @@ }, "type": "object" }, +"IrnProfile": { +"description": "Irregular Rhythm Notifications (IRN) Profile details. The Irregular Rhythm Notifications (IRN) feature checks for signs of atrial fibrillation (AFib). The IrnProfile details include information about the user's onboarding status, enrollment status, and the last update time of analyzable data for this feature.", +"id": "IrnProfile", +"properties": { +"enrollmentStatus": { +"description": "Required. Whether or not the user is currently enrolled in having their data processed for IRN alerts.", +"type": "boolean" +}, +"name": { +"description": "Identifier. The resource name of this IrnProfile resource. Format: `users/{user}/irnProfile` Example: `users/1234567890/irnProfile` or `users/me/irnProfile` The {user} ID is a system-generated Google Health API user ID, a string of 1-63 characters consisting of lowercase and uppercase letters, numbers, and hyphens. The literal `me` can also be used to refer to the authenticated user.", +"type": "string" +}, +"onboardingStatus": { +"description": "Required. Whether or not the user has onboarded onto the IRN feature.", +"type": "boolean" +}, +"updateTime": { +"description": "Output only. The timestamp of the last piece of analyzable data synced by the user.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"IrregularRhythmNotification": { +"description": "Represents an Irregular Rhythm Notification alert, indicating a potential sign of atrial fibrillation (AFib). This data type is based on SaMD feature and any changes to it may require additional review.", +"id": "IrregularRhythmNotification", +"properties": { +"alertWindows": { +"description": "Optional. The overlapping analysis windows that were used to evaluate rhythm for potential AFib, containing specific information about the user's heart rhythm.", +"items": { +"$ref": "AlertWindow" +}, +"type": "array" +}, +"interval": { +"$ref": "SessionTimeInterval", +"description": "Required. Observed interval." +}, +"medicalDeviceInfo": { +"$ref": "MedicalDeviceInfo", +"description": "Output only. The meta information for the compatible device used to conduct the measurement. Irregular Rhythm Notification measurements typically populate `algorithm_version`, `service_version`, and `device_model`.", +"readOnly": true +} +}, +"type": "object" +}, "ListDataPointsResponse": { "description": "Response containing raw data points matching the query", "id": "ListDataPointsResponse", @@ -2349,6 +3640,24 @@ }, "type": "object" }, +"ListPairedDevicesResponse": { +"description": "Response message for ListPairedDevices.", +"id": "ListPairedDevicesResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"pairedDevices": { +"description": "The paired devices of the user.", +"items": { +"$ref": "PairedDevice" +}, +"type": "array" +} +}, +"type": "object" +}, "ListSubscribersResponse": { "description": "Response message for ListSubscribers.", "id": "ListSubscribersResponse", @@ -2372,6 +3681,56 @@ }, "type": "object" }, +"ListSubscriptionsResponse": { +"description": "Response message for ListSubscriptions.", +"id": "ListSubscriptionsResponse", +"properties": { +"nextPageToken": { +"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", +"type": "string" +}, +"subscriptions": { +"description": "The subscriptions from the specified subscriber.", +"items": { +"$ref": "Subscription" +}, +"type": "array" +} +}, +"type": "object" +}, +"MedicalDeviceInfo": { +"description": "Software as Medical Device (SaMD) metadata. Used to construct the Unique Device Identifier (UDI).", +"id": "MedicalDeviceInfo", +"properties": { +"algorithmVersion": { +"description": "Output only. The algorithm version used by the feature.", +"readOnly": true, +"type": "string" +}, +"deviceModel": { +"description": "Output only. The model name or device type of the compatible device used to collect the data.", +"readOnly": true, +"type": "string" +}, +"featureVersion": { +"description": "Output only. The version of the feature/app running on the device.", +"readOnly": true, +"type": "string" +}, +"firmwareVersion": { +"description": "Output only. The firmware version running on the compatible device used to collect the data.", +"readOnly": true, +"type": "string" +}, +"serviceVersion": { +"description": "Output only. The service version used by the feature.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "MetricsSummary": { "description": "Summary metrics for an exercise.", "id": "MetricsSummary", @@ -2469,6 +3828,308 @@ }, "type": "object" }, +"NutrientQuantity": { +"description": "Represents the quantity of a nutrient.", +"id": "NutrientQuantity", +"properties": { +"nutrient": { +"description": "Required. Value representing the nutrient.", +"enum": [ +"NUTRIENT_UNSPECIFIED", +"BIOTIN", +"CAFFEINE", +"CALCIUM", +"CHLORIDE", +"CARBOHYDRATES", +"CHOLESTEROL", +"CHROMIUM", +"COPPER", +"DIETARY_FIBER", +"FOLIC_ACID", +"IODINE", +"IRON", +"MAGNESIUM", +"MANGANESE", +"MOLYBDENUM", +"MONOUNSATURATED_FAT", +"NIACIN", +"PANTOTHENIC_ACID", +"PHOSPHORUS", +"POLYUNSATURATED_FAT", +"POTASSIUM", +"PROTEIN", +"RIBOFLAVIN", +"SATURATED_FAT", +"SELENIUM", +"SODIUM", +"SUGAR", +"THIAMIN", +"TRANS_FAT", +"UNSATURATED_FAT", +"VITAMIN_A", +"VITAMIN_B12", +"VITAMIN_B6", +"VITAMIN_C", +"VITAMIN_D", +"VITAMIN_E", +"VITAMIN_K", +"ZINC", +"FOLATE" +], +"enumDescriptions": [ +"Unspecified nutrient.", +"Value representing biotin nutrient.", +"Value representing caffeine nutrient.", +"Value representing calcium nutrient.", +"Value representing chloride nutrient.", +"Value representing carbohydrates nutrient.", +"Value representing cholesterol nutrient.", +"Value representing chromium nutrient.", +"Value representing copper nutrient.", +"Value representing dietary fiber nutrient.", +"Value representing folic acid nutrient.", +"Value representing iodine nutrient.", +"Value representing iron nutrient.", +"Value representing magnesium nutrient.", +"Value representing manganese nutrient.", +"Value representing molybdenum nutrient.", +"Value representing monounsaturated fat nutrient.", +"Value representing niacin nutrient.", +"Value representing pantothenic acid nutrient.", +"Value representing phosphorus nutrient.", +"Value representing polyunsaturated fat nutrient.", +"Value representing potassium nutrient.", +"Value representing protein nutrient.", +"Value representing riboflavin nutrient.", +"Value representing saturated fat nutrient.", +"Value representing selenium nutrient.", +"Value representing sodium nutrient.", +"Value representing sugar nutrient.", +"Value representing thiamin nutrient.", +"Value representing trans fat nutrient.", +"Value representing unsaturated fat nutrient.", +"Value representing vitamin A nutrient.", +"Value representing vitamin B12 nutrient.", +"Value representing vitamin B6 nutrient.", +"Value representing vitamin C nutrient.", +"Value representing vitamin D nutrient.", +"Value representing vitamin E nutrient.", +"Value representing vitamin K nutrient.", +"Value representing zinc nutrient.", +"Value representing folate nutrient." +], +"type": "string" +}, +"quantity": { +"$ref": "WeightQuantity", +"description": "Required. Value representing the quantity of the nutrient." +} +}, +"type": "object" +}, +"NutrientQuantityRollup": { +"description": "Nutrient quantity rollup.", +"id": "NutrientQuantityRollup", +"properties": { +"nutrient": { +"description": "Required. Aggregated nutrient.", +"enum": [ +"NUTRIENT_UNSPECIFIED", +"BIOTIN", +"CAFFEINE", +"CALCIUM", +"CHLORIDE", +"CARBOHYDRATES", +"CHOLESTEROL", +"CHROMIUM", +"COPPER", +"DIETARY_FIBER", +"FOLIC_ACID", +"IODINE", +"IRON", +"MAGNESIUM", +"MANGANESE", +"MOLYBDENUM", +"MONOUNSATURATED_FAT", +"NIACIN", +"PANTOTHENIC_ACID", +"PHOSPHORUS", +"POLYUNSATURATED_FAT", +"POTASSIUM", +"PROTEIN", +"RIBOFLAVIN", +"SATURATED_FAT", +"SELENIUM", +"SODIUM", +"SUGAR", +"THIAMIN", +"TRANS_FAT", +"UNSATURATED_FAT", +"VITAMIN_A", +"VITAMIN_B12", +"VITAMIN_B6", +"VITAMIN_C", +"VITAMIN_D", +"VITAMIN_E", +"VITAMIN_K", +"ZINC", +"FOLATE" +], +"enumDescriptions": [ +"Unspecified nutrient.", +"Value representing biotin nutrient.", +"Value representing caffeine nutrient.", +"Value representing calcium nutrient.", +"Value representing chloride nutrient.", +"Value representing carbohydrates nutrient.", +"Value representing cholesterol nutrient.", +"Value representing chromium nutrient.", +"Value representing copper nutrient.", +"Value representing dietary fiber nutrient.", +"Value representing folic acid nutrient.", +"Value representing iodine nutrient.", +"Value representing iron nutrient.", +"Value representing magnesium nutrient.", +"Value representing manganese nutrient.", +"Value representing molybdenum nutrient.", +"Value representing monounsaturated fat nutrient.", +"Value representing niacin nutrient.", +"Value representing pantothenic acid nutrient.", +"Value representing phosphorus nutrient.", +"Value representing polyunsaturated fat nutrient.", +"Value representing potassium nutrient.", +"Value representing protein nutrient.", +"Value representing riboflavin nutrient.", +"Value representing saturated fat nutrient.", +"Value representing selenium nutrient.", +"Value representing sodium nutrient.", +"Value representing sugar nutrient.", +"Value representing thiamin nutrient.", +"Value representing trans fat nutrient.", +"Value representing unsaturated fat nutrient.", +"Value representing vitamin A nutrient.", +"Value representing vitamin B12 nutrient.", +"Value representing vitamin B6 nutrient.", +"Value representing vitamin C nutrient.", +"Value representing vitamin D nutrient.", +"Value representing vitamin E nutrient.", +"Value representing vitamin K nutrient.", +"Value representing zinc nutrient.", +"Value representing folate nutrient." +], +"type": "string" +}, +"quantity": { +"$ref": "WeightQuantityRollup", +"description": "Required. Aggregated nutrient weight." +} +}, +"type": "object" +}, +"NutritionLog": { +"description": "Holds information about a user logged food. There are two ways of creating a nutrition log based on the food type: 1. Identified food: Using the food field, which is a reference to a Food resource. In this case fields `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat`, `food_display_name` will be populated based on the referenced food. 2. Anonymous food: Using the `food_display_name` field and setting the `nutrients`, `energy`, `energy_from_fat`, `total_carbohydrate`, `total_fat` fields manually. The identified food is preferred over the anonymous food. Nutrition logs created from anonymous food are not be editable.", +"id": "NutritionLog", +"properties": { +"energy": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the energy of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually." +}, +"energyFromFat": { +"$ref": "EnergyQuantity", +"description": "Optional. Value representing the energy from fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually." +}, +"food": { +"description": "Required. Represents the food ID.", +"type": "string" +}, +"foodDisplayName": { +"description": "Value representing the display name of the food. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually.", +"type": "string" +}, +"interval": { +"$ref": "SessionTimeInterval", +"description": "Required. Observed interval." +}, +"mealType": { +"description": "Optional. Value representing the meal type of the nutrition log.", +"enum": [ +"MEAL_TYPE_UNSPECIFIED", +"BEFORE_BREAKFAST", +"BREAKFAST", +"BEFORE_LUNCH", +"LUNCH", +"BEFORE_DINNER", +"DINNER", +"AFTER_DINNER", +"SNACK", +"ANYTIME" +], +"enumDescriptions": [ +"Unspecified meal type.", +"Value representing a meal before breakfast.", +"Value representing a breakfast.", +"Value representing a morning snack.", +"Value representing a lunch.", +"Value representing an afternoon snack.", +"Value representing dinner.", +"Value representing an evening snack.", +"Value representing any meal outside of the usual three meals per day.", +"Value representing any time (legacy NA)." +], +"type": "string" +}, +"nutrients": { +"description": "Optional. Value representing the nutrients of the nutrition log.", +"items": { +"$ref": "NutrientQuantity" +}, +"type": "array" +}, +"serving": { +"$ref": "Serving", +"description": "Optional. Value representing the nutrition log serving." +}, +"totalCarbohydrate": { +"$ref": "WeightQuantity", +"description": "Optional. Value representing the total carbohydrate of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually." +}, +"totalFat": { +"$ref": "WeightQuantity", +"description": "Optional. Value representing the total fat of the nutrition log. For nutrition logs created from an identified food, this field will be populated based on the referenced food. For anonymous food, this field will be populated manually." +} +}, +"type": "object" +}, +"NutritionLogRollupValue": { +"description": "Represents the result of the rollup of the nutrition log data type.", +"id": "NutritionLogRollupValue", +"properties": { +"energy": { +"$ref": "EnergyQuantityRollup", +"description": "Energy rollup." +}, +"energyFromFat": { +"$ref": "EnergyQuantityRollup", +"description": "Value Energy from fat rollup." +}, +"nutrients": { +"description": "List of the nutrient roll-ups by the nutrient type.", +"items": { +"$ref": "NutrientQuantityRollup" +}, +"type": "array" +}, +"totalCarbohydrate": { +"$ref": "WeightQuantityRollup", +"description": "Total carbohydrate rollup." +}, +"totalFat": { +"$ref": "WeightQuantityRollup", +"description": "Total fat rollup." +} +}, +"type": "object" +}, "ObservationSampleTime": { "description": "Represents a sample time of an observed data point.", "id": "ObservationSampleTime", @@ -2606,6 +4267,67 @@ }, "type": "object" }, +"PairedDevice": { +"description": "User's Paired 1P Device The PairedDevice details include information about the device type, battery status, battery level, last sync time, device version, mac address, and features.", +"id": "PairedDevice", +"properties": { +"batteryLevel": { +"description": "Output only. The battery level of the device.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"batteryStatus": { +"description": "Output only. The battery status of the device. Supported: High | Medium | Low | Empty", +"readOnly": true, +"type": "string" +}, +"deviceType": { +"description": "Output only. The device type. Supported: TRACKER | SCALE", +"enum": [ +"DEVICE_TYPE_UNSPECIFIED", +"TRACKER", +"SCALE" +], +"enumDescriptions": [ +"Device type is not specified.", +"Device type is tracker.", +"Device type is scale." +], +"readOnly": true, +"type": "string" +}, +"deviceVersion": { +"description": "Output only. The product name of the device", +"readOnly": true, +"type": "string" +}, +"features": { +"description": "Output only. Lists of unique features supported by the device. Comprehensive list of supported features: **Fitness Tracking** - `ACTIVE_MINUTES`: Legacy active minutes. - `AUTOSTRIDE`: Automatic stride length calculation. - `BIKE_ONBOARDING`: Cycling UI support. - `CALORIES`: Daily burned calories. - `DISTANCE`: Daily distance tracking. - `ELEVATION`: Floors climbed. - `INACTIVITY_ALERTS`: Reminders to move. - `SEDENTARY_TIME`: Tracks inactive time. - `STEPS`: Daily steps. - `SWIM`: Swim tracking (laps/strokes). - `AUTORUN`: Automatic run detection. - `ACTIVE_ZONE_MINUTES`: Active Zone Minutes (AZM). **Heart Rate & Health** - `HEART_RATE`: Continuous heart rate (PPG). - `BAT_SIGNAL`: High/Low Heart Rate Alerts. **Advanced Sensors** - `SPO2`: Blood oxygen saturation. - `NIGHTTIME_OXYGEN_SATURATION`: Sleep SpO2. - `ESTIMATED_OXYGEN_VARIATION`: Estimated Oxygen Variation. - `EDA`: Electrodermal Activity (stress). - `SKIN_TEMPERATURE`: Skin temperature variation. - `INTERNAL_DEVICE_TEMPERATURE`: Internal device temperature. **Sleep & Wellness** - `SLEEP`: Basic sleep tracking. - `SMART_SLEEP`: Advanced sleep tracking (stages/score). - `BEDTIME_REMINDER`: Bedtime reminders. - `SOUNDSCAPE`: Snore and noise detection. **Advanced Workouts** - `WB`: Custom Workout Builder. - `AUTOCUES`: Auto Cues / Auto Lap. - `DWR_RUN`: Daily Run Recommendations. - `ADVANCED_RUNNING`: Advanced Running Dynamics (e.g., GCT, VO). **GPS & Location** - `GPS`: Built-in GPS. - `CONNECTED_GPS`: Connected GPS (uses phone). - `LOCATION_HINT`: Location helper. **Payments & NFC** - `PAYMENTS`: NFC payments (Fitbit Pay/Google Wallet). - `FELICA`: FeliCa support (Japan payments/transit). **Activity Detection** - `GROK`: SmartTrack automatic activity detection. - `RETRO_AR`: Retroactive Activity Recognition prompts. **Smart Features & UI** - `ALARMS`: Silent alarms. - `BLE_MUSIC_CONTROL`: BLE music control. - `MUSIC`: Direct music storage/control. - `YOUTUBE_MUSIC_SUPPORTED`: YouTube Music support. - `GALLERY`: App Gallery. - `TUTORIAL_SUPPORTED`: On-screen tutorials. - `SMILEY_EMOTE`: Legacy Zip face. - `MOBILE_TO_DEVICE_DEEPLINK`: Mobile to device settings deep link. - `HIDE_GALLERY`: Option to hide Gallery. - `HIDE_GOAL_SELECTION`: Option to hide goal selection. - `DIGITAL_WARRANTY_SUPPORTED`: Digital warranty display. - `DIRECT_DEVICE_SETTINGS_SUPPORTED`: Direct device settings management. **Gym HR Broadcasting** - `ASPEN_SUPPORTED`: Broadcast HR to gym equipment. - `ASPEN_REMOTE_UI_SUPPORTED`: Remote UI for HR sharing. **Privacy & Security** - `FINITE_IMPROBABILITY`: BLE Resolvable Private Address (RPA) privacy. - `DOMAIN_KEY_SYNC`: Domain key synchronization. **BLE Protocol** - `BONDING`: Secure BLE bonding. - `ADVERTISES_SERIAL`: Advertises serial number. - `STATUS_CHARACTERISTIC`: BLE Status Characteristic. - `TRACKER_CHANNEL_CHARACTERISTIC`: BLE Tracker Channel Characteristic. - `PING_CHARACTERISTIC`: BLE Ping Characteristic. **Cellular & Wi-Fi** - `MOBILE_DATA`: LTE cellular support. - `SINGLE_AP_WIFI`: Single AP Wi-Fi. - `MULTI_AP_WIFI`: Multi AP Wi-Fi. - `WIFI_FWUP`: Firmware updates over Wi-Fi. **Data Sync & Transfer** - `APP_SYNC`: Background app sync. - `LIVE_DATA`: Real-time data streaming. - `EVENT_BASED_SYNC_SUPPORTED`: Event-based sync. - `TIME_SERVICE`: Time synchronization service. - `REMOTE_FILE_PROVIDER`: Remote file transfer. - `DIRECT_COMMS_ALARMS`: Direct communication for alarms. - `DIRECT_COMMS_EXERCISE`: Direct communication for exercise. - `DIRECT_COMMS_BATTERY_ALERTS`: Direct communication for battery alerts. **Google Integrations** - `PARROT_TREE_SUPPORTED`: Find My Device support.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"lastSyncTime": { +"description": "Output only. The time of last sync with the Fitbit mobile application.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"macAddress": { +"description": "Output only. Mac ID number of the device.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of this Device resource. Format: `users/{user}/pairedDevices/{paired_device}` Example: `users/1234567890/pairedDevices/123` or `users/me/pairedDevices/123`", +"type": "string" +} +}, +"type": "object" +}, "Profile": { "description": "Profile details.", "id": "Profile", @@ -2671,6 +4393,10 @@ "description": "A reconciled computed or recorded metric.", "id": "ReconciledDataPoint", "properties": { +"activeEnergyBurned": { +"$ref": "ActiveEnergyBurned", +"description": "Data for points in the `active-energy-burned` interval data type collection." +}, "activeMinutes": { "$ref": "ActiveMinutes", "description": "Data for points in the `active-minutes` interval data type collection." @@ -2691,10 +4417,18 @@ "$ref": "BasalEnergyBurned", "description": "Data for points in the `basal-energy-burned` interval data type collection." }, +"bloodGlucose": { +"$ref": "BloodGlucose", +"description": "Data for points in the `blood-glucose` sample data type collection." +}, "bodyFat": { "$ref": "BodyFat", "description": "Data for points in the `body-fat` sample data type collection." }, +"coreBodyTemperature": { +"$ref": "CoreBodyTemperature", +"description": "Data for points in the `core-body-temperature` sample data type collection." +}, "dailyHeartRateVariability": { "$ref": "DailyHeartRateVariability", "description": "Data for points in the `daily-heart-rate-variability` daily data type collection." @@ -2724,7 +4458,7 @@ "description": "Data for points in the `daily-vo2-max` daily data type collection." }, "dataPointName": { -"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `total-calories` for the `total_calories` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", +"description": "Identifier. Data point name, only supported for the subset of identifiable data types. For the majority of the data types, individual data points do not need to be identified and this field would be empty. Format: `users/{user}/dataTypes/{data_type}/dataPoints/{data_point}` Example: `users/abcd1234/dataTypes/sleep/dataPoints/a1b2c3d4-e5f6-7890-1234-567890abcdef` The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. The `{data_type}` ID corresponds to the kebab-case version of the field names in the DataPoint data union field, e.g. `heart-rate` for the `heart_rate` field. The `{data_point}` ID can be client-provided or system-generated. If client-provided, it must be a string of 4-63 characters, containing only lowercase letters, numbers, and hyphens.", "type": "string" }, "distance": { @@ -2755,6 +4489,10 @@ "$ref": "HydrationLog", "description": "Data for points in the `hydration-log` session data type collection." }, +"nutritionLog": { +"$ref": "NutritionLog", +"description": "Data for points in the `nutrition-log` session data type collection." +}, "oxygenSaturation": { "$ref": "OxygenSaturation", "description": "Data for points in the `oxygen-saturation` sample data type collection." @@ -2915,6 +4653,10 @@ "description": "Value of a rollup for a single physical time interval (aggregation window) of reconciled data points from all data sources, excluding those data points that are identified as recorded by wearables in intervals when they were not actually worn.", "id": "RollupDataPoint", "properties": { +"activeEnergyBurned": { +"$ref": "ActiveEnergyBurnedRollupValue", +"description": "Returned by default when rolling up data points from the `active-energy-burned` data type." +}, "activeMinutes": { "$ref": "ActiveMinutesRollupValue", "description": "Returned by default when rolling up data points from the `active-minutes` data type, or when requested explicitly using the `active-minutes` rollup type identifier." @@ -2931,6 +4673,10 @@ "$ref": "AltitudeRollupValue", "description": "Returned by default when rolling up data points from the `altitude` data type, or when requested explicitly using the `altitude` rollup type identifier." }, +"bloodGlucose": { +"$ref": "BloodGlucoseRollupValue", +"description": "Returned by default when rolling up data points from the `blood-glucose` data type." +}, "bodyFat": { "$ref": "BodyFatRollupValue", "description": "Returned by default when rolling up data points from the `body-fat` data type, or when requested explicitly using the `body-fat` rollup type identifier." @@ -2939,6 +4685,10 @@ "$ref": "CaloriesInHeartRateZoneRollupValue", "description": "Returned by default when rolling up data points from the `calories-in-heart-rate-zone` data type, or when requested explicitly using the `calories-in-heart-rate-zone` rollup type identifier." }, +"coreBodyTemperature": { +"$ref": "CoreBodyTemperatureRollupValue", +"description": "Returned by default when rolling up data points from the `core-body-temperature` data type, or when requested explicitly using the `core-body-temperature` rollup type identifier." +}, "distance": { "$ref": "DistanceRollupValue", "description": "Returned by default when rolling up data points from the `distance` data type, or when requested explicitly using the `distance` rollup type identifier." @@ -2960,6 +4710,10 @@ "$ref": "HydrationLogRollupValue", "description": "Returned by default when rolling up data points from the `hydration-log` data type, or when requested explicitly using the `hydration-log` rollup type identifier." }, +"nutritionLog": { +"$ref": "NutritionLogRollupValue", +"description": "Returned by default when rolling up data points from the `nutrition-log` data type, or when requested explicitly using the `nutrition-log` rollup type identifier." +}, "runVo2Max": { "$ref": "RunVO2MaxRollupValue", "description": "Returned by default when rolling up data points from the `run-vo2-max` data type, or when requested explicitly using the `run-vo2-max` rollup type identifier." @@ -3057,6 +4811,27 @@ }, "type": "object" }, +"Serving": { +"description": "Represents different properties and information about the serving of a specific food.", +"id": "Serving", +"properties": { +"amount": { +"description": "Optional. Amount of food consumed, fractional values are supported.", +"format": "double", +"type": "number" +}, +"foodMeasurementUnit": { +"description": "Required. Food measurement unit", +"type": "string" +}, +"foodMeasurementUnitDisplayName": { +"description": "Output only. Legacy measurement unit for serving size in singular form (e.g. \"piece\", \"gram\").", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "SessionTimeInterval": { "description": "Represents a time interval of session data point, which bundles multiple observed metrics together.", "id": "SessionTimeInterval", @@ -3116,6 +4891,11 @@ ], "type": "string" }, +"foodLanguageCode": { +"description": "Output only. The food language code derived from the user's food database. Possible values: `'en-US'`, `'en-GB'`, `'de-DE'`, `'es-ES'`, `'fr-FR'`, `'zh-CN'`, `'zh-TW'`, `'ja-JP'`, `'en-AU'`, `'en-CA'`, `'it-IT'`, `'ko-KR'`, `'es-MX'`, `'en-IN'`, `'en-SG'`, `'en-PH'`, `'en-IE'`, `'fr-CA'`. Updates to this field are currently not supported.", +"readOnly": true, +"type": "string" +}, "glucoseUnit": { "description": "Optional. The measurement unit defined in the user's account settings.", "enum": [ @@ -3712,6 +5492,28 @@ }, "type": "object" }, +"Subscription": { +"description": "A subscription to a data collection for a specific user, to be delivered to a subscriber.", +"id": "Subscription", +"properties": { +"dataTypes": { +"description": "Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format \"users/{health_user_id}/dataTypes/{data_type}\" where `{data_type}` is one of \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "Identifier. The resource name of the Subscription. Format: `projects/{project}/subscribers/{subscriber}/subscriptions/{subscription}` Example: `projects/my-project/subscribers/my-subscriber-123/subscriptions/my-subscription-456` The {project} ID is mandatory (6-30 characters, matching /a-z{6,30}/) The {subscriber} ID is user-settable (4-36 characters, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) if provided during creation, or system-generated otherwise. The {subscription} ID is user-settable (4-36 chars, matching /[a-z]([a-z0-9-]{2,34}[a-z0-9])/) or system-generated otherwise.", +"type": "string" +}, +"user": { +"description": "Immutable. The resource name of the user for whom this subscription is active. Format: `users/{user}` where `{user}` is the public `healthUserId` as returned by the `GetIdentity` action in the profile PAPI (see `google.devicesandservices.health.v4main.HealthProfileService.GetIdentity`).", +"type": "string" +} +}, +"type": "object" +}, "SwimLengthsData": { "description": "Swim lengths data over the time interval.", "id": "SwimLengthsData", @@ -4056,6 +5858,82 @@ }, "type": "object" }, +"WeightQuantity": { +"description": "Represents the weight quantity.", +"id": "WeightQuantity", +"properties": { +"grams": { +"description": "Required. Value representing the weight in grams.", +"format": "double", +"type": "number" +}, +"userProvidedUnit": { +"description": "Optional. Value representing the user provided unit.", +"enum": [ +"WEIGHT_UNIT_UNSPECIFIED", +"GRAM", +"KILOGRAM", +"OUNCE", +"POUND", +"STONE", +"MILLIGRAM", +"MICROGRAM", +"NANOGRAM" +], +"enumDescriptions": [ +"Unspecified weight unit.", +"Value representing gram.", +"Value representing kilogram.", +"Value representing ounce.", +"Value representing pound.", +"Value representing stone.", +"Value representing milligram.", +"Value representing microgram.", +"Value representing nanogram." +], +"type": "string" +} +}, +"type": "object" +}, +"WeightQuantityRollup": { +"description": "Rollup for the weight.", +"id": "WeightQuantityRollup", +"properties": { +"gramsSum": { +"description": "Required. The sum of the weight in grams.", +"format": "double", +"type": "number" +}, +"userProvidedUnitLast": { +"description": "Optional. The user provided unit on the last element.", +"enum": [ +"WEIGHT_UNIT_UNSPECIFIED", +"GRAM", +"KILOGRAM", +"OUNCE", +"POUND", +"STONE", +"MILLIGRAM", +"MICROGRAM", +"NANOGRAM" +], +"enumDescriptions": [ +"Unspecified weight unit.", +"Value representing gram.", +"Value representing kilogram.", +"Value representing ounce.", +"Value representing pound.", +"Value representing stone.", +"Value representing milligram.", +"Value representing microgram.", +"Value representing nanogram." +], +"type": "string" +} +}, +"type": "object" +}, "WeightRollupValue": { "description": "Represents the result of the rollup of the weight data type.", "id": "WeightRollupValue", diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json index a18ce0b1ec..4d6067952d 100644 --- a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json @@ -5718,7 +5718,7 @@ } } }, -"revision": "20260512", +"revision": "20260519", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { @@ -6701,6 +6701,25 @@ "properties": {}, "type": "object" }, +"CustomRegex": { +"description": "Defines a custom regular expression pattern to detect and redact in the image.", +"id": "CustomRegex", +"properties": { +"groupIndexes": { +"description": "Optional. The capturing group indexes to redact. skip_request_analyics: true", +"items": { +"format": "int32", +"type": "integer" +}, +"type": "array" +}, +"pattern": { +"description": "Optional. The regular expression pattern to match.", +"type": "string" +} +}, +"type": "object" +}, "Dataset": { "description": "A message representing a health dataset. A health dataset represents a collection of healthcare data pertaining to one or more patients. This may include multiple modalities of healthcare data, such as electronic medical records or medical imaging data.", "id": "Dataset", @@ -8360,6 +8379,13 @@ }, "type": "array" }, +"customRegexes": { +"description": "Optional. Custom regex patterns to redact from the image.", +"items": { +"$ref": "CustomRegex" +}, +"type": "array" +}, "excludeInfoTypes": { "description": "InfoTypes to skip redacting, overriding those used by `text_redaction_mode`. Can only be used when `text_redaction_mode` is set to `REDACT_SENSITIVE_TEXT` or `REDACT_SENSITIVE_TEXT_CLEAN_DESCRIPTORS`.", "items": { diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json index 1495dff168..9ab5e43fad 100644 --- a/googleapiclient/discovery_cache/documents/homegraph.v1.json +++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json @@ -216,7 +216,7 @@ } } }, -"revision": "20260508", +"revision": "20260523", "rootUrl": "https://homegraph.googleapis.com/", "schemas": { "AgentDeviceId": { @@ -735,7 +735,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, -"description": "Optional. The Home API trait payload.", +"description": "The Provider Home API trait payload.", "type": "object" } }, diff --git a/googleapiclient/discovery_cache/documents/logging.v2.json b/googleapiclient/discovery_cache/documents/logging.v2.json index 7e446413c2..84f6aadc98 100644 --- a/googleapiclient/discovery_cache/documents/logging.v2.json +++ b/googleapiclient/discovery_cache/documents/logging.v2.json @@ -9167,7 +9167,7 @@ } } }, -"revision": "20260501", +"revision": "20260522", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AppHub": { @@ -11429,6 +11429,10 @@ "truncationGranularity": { "description": "The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively.", "type": "string" +}, +"virtualField": { +"$ref": "VirtualField", +"description": "Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set." } }, "type": "object" @@ -11990,6 +11994,32 @@ }, "type": "object" }, +"VirtualField": { +"description": "A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema.", +"id": "VirtualField", +"properties": { +"underlyingFieldSources": { +"description": "The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type.", +"items": { +"$ref": "FieldSource" +}, +"type": "array" +}, +"virtualFieldType": { +"description": "Required. The type of the virtual field.", +"enum": [ +"VIRTUAL_FIELD_TYPE_UNSPECIFIED", +"COALESCE" +], +"enumDescriptions": [ +"Invalid value, do not use.", +"Creates a virtual field by selecting the first non-null value from the list of fields specified in underlying_field_sources, similar to a COALESCE function in SQL." +], +"type": "string" +} +}, +"type": "object" +}, "WriteLogEntriesRequest": { "description": "The parameters to WriteLogEntries.", "id": "WriteLogEntriesRequest", diff --git a/googleapiclient/discovery_cache/documents/managedkafka.v1.json b/googleapiclient/discovery_cache/documents/managedkafka.v1.json index 50bf8784e0..b5cbe7fe36 100644 --- a/googleapiclient/discovery_cache/documents/managedkafka.v1.json +++ b/googleapiclient/discovery_cache/documents/managedkafka.v1.json @@ -3186,7 +3186,7 @@ } } }, -"revision": "20260423", +"revision": "20260507", "rootUrl": "https://managedkafka.googleapis.com/", "schemas": { "AccessConfig": { @@ -4404,6 +4404,24 @@ }, "type": "object" }, +"SchemaSubject": { +"description": "Subject defines the evolution scope of schemas as a holder of schema versions.", +"id": "SchemaSubject", +"properties": { +"name": { +"description": "Identifier. The name of the subject. Structured like: `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/subjects/{subject}` or `projects/{project}/locations/{location}/schemaRegistries/{schema_registry}/contexts/{context}/subjects/{subject}` Subject name {subject} can contain the following: * Up to 255 UTF-8 bytes. * Allowed characters: letters (uppercase or lowercase), numbers, and the following special characters: `.`, `-`, `_`, `+`, `%`, and `~`.", +"type": "string" +}, +"versions": { +"description": "Optional. The versions of the subject.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "SchemaVersion": { "description": "Version of a schema.", "id": "SchemaVersion", diff --git a/googleapiclient/discovery_cache/documents/memcache.v1.json b/googleapiclient/discovery_cache/documents/memcache.v1.json index 698ffa6a44..5d73f9b71a 100644 --- a/googleapiclient/discovery_cache/documents/memcache.v1.json +++ b/googleapiclient/discovery_cache/documents/memcache.v1.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -648,7 +648,7 @@ } } }, -"revision": "20260205", +"revision": "20260517", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json index de47d473a1..b54e51dc7d 100644 --- a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method can be called in two ways: * **List all public locations:** Use the path `GET /v1/locations`. * **List project-visible locations:** Use the path `GET /v1/projects/{project_id}/locations`. This may include public locations as well as private or other locations specifically visible to the project.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "memcache.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -623,7 +623,7 @@ } } }, -"revision": "20260205", +"revision": "20260517", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { diff --git a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json index 1ea326ce98..d4067d3e43 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1.json @@ -2438,7 +2438,7 @@ } } }, -"revision": "20260512", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -4889,11 +4889,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json index 0c4ad54e1f..243b2965fc 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.accounts_v1beta.json @@ -2388,7 +2388,7 @@ } } }, -"revision": "20260512", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -4766,11 +4766,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1.json index dabec591e0..4ee3a01881 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1.json @@ -295,7 +295,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -628,11 +628,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json index d692cfff55..d094e36bb2 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.conversions_v1beta.json @@ -295,7 +295,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -628,11 +628,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json index 5ffd55a5f0..17ba9b0636 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1.json @@ -321,7 +321,7 @@ } } }, -"revision": "20260303", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -942,11 +942,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1beta.json index 28f028d2ed..8955232cbf 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.datasources_v1beta.json @@ -321,7 +321,7 @@ } } }, -"revision": "20260303", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -954,11 +954,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json index 7ffe839d44..24af5ac11d 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json @@ -300,7 +300,7 @@ } } }, -"revision": "20260408", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -686,11 +686,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json index e7a2e83fca..520ba617ba 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1beta.json @@ -300,7 +300,7 @@ } } }, -"revision": "20260411", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -610,11 +610,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1.json index c0438a825b..1aa29dca8f 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1.json @@ -268,7 +268,7 @@ } } }, -"revision": "20260429", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -986,11 +986,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1beta.json index a6d883c131..a9e27b3dfa 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.issueresolution_v1beta.json @@ -268,7 +268,7 @@ } } }, -"revision": "20260429", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -986,11 +986,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1.json index 83599815ff..a43e1b2d0b 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1.json @@ -327,7 +327,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -886,11 +886,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json index 4fc37aa339..f9424b21a8 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.lfp_v1beta.json @@ -327,7 +327,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -886,11 +886,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1.json index 161591d308..d0f3717f75 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1.json @@ -262,7 +262,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -467,11 +467,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1beta.json index e4be7f79de..d93232f811 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.notifications_v1beta.json @@ -262,7 +262,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -467,11 +467,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1.json index 14587443f8..d9fea6aee6 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1.json @@ -147,7 +147,7 @@ } } }, -"revision": "20260221", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -457,11 +457,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1beta.json index ddcc28bb75..af7ad1dd9a 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.ordertracking_v1beta.json @@ -147,7 +147,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -462,11 +462,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json index 4e9d507960..b18c8bb779 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.products_v1.json @@ -281,7 +281,7 @@ } } }, -"revision": "20260512", +"revision": "20260602", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AutomatedDiscounts": { @@ -643,7 +643,7 @@ ], "enumDescriptions": [ "Unspecified unit.", -"Grams per km." +"Grams per kilometer." ], "type": "string" }, @@ -793,7 +793,7 @@ false ], "enumDescriptions": [ "Unspecified unit.", -"Kilowatt hours per 100 km." +"Kilowatt hours per 100 kilometers." ], "type": "string" }, @@ -833,8 +833,8 @@ false ], "enumDescriptions": [ "Unspecified unit.", -"Liter per 100 km.", -"Kilograms per 100 km." +"Liter per 100 kilometers.", +"Kilograms per 100 kilometers." ], "type": "string" }, @@ -1486,6 +1486,13 @@ false "format": "double", "type": "number" }, +"documentLinks": { +"description": "Optional. Contains a list of PDF [document URLs](https://support.google.com/merchants/answer/17084656) for the product. Examples are training manuals, user guides, assembly instructions, package inserts, etc. Must start with \"http://\" or \"https://\"), ASCII characters only, and RFC 3986 compliant.", +"items": { +"type": "string" +}, +"type": "array" +}, "electricRange": { "$ref": "Mileage", "description": "The [electric range](https://support.google.com/google-ads/answer/15162232) of the vehicle in miles/kms." @@ -1738,6 +1745,10 @@ false "description": "Shared identifier for all variants of the same product.", "type": "string" }, +"itemGroupTitle": { +"description": "Optional. Represents the [title of the product group](https://support.google.com/merchants/answer/17085146) to which this variant product belongs. This can be used along with the [item group id](https://support.google.com/merchants/answer/6324507) attribute. It lets you perform better grouping of variant products, and helps identifying common product characteristics more efficiently.", +"type": "string" +}, "lifestyleImageLinks": { "description": "Additional URLs of lifestyle images of the item, used to explicitly identify images that showcase your item in a real-world context. See the [Help Center article](https://support.google.com/merchants/answer/9103186) for more information.", "items": { @@ -1940,6 +1951,11 @@ false ], "type": "string" }, +"popularityRank": { +"description": "Optional. Indicates the [popularity](https://support.google.com/merchants/answer/17085297) of the product in a merchant's inventory. Using a scale of 0.0 (lowest) to 100.0 (highest).", +"format": "float", +"type": "number" +}, "price": { "$ref": "Price", "description": "Price of the item." @@ -1988,6 +2004,20 @@ false }, "type": "array" }, +"questionsAndAnswers": { +"description": "Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters.", +"items": { +"$ref": "QuestionAndAnswer" +}, +"type": "array" +}, +"relatedProducts": { +"description": "Optional. Specifies how other [products are related](https://support.google.com/merchants/answer/17085213) to this product.", +"items": { +"$ref": "RelatedProduct" +}, +"type": "array" +}, "returnPolicyLabel": { "description": "The return label of the product, used to group products in account-level return policies. Max. 100 characters. For more information, see [Return policy label](https://support.google.com/merchants/answer/9445425).", "type": "string" @@ -2153,6 +2183,13 @@ false "$ref": "UnitPricingMeasure", "description": "The measure and dimension of an item." }, +"variantOptions": { +"description": "Optional. Contains the [list of all variant-identifying options](https://support.google.com/merchants/answer/17085214) of this product.", +"items": { +"$ref": "VariantOption" +}, +"type": "array" +}, "vehicleAllInPrice": { "$ref": "Price", "description": "The all-in advertised price for a vehicle, which includes costs for the following \u2013 any accessories attached to the vehicle, environmental levies, extra warranty, fuel, freight, pre-delivery inspection (PDI), dealer fees for handling licensing, provincial regulatory fees, miscellaneous dealer charges for security etching and nitrogen tire fill, and factory-to-customer or dealer-to-customer discounts or incentives. See the [Vehicle all-in price](https://support.google.com/google-ads/answer/14156981) for more information." @@ -2620,11 +2657,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } @@ -2677,6 +2716,68 @@ false }, "type": "object" }, +"QuestionAndAnswer": { +"description": "The question and answer for the product.", +"id": "QuestionAndAnswer", +"properties": { +"answer": { +"description": "Required. The answer text.", +"type": "string" +}, +"question": { +"description": "Required. The question text.", +"type": "string" +} +}, +"type": "object" +}, +"RelatedProduct": { +"description": "Specifies how other products are related to this product.", +"id": "RelatedProduct", +"properties": { +"id": { +"description": "Required. The identifier of the related product.", +"type": "string" +}, +"idType": { +"description": "Required. The type of the identifier of the related product. For example, [GTIN](https://support.google.com/merchants/answer/6219078) or [product ID](https://support.google.com/merchants/answer/6324405).", +"enum": [ +"ID_TYPE_UNSPECIFIED", +"GTIN", +"ID" +], +"enumDescriptions": [ +"The identifier type is unspecified.", +"The identifier is a GTIN.", +"The identifier is a product ID in the feed." +], +"type": "string" +}, +"relationshipType": { +"description": "Required. The type of the relationship between this product and the related product.", +"enum": [ +"RELATIONSHIP_TYPE_UNSPECIFIED", +"PART_OF_SET", +"REQUIRED_PART", +"OFTEN_BOUGHT_WITH", +"SUBSTITUTE", +"DIFFERENT_BRAND", +"ACCESSORY" +], +"enumDescriptions": [ +"The relationship type is unspecified.", +"Part of a set of products that are often purchased together.", +"Part that is necessary for the product to function, for example a battery for a battery-operated lamp.", +"A product that this product is often purchased together with, for example a phone case with a phone.", +"Product that this product can be substituted for. For example a printer comparable in function to another printer.", +"An identical product sold under a different brand, for example a cheaper house brand.", +"An accessory to this product, for example a side table that matches the style of a couch." +], +"type": "string" +} +}, +"type": "object" +}, "Shipping": { "description": "The Shipping of the product.", "id": "Shipping", @@ -2910,6 +3011,21 @@ false }, "type": "object" }, +"VariantOption": { +"description": "Additional product variants for the product.", +"id": "VariantOption", +"properties": { +"name": { +"description": "Required. The name of the variant. For example, \"Color\", \"Memory\", \"Size\", \"Length\"", +"type": "string" +}, +"value": { +"description": "Required. The value of the variant. For example, \"Red\", \"128GB\", \"XL\", \"100cm\"", +"type": "string" +} +}, +"type": "object" +}, "Warranty": { "description": "The warranty of the vehicle.", "id": "Warranty", diff --git a/googleapiclient/discovery_cache/documents/merchantapi.products_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.products_v1beta.json index d29ff4de41..e0412c49d8 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.products_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.products_v1beta.json @@ -281,7 +281,7 @@ } } }, -"revision": "20260512", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1602,11 +1602,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1.json index 63a249cb12..9d5b475b16 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1.json @@ -203,7 +203,7 @@ } } }, -"revision": "20260228", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1015,11 +1015,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json index df5081e2e8..6a993f4d97 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, -"revision": "20260228", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1015,11 +1015,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.quota_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.quota_v1.json index c1ddd23df0..c17ac9810e 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.quota_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.quota_v1.json @@ -220,7 +220,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AccountLimit": { @@ -469,11 +469,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.quota_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.quota_v1beta.json index b3b5bd091d..6845057904 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.quota_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.quota_v1beta.json @@ -150,7 +150,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "ListQuotaGroupsResponse": { @@ -340,11 +340,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.reports_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.reports_v1.json index 2438a0f855..069b834b06 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.reports_v1.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.reports_v1.json @@ -142,7 +142,7 @@ } } }, -"revision": "20260411", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1295,11 +1295,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json index 94a9f0c147..49bc3547a6 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.reports_v1beta.json @@ -142,7 +142,7 @@ } } }, -"revision": "20260411", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1295,11 +1295,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/merchantapi.reviews_v1beta.json b/googleapiclient/discovery_cache/documents/merchantapi.reviews_v1beta.json index 2e41738412..6c3d4f04a6 100644 --- a/googleapiclient/discovery_cache/documents/merchantapi.reviews_v1beta.json +++ b/googleapiclient/discovery_cache/documents/merchantapi.reviews_v1beta.json @@ -356,7 +356,7 @@ } } }, -"revision": "20260223", +"revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -1371,11 +1371,13 @@ false "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", -"PRODUCT" +"PRODUCT", +"ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", -"Resource type : product" +"Resource type : product", +"Account service" ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json index ef42b196ad..90dccaba84 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json @@ -256,7 +256,7 @@ } } }, -"revision": "20260415", +"revision": "20260527", "rootUrl": "https://mybusinessverifications.googleapis.com/", "schemas": { "AddressVerificationData": { @@ -374,10 +374,6 @@ "description": "Request message for Verifications.GenerateInstantVerificationToken.", "id": "GenerateInstantVerificationTokenRequest", "properties": { -"locationData": { -"$ref": "LocationData", -"description": "Immutable. The address and other details of the location to generate an instant verification token for." -}, "locationId": { "description": "The location identifier associated with an unverified listing. This is the location id generated at the time that the listing was originally created. It is the final portion of a location resource name as generated by the Google My Business API. Note: the caller must be an owner or manager of this listing in order to generate a verification token. See the [location resource](/my-business/reference/rest/v4/accounts.locations) documentation for more information.", "type": "string" @@ -429,21 +425,6 @@ }, "type": "object" }, -"LocationData": { -"description": "The address and other details of the location to generate an instant verification token for.", -"id": "LocationData", -"properties": { -"address": { -"$ref": "PostalAddress", -"description": "Immutable. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address." -}, -"name": { -"description": "Immutable. Name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer \"Google\" over \"Google Inc. - Mountain View Corporate Headquarters\"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, \"Chase ATM in Duane Reade\").", -"type": "string" -} -}, -"type": "object" -}, "PostalAddress": { "description": "Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or mountains. In typical usage, an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input or editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput. - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478.", "id": "PostalAddress", diff --git a/googleapiclient/discovery_cache/documents/netapp.v1.json b/googleapiclient/discovery_cache/documents/netapp.v1.json index 2274f42537..26c930df08 100644 --- a/googleapiclient/discovery_cache/documents/netapp.v1.json +++ b/googleapiclient/discovery_cache/documents/netapp.v1.json @@ -1753,6 +1753,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"restoreVolume": { +"description": "Restores a backup to an ONTAP-mode volume.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:restoreVolume", +"httpMethod": "POST", +"id": "netapp.projects.locations.storagePools.restoreVolume", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the ONTAP mode storage pool, in the format of `projects/{project}/locations/{location}/storagePools/{storage_pool}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:restoreVolume", +"request": { +"$ref": "RestoreVolumeRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "switch": { "description": "This operation will switch the active/replica zone for a regional storagePool.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch", @@ -1781,6 +1809,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"updateBackupConfig": { +"description": "Updates the backup configuration for an ONTAP-mode volume.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:updateBackupConfig", +"httpMethod": "POST", +"id": "netapp.projects.locations.storagePools.updateBackupConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the StoragePool, in the format: projects/{projectNumber}/locations/{locationId}/storagePools/{poolId}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:updateBackupConfig", +"request": { +"$ref": "UpdateBackupConfigRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "validateDirectoryService": { "description": "ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:validateDirectoryService", @@ -1811,6 +1867,56 @@ } }, "resources": { +"backupConfigs": { +"methods": { +"list": { +"description": "Lists backup configurations for all volumes in an ONTAP-mode Storage Pool.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}/backupConfigs", +"httpMethod": "GET", +"id": "netapp.projects.locations.storagePools.backupConfigs.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. The standard list filter.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort results. Supported values are \"volume_id\" or \"\"", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified or set to 0, a default of 50 will be used.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The next_page_token value to use if there are additional results to retrieve for this list request.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The ONTAP StoragePool for which to retrieve backup configuration information, in the format `projects/{project}/locations/{location}/storagePools/{storage_pool}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/backupConfigs", +"response": { +"$ref": "ListBackupConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "ontap": { "methods": { "executeOntapDelete": { @@ -2827,7 +2933,7 @@ } } }, -"revision": "20260513", +"revision": "20260518", "rootUrl": "https://netapp.googleapis.com/", "schemas": { "ActiveDirectory": { @@ -3018,6 +3124,10 @@ "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", "type": "string" }, +"ontapSource": { +"$ref": "OntapSource", +"description": "Optional. Represents source details for ONTAP backups. Either source_volume or ontap_source should be provided." +}, "satisfiesPzi": { "description": "Output only. Reserved for future use", "readOnly": true, @@ -3203,6 +3313,24 @@ }, "type": "object" }, +"BackupSource": { +"description": "Represents the backup source of the restore operation.", +"id": "BackupSource", +"properties": { +"backup": { +"description": "Required. The backup resource name.", +"type": "string" +}, +"fileList": { +"description": "Optional. List of files to be restored in the form of their absolute path as in source volume. If provided, only these files will be restored. If not provided, the entire backup will be restored (Full Backup Restore)", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "BackupVault": { "description": "A NetApp BackupVault.", "id": "BackupVault", @@ -4088,6 +4216,31 @@ }, "type": "object" }, +"ListBackupConfigsResponse": { +"description": "Message for response to listing BackupConfigs in an ONTAP StoragePool.", +"id": "ListBackupConfigsResponse", +"properties": { +"nextPageToken": { +"description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +}, +"volumeBackupConfigs": { +"description": "A list of backup configurations for volumes in the pool.", +"items": { +"$ref": "VolumeBackupConfig" +}, +"type": "array" +} +}, +"type": "object" +}, "ListBackupPoliciesResponse": { "description": "ListBackupPoliciesResponse contains all the backup policies requested.", "id": "ListBackupPoliciesResponse", @@ -4542,6 +4695,40 @@ }, "type": "object" }, +"OntapSource": { +"description": "Represents ONTAP source details.", +"id": "OntapSource", +"properties": { +"snapshotUuid": { +"description": "Optional. The UUID of the ONTAP source snapshot.", +"type": "string" +}, +"storagePool": { +"description": "Required. Name of the storage pool. This must be specified for creating backups for ONTAP mode volumes. Format: `projects/{projects_id}/locations/{location}/storagePools/{storage_pool_id}`", +"type": "string" +}, +"volumeUuid": { +"description": "Required. The UUID of the ONTAP source volume.", +"type": "string" +} +}, +"type": "object" +}, +"OntapVolumeTarget": { +"description": "Represents the ONTAP volume target of the restore operation.", +"id": "OntapVolumeTarget", +"properties": { +"restoreDestinationPath": { +"description": "Optional. Absolute directory path in the destination volume.", +"type": "string" +}, +"volumeUuid": { +"description": "Required. The UUID of the ONTAP volume to restore to.", +"type": "string" +} +}, +"type": "object" +}, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4916,6 +5103,21 @@ }, "type": "object" }, +"RestoreVolumeRequest": { +"description": "Request message for `RestoreVolume` API.", +"id": "RestoreVolumeRequest", +"properties": { +"backupSource": { +"$ref": "BackupSource", +"description": "The backup source of the restore operation." +}, +"ontapVolumeTarget": { +"$ref": "OntapVolumeTarget", +"description": "The ONTAP volume target of the restore operation." +} +}, +"type": "object" +}, "ResumeReplicationRequest": { "description": "ResumeReplicationRequest resumes a stopped replication.", "id": "ResumeReplicationRequest", @@ -5490,6 +5692,26 @@ }, "type": "object" }, +"UpdateBackupConfigRequest": { +"description": "Request message for UpdateBackupConfig", +"id": "UpdateBackupConfigRequest", +"properties": { +"backupConfig": { +"$ref": "BackupConfig", +"description": "Required. Backup configuration to apply." +}, +"updateMask": { +"description": "Required. Field mask is used to specify the fields to be overwritten in the BackupConfig for the Volume. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.", +"format": "google-fieldmask", +"type": "string" +}, +"volumeUuid": { +"description": "Required. The UUID of the ONTAP-mode volume.", +"type": "string" +} +}, +"type": "object" +}, "UserCommands": { "description": "UserCommands contains the commands to be executed by the customer.", "id": "UserCommands", @@ -5884,6 +6106,21 @@ }, "type": "object" }, +"VolumeBackupConfig": { +"description": "Backup configuration for a volume in a pool.", +"id": "VolumeBackupConfig", +"properties": { +"backupConfig": { +"$ref": "BackupConfig", +"description": "Backup configuration for the volume." +}, +"volumeUuid": { +"description": "Provides the Ontap UUID of the volume within the pool.", +"type": "string" +} +}, +"type": "object" +}, "WeeklySchedule": { "description": "Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50", "id": "WeeklySchedule", diff --git a/googleapiclient/discovery_cache/documents/netapp.v1beta1.json b/googleapiclient/discovery_cache/documents/netapp.v1beta1.json index 1587482d4c..404d03ef82 100644 --- a/googleapiclient/discovery_cache/documents/netapp.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/netapp.v1beta1.json @@ -2,6 +2,9 @@ "auth": { "oauth2": { "scopes": { +"https://www.googleapis.com/auth/cloud-netapp": { +"description": "See, edit, configure, and delete your Google Cloud NetApp data and see the email address for your Google Account" +}, "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } @@ -649,6 +652,7 @@ "$ref": "BackupPolicy" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -695,6 +699,7 @@ "$ref": "ListBackupPoliciesResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -816,6 +821,7 @@ "$ref": "BackupVault" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -862,6 +868,7 @@ "$ref": "ListBackupVaultsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -933,6 +940,7 @@ "$ref": "Operation" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -983,6 +991,7 @@ "$ref": "Backup" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1029,6 +1038,7 @@ "$ref": "ListBackupsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1670,6 +1680,7 @@ "$ref": "StoragePool" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1716,6 +1727,7 @@ "$ref": "ListStoragePoolsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2144,6 +2156,7 @@ "$ref": "Volume" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2190,6 +2203,7 @@ "$ref": "ListVolumesResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2791,6 +2805,7 @@ "$ref": "Operation" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2841,6 +2856,7 @@ "$ref": "Snapshot" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2887,6 +2903,7 @@ "$ref": "ListSnapshotsResponse" }, "scopes": [ +"https://www.googleapis.com/auth/cloud-netapp", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -2933,7 +2950,7 @@ } } }, -"revision": "20260513", +"revision": "20260518", "rootUrl": "https://netapp.googleapis.com/", "schemas": { "ActiveDirectory": { diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json index 70a00532c5..683b648ceb 100644 --- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json @@ -1127,7 +1127,7 @@ } } }, -"revision": "20260422", +"revision": "20260529", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AllocationOptions": { @@ -1509,6 +1509,21 @@ "format": "int32", "type": "integer" }, +"rangeStatus": { +"description": "Output only. Status of the Internal Range.", +"enum": [ +"RANGE_STATUS_UNSPECIFIED", +"ACTIVE", +"OBSOLETE" +], +"enumDescriptions": [ +"Unspecified status is the default value for an Internal Range.", +"Ranges with ACTIVE status will reserve the CIDR block from the given VPC.", +"A range becomes OBSOLETE if its VPC network is deleted. An OBSOLETE range is inactive, doesn't reserve any CIDR blocks, and can only be deleted or have its labels and description updated." +], +"readOnly": true, +"type": "string" +}, "targetCidrRange": { "description": "Optional. Can be set to narrow down or pick a different address space while searching for a free range. If not set, defaults to the [\"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"] address space (for auto-mode networks, the \"10.0.0.0/9\" range is used instead of \"10.0.0.0/8\"). This can be used to target the search in other rfc-1918 address spaces like \"172.16.0.0/12\" and \"192.168.0.0/16\" or non-rfc-1918 address spaces used in the VPC.", "items": { diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json index b2a332e6a3..784463af2e 100644 --- a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json @@ -978,6 +978,564 @@ } } }, +"networkMonitoringProviders": { +"methods": { +"create": { +"description": "Creates a NetworkMonitoringProvider resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders", +"httpMethod": "POST", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"networkMonitoringProviderId": { +"description": "Required. The ID to use for the NetworkMonitoringProvider resource, which will become the final component of the NetworkMonitoringProvider resource's name.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for CreateNetworkMonitoringProviderRequest. Format: projects/{project}/locations/{location}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/networkMonitoringProviders", +"request": { +"$ref": "NetworkMonitoringProvider" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a NetworkMonitoringProvider resource and all of its child resources.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}", +"httpMethod": "DELETE", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"force": { +"description": "Optional. If set to true, any nested MonitoringPoints, NetworkPaths and WebPaths resources from this NetworkMonitoringProvider will also be deleted. Otherwise, the request will only work if there are no nested resources.", +"location": "query", +"type": "boolean" +}, +"name": { +"description": "Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateMonitoringPointConfig": { +"description": "Generates Monitoring Point configuration of a NetworkMonitoringProvider resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}:generateMonitoringPointConfig", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.generateMonitoringPointConfig", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +}, +"privateConnectivityEnabled": { +"description": "Optional. For Google Cloud MPs, this field indicates whether the Monitoring Point is deployed in a Private Service Connect deployment. Not used for non-Google Cloud MPs.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}:generateMonitoringPointConfig", +"response": { +"$ref": "GenerateMonitoringPointConfigResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"generateProviderAccessToken": { +"description": "Generates a provider access token for a given Google access token. Provider access token is a short-lived token that is used to access resources in the provider's platform.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}:generateProviderAccessToken", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.generateProviderAccessToken", +"parameterOrder": [ +"name" +], +"parameters": { +"gcpAccessToken": { +"description": "Required. Google access token.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:generateProviderAccessToken", +"response": { +"$ref": "GenerateProviderAccessTokenResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the NetworkMonitoringProvider resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource. Format: `projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "NetworkMonitoringProvider" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NetworkMonitoringProviders for a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of monitoring points to return. The service may return fewer than this value. If unspecified, at most 20 monitoring points will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListMonitoringPoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMonitoringPoints` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListNetworkMonitoringProvidersRequest. Format: `projects/{project}/locations/{location}`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/networkMonitoringProviders", +"response": { +"$ref": "ListNetworkMonitoringProvidersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, +"resources": { +"monitoringPoints": { +"methods": { +"downloadInstallScript": { +"description": "Downloads an install script for MonitoringPoints for a given network monitoring provider.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/monitoringPoints:downloadInstallScript", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.monitoringPoints.downloadInstallScript", +"parameterOrder": [ +"parent" +], +"parameters": { +"_password": { +"description": "Optional. Password for logging into the MonitoringPoint.", +"location": "query", +"type": "string" +}, +"hostname": { +"description": "Required. The hostname of the MonitoringPoint, e.g. \"test-vm\"", +"location": "query", +"type": "string" +}, +"monitoringPointType": { +"description": "Required. The type of the monitoring point.", +"enum": [ +"MONITORING_POINT_TYPE_UNSPECIFIED", +"CONTAINER", +"KVM", +"VMWARE", +"HELM", +"GCE_VM", +"AZURE_VM" +], +"enumDescriptions": [ +"This value should not be used.", +"Monitoring Point that runs in a Docker container.", +"Monitoring Point that runs in a Kernel-based Virtual Machine (KVM) hypervisor.", +"Monitoring Point that runs in a VMware hypervisor.", +"Monitoring Point that runs on a K8S Helm.", +"Monitoring Point that runs as a startup script in a Compute Engine VM.", +"Monitoring Point that runs as a startup script in an Azure VM." +], +"location": "query", +"type": "string" +}, +"ntpServerAddress": { +"description": "Optional. Network Time Protocol a user can configure. If the user omits the field, the default is either NTP servers provided in the DHCP lease or a set of well-known NTP servers pre-configured on the monitoring point. This field can be an IP address or FQDN.", +"location": "query", +"type": "string" +}, +"ntpServerSecondaryAddress": { +"description": "Optional. Second NTP server.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for DownloadInstallScriptRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +}, +"privateConnectivityEnabled": { +"description": "Optional. For Google Cloud MPs, this field indicates whether the Monitoring Point is deployed in a Private Service Connect deployment. Not used for non-Google Cloud MPs.", +"location": "query", +"type": "boolean" +}, +"staticIpAddress.dnsServerAddress": { +"description": "Required. DNS server.", +"location": "query", +"type": "string" +}, +"staticIpAddress.dnsServerSecondaryAddress": { +"description": "Optional. Second DNS server.", +"location": "query", +"type": "string" +}, +"staticIpAddress.domain": { +"description": "Optional. Domain name of the MonitoringPoint.", +"location": "query", +"type": "string" +}, +"staticIpAddress.gatewayAddress": { +"description": "Required. Gateway IP address. Example: \"100.80.40.1\".", +"location": "query", +"type": "string" +}, +"staticIpAddress.ipAddress": { +"description": "Required. IP address of the MonitoringPoint.", +"location": "query", +"type": "string" +}, +"staticIpAddress.netmask": { +"description": "Optional. Networkmask and CIDR range. Example: \"255.255.255.0/24\"", +"location": "query", +"type": "string" +}, +"timeZone.id": { +"description": "IANA Time Zone Database time zone. For example \"America/New_York\".", +"location": "query", +"type": "string" +}, +"timeZone.version": { +"description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", +"location": "query", +"type": "string" +}, +"useDhcp": { +"description": "Optional. Dynamic Host Configuration Protocol, is a network management protocol that automatically assigns IP addresses and other network configuration parameters to devices connecting to a network.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/monitoringPoints:downloadInstallScript", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"downloadRecreateInstallScript": { +"description": "Downloads an install script for a specific Container MonitoringPoint.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/monitoringPoints/{monitoringPointsId}:downloadRecreateInstallScript", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.monitoringPoints.downloadRecreateInstallScript", +"parameterOrder": [ +"name" +], +"parameters": { +"hostname": { +"description": "Optional. The hostname of the MonitoringPoint, e.g. \"test-vm\"", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. Resource name of the MonitoringPoint. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/monitoringPoints/{monitoring_point}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+/monitoringPoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:downloadRecreateInstallScript", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"downloadServerConnectConfig": { +"description": "Downloads the server connect configuration for a given network monitoring provider.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/monitoringPoints:downloadServerConnectConfig", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.monitoringPoints.downloadServerConnectConfig", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for DownloadServerConnectConfigRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/monitoringPoints:downloadServerConnectConfig", +"response": { +"$ref": "HttpBody" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the MonitoringPoint resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/monitoringPoints/{monitoringPointsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.monitoringPoints.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/monitoringPoints/{monitoring_point}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+/monitoringPoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "MonitoringPoint" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists MonitoringPoints for a given network monitoring provider.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/monitoringPoints", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.monitoringPoints.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of monitoring points to return. The service may return fewer than this value. If unspecified, at most 20 monitoring points will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListMonitoringPoints` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMonitoringPoints` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListMonitoringPointsRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/monitoringPoints", +"response": { +"$ref": "ListMonitoringPointsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"networkPaths": { +"methods": { +"get": { +"description": "Gets the NetworkPath resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/networkPaths/{networkPathsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.networkPaths.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/networkPaths/{network_path}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+/networkPaths/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "NetworkPath" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists NetworkPaths for a given network monitoring provider.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/networkPaths", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.networkPaths.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of network paths to return. The service may return fewer than this value. If unspecified, at most 20 network pathswill be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListNetworkPaths` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListNetworkPaths` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListNetworkPathsRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/networkPaths", +"response": { +"$ref": "ListNetworkPathsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"webPaths": { +"methods": { +"get": { +"description": "Gets the WebPath resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/webPaths/{webPathsId}", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.webPaths.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource.. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/webPaths/{web_path}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+/webPaths/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WebPath" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists WebPaths for a given network monitoring provider.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/networkMonitoringProviders/{networkMonitoringProvidersId}/webPaths", +"httpMethod": "GET", +"id": "networkmanagement.projects.locations.networkMonitoringProviders.webPaths.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. The maximum number of web paths to return. The service may return fewer than this value. If unspecified, at most 20 web paths will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token, received from a previous `ListWebPaths` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWebPaths` must match the call that provided the page token.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListWebPathsRequest. Format: projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/networkMonitoringProviders/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/webPaths", +"response": { +"$ref": "ListWebPathsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +}, "vpcFlowLogsConfigs": { "methods": { "create": { @@ -1237,7 +1795,7 @@ } } }, -"revision": "20260506", +"revision": "20260527", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -1552,6 +2110,25 @@ false }, "type": "object" }, +"CloudRunJobInfo": { +"description": "For display only. Metadata associated with a Cloud Run job.", +"id": "CloudRunJobInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud Run job.", +"type": "string" +}, +"location": { +"description": "Location in which this job is deployed.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud Run job.", +"type": "string" +} +}, +"type": "object" +}, "CloudRunRevisionEndpoint": { "description": "Wrapper for Cloud Run revision attributes.", "id": "CloudRunRevisionEndpoint", @@ -1764,7 +2341,10 @@ false "GOOGLE_MANAGED_SERVICE", "REDIS_INSTANCE", "REDIS_CLUSTER", -"GKE_POD" +"GKE_POD", +"CLOUD_RUN_JOB", +"DMS_PRIVATE_CONNECTION", +"DATASTREAM_PRIVATE_CONNECTION" ], "enumDescriptions": [ "Target not specified.", @@ -1785,7 +2365,10 @@ false "Target is a Google-managed service. Used only for return traces.", "Target is a Redis Instance.", "Target is a Redis Cluster.", -"Target is a GKE Pod." +"Target is a GKE Pod.", +"Target is a Cloud Run Job. Used only for return traces.", +"Target is a DMS Private Connection. Used only for return traces.", +"Target is a Datastream Private Connection. Used only for return traces." ], "type": "string" } @@ -1866,6 +2449,8 @@ false "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", "DROPPED_INSIDE_GKE_SERVICE", "DROPPED_INSIDE_CLOUD_SQL_SERVICE", +"DROPPED_INSIDE_DMS_PRIVATE_CONNECTION", +"DROPPED_INSIDE_DATASTREAM_PRIVATE_CONNECTION", "GOOGLE_MANAGED_SERVICE_NO_PEERING", "GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT", "GKE_PSC_ENDPOINT_MISSING", @@ -1893,6 +2478,7 @@ false "HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED", "HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED", "CLOUD_RUN_REVISION_NOT_READY", +"CLOUD_RUN_JOB_NOT_READY", "DROPPED_INSIDE_PSC_SERVICE_PRODUCER", "LOAD_BALANCER_HAS_NO_PROXY_SUBNET", "CLOUD_NAT_NO_ADDRESSES", @@ -1975,6 +2561,8 @@ false "Access to the Cloud SQL instance endpoint is not authorized. See [Authorizing with authorized networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for more details.", "Packet was dropped inside Google Kubernetes Engine Service.", "Packet was dropped inside Cloud SQL Service.", +"Packet was dropped inside DMS Private Connection.", +"Packet was dropped inside Datastream Private Connection.", "Packet was dropped because there is no peering between the originating network and the Google Managed Services Network.", "Packet was dropped because the Google-managed service uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", "Packet was dropped because the GKE cluster uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", @@ -2002,6 +2590,7 @@ false "The packet sent from the hybrid NEG proxy matches a non-dynamic route, but such a configuration is not supported.", "The packet sent from the hybrid NEG proxy matches a dynamic route with a next hop in a different region, but such a configuration is not supported.", "Packet sent from a Cloud Run revision that is not ready.", +"Packet sent from a Cloud Run job that is not ready.", "Packet was dropped inside Private Service Connect service producer.", "Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", "Packet sent to Cloud Nat without active NAT IPs.", @@ -2232,6 +2821,10 @@ false "$ref": "CloudFunctionEndpoint", "description": "A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint." }, +"cloudRunJob": { +"description": "A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job}", +"type": "string" +}, "cloudRunRevision": { "$ref": "CloudRunRevisionEndpoint", "description": "A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint." @@ -2664,6 +3257,47 @@ false }, "type": "object" }, +"GenerateMonitoringPointConfigResponse": { +"description": "Message for response for getting Monitoring Point configuration of a NetworkMonitoringProvider resource.", +"id": "GenerateMonitoringPointConfigResponse", +"properties": { +"config": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "The Monitoring Point configuration of the provider in JSON format.", +"type": "object" +} +}, +"type": "object" +}, +"GenerateProviderAccessTokenResponse": { +"description": "Message for response for generating an access token for a NetworkMonitoringProvider resource.", +"id": "GenerateProviderAccessTokenResponse", +"properties": { +"providerAccessToken": { +"description": "Provider access token for the NetworkMonitoringProvider resource.", +"type": "string" +} +}, +"type": "object" +}, +"GeoLocation": { +"description": "The geographical location of the MonitoringPoint.", +"id": "GeoLocation", +"properties": { +"formattedAddress": { +"description": "Formatted address.", +"type": "string" +}, +"regionCode": { +"description": "Unicode CLDR region code.", +"type": "string" +} +}, +"type": "object" +}, "GkeNetworkPolicyInfo": { "description": "For display only. Metadata associated with a GKE Network Policy.", "id": "GkeNetworkPolicyInfo", @@ -2768,6 +3402,78 @@ false }, "type": "object" }, +"Host": { +"description": "Message describing information about the host.", +"id": "Host", +"properties": { +"cloudInstanceId": { +"description": "Output only. The cloud instance id of the host.", +"readOnly": true, +"type": "string" +}, +"cloudProjectId": { +"description": "Output only. The cloud project id of the host.", +"readOnly": true, +"type": "string" +}, +"cloudProvider": { +"description": "Output only. The cloud provider of the host.", +"readOnly": true, +"type": "string" +}, +"cloudRegion": { +"description": "Output only. The cloud region of the host.", +"readOnly": true, +"type": "string" +}, +"cloudVirtualNetworkIds": { +"description": "Output only. The ids of cloud virtual networks of the host.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"cloudZone": { +"description": "Output only. The cloud zone of the host.", +"readOnly": true, +"type": "string" +}, +"os": { +"description": "Output only. The operating system of the host.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"HttpBody": { +"description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", +"id": "HttpBody", +"properties": { +"contentType": { +"description": "The HTTP Content-Type header value specifying the content type of the body.", +"type": "string" +}, +"data": { +"description": "The HTTP request/response body as raw binary.", +"format": "byte", +"type": "string" +}, +"extensions": { +"description": "Application specific response metadata. Must be set in the first response for streaming APIs.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +} +}, +"type": "object" +}, "HybridSubnetInfo": { "description": "For display only. Metadata associated with a hybrid subnet.", "id": "HybridSubnetInfo", @@ -3011,6 +3717,60 @@ false }, "type": "object" }, +"ListMonitoringPointsResponse": { +"description": "Message for response to listing MonitoringPoints", +"id": "ListMonitoringPointsResponse", +"properties": { +"monitoringPoints": { +"description": "The list of MonitoringPoints.", +"items": { +"$ref": "MonitoringPoint" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +} +}, +"type": "object" +}, +"ListNetworkMonitoringProvidersResponse": { +"description": "Message for response to listing NetworkMonitoringProviders", +"id": "ListNetworkMonitoringProvidersResponse", +"properties": { +"networkMonitoringProviders": { +"description": "The list of NetworkMonitoringProvider", +"items": { +"$ref": "NetworkMonitoringProvider" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +} +}, +"type": "object" +}, +"ListNetworkPathsResponse": { +"description": "Message for response to listing NetworkPaths", +"id": "ListNetworkPathsResponse", +"properties": { +"networkPaths": { +"description": "The list of NetworkPath", +"items": { +"$ref": "NetworkPath" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +} +}, +"type": "object" +}, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -3061,6 +3821,24 @@ false }, "type": "object" }, +"ListWebPathsResponse": { +"description": "Message for response to listing WebPaths", +"id": "ListWebPathsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"webPaths": { +"description": "The list of WebPath.", +"items": { +"$ref": "WebPath" +}, +"type": "array" +} +}, +"type": "object" +}, "LoadBalancerBackend": { "description": "For display only. Metadata associated with a specific load balancer backend.", "id": "LoadBalancerBackend", @@ -3233,27 +4011,189 @@ false "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", "type": "string" }, -"labels": { -"additionalProperties": { +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", +"type": "object" +}, +"locationId": { +"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"type": "string" +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Service-specific metadata. For example the available capacity at the given location.", +"type": "object" +}, +"name": { +"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"type": "string" +} +}, +"type": "object" +}, +"MonitoringPoint": { +"description": "Message describing MonitoringPoint resource.", +"id": "MonitoringPoint", +"properties": { +"autoGeoLocationEnabled": { +"description": "Output only. Indicates if automaitic geographic location is enabled for the MonitoringPoint.", +"readOnly": true, +"type": "boolean" +}, +"connectionStatus": { +"description": "Output only. Connection status of the MonitoringPoint.", +"enum": [ +"CONNECTION_STATUS_UNSPECIFIED", +"ONLINE", +"OFFLINE" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"MonitoringPoint is online.", +"MonitoringPoint is offline." +], +"readOnly": true, +"type": "string" +}, +"createTime": { +"description": "Output only. The time the MonitoringPoint was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deploymentType": { +"description": "Output only. The deployment type of the MonitoringPoint.", +"enum": [ +"DEPLOYMENT_TYPE_UNSPECIFIED", +"DOCKER", +"PODMAN", +"HELM" +], +"enumDescriptions": [ +"The default value. This value is used if the type is omitted.", +"The MonitoringPoint is deployed as a Docker container.", +"The MonitoringPoint is deployed as a Podman container.", +"The MonitoringPoint is deployed as a Helm chart." +], +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. Display name of the MonitoringPoint.", +"readOnly": true, +"type": "string" +}, +"errors": { +"description": "Output only. The codes of errors detected in the MonitoringPoint.", +"items": { +"enum": [ +"ERROR_CODE_UNSPECIFIED", +"NTP_ERROR", +"UPGRADE_ERROR", +"DOWNLOAD_FAILED" +], +"enumDescriptions": [ +"The default value. This value is used if the error code is omitted.", +"Error detected in NTP service.", +"Error detected during the upgrade process.", +"Error detected while downloading." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"geoLocation": { +"$ref": "GeoLocation", +"description": "Output only. The geographical location of the MonitoringPoint.", +"readOnly": true +}, +"guid": { +"description": "Output only. The GUID of the MonitoringPoint.", +"readOnly": true, +"type": "string" +}, +"host": { +"$ref": "Host", +"description": "Output only. The host information of the MonitoringPoint.", +"readOnly": true +}, +"hostname": { +"description": "Output only. The hostname of the MonitoringPoint.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Name of the resource. Format: `projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/monitoringPoints/{monitoring_point}`", +"type": "string" +}, +"networkInterfaces": { +"description": "Output only. The network interfaces of the MonitoringPoint.", +"items": { +"$ref": "NetworkInterface" +}, +"readOnly": true, +"type": "array" +}, +"originatingIp": { +"description": "Output only. IP address visible when MonitoringPoint connects to the provider.", +"readOnly": true, +"type": "string" +}, +"providerTags": { +"description": "Output only. The provider tags of the MonitoringPoint.", +"items": { +"$ref": "ProviderTag" +}, +"readOnly": true, +"type": "array" +}, +"type": { +"description": "Output only. Deployment type of the MonitoringPoint.", +"readOnly": true, "type": "string" }, -"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", -"type": "object" -}, -"locationId": { -"description": "The canonical id for this location. For example: `\"us-east1\"`.", +"updateTime": { +"description": "Output only. The time the MonitoringPoint was updated.", +"format": "google-datetime", +"readOnly": true, "type": "string" }, -"metadata": { -"additionalProperties": { -"description": "Properties of the object. Contains field @type with type URL.", -"type": "any" +"upgradeAvailable": { +"description": "Output only. Indicates if an upgrade is available for the MonitoringPoint.", +"readOnly": true, +"type": "boolean" }, -"description": "Service-specific metadata. For example the available capacity at the given location.", -"type": "object" +"upgradeType": { +"description": "Output only. The type of upgrade available for the MonitoringPoint.", +"enum": [ +"UPGRADE_TYPE_UNSPECIFIED", +"MANUAL", +"MANAGED", +"SCHEDULED", +"AUTO", +"EXTERNAL" +], +"enumDescriptions": [ +"The default value. This value is used if the upgrade type is omitted.", +"Upgrades are performed manually.", +"Upgrades are managed.", +"Upgrade is scheduled.", +"Upgrades are performed automatically.", +"Upgrades are performed externally." +], +"readOnly": true, +"type": "string" }, -"name": { -"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", +"version": { +"description": "Output only. Version of the software running on the MonitoringPoint.", +"readOnly": true, "type": "string" } }, @@ -3385,6 +4325,239 @@ false }, "type": "object" }, +"NetworkInterface": { +"description": "Message describing network interfaces.", +"id": "NetworkInterface", +"properties": { +"adapterDescription": { +"description": "Output only. The description of the interface.", +"readOnly": true, +"type": "string" +}, +"cidr": { +"description": "Output only. The IP address of the interface and subnet mask in CIDR format. Examples: 192.168.1.0/24, 2001:db8::/32", +"readOnly": true, +"type": "string" +}, +"interfaceName": { +"description": "Output only. The name of the network interface. Examples: eth0, eno1", +"readOnly": true, +"type": "string" +}, +"ipAddress": { +"description": "Output only. The IP address of the interface.", +"readOnly": true, +"type": "string" +}, +"macAddress": { +"description": "Output only. The MAC address of the interface.", +"readOnly": true, +"type": "string" +}, +"speed": { +"description": "Output only. Speed of the interface in millions of bits per second.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"vlanId": { +"description": "Output only. The id of the VLAN.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NetworkMonitoringProvider": { +"description": "Message describing NetworkMonitoringProvider resource.", +"id": "NetworkMonitoringProvider", +"properties": { +"createTime": { +"description": "Output only. The time the NetworkMonitoringProvider was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"errors": { +"description": "Output only. The list of error messages detected for the NetworkMonitoringProvider.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. Identifier. Name of the resource. Format: `projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}`", +"readOnly": true, +"type": "string" +}, +"providerType": { +"description": "Required. Type of the NetworkMonitoringProvider.", +"enum": [ +"PROVIDER_TYPE_UNSPECIFIED", +"EXTERNAL" +], +"enumDescriptions": [ +"The default value. This value is used if the type is omitted.", +"External provider." +], +"type": "string" +}, +"providerUri": { +"description": "Output only. Link to the provider's UI.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the NetworkMonitoringProvider.", +"enum": [ +"STATE_UNSPECIFIED", +"ACTIVATING", +"ACTIVE", +"SUSPENDING", +"SUSPENDED", +"DELETING", +"DELETED" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"NetworkMonitoringProvider is being activated.", +"NetworkMonitoringProvider is active.", +"NetworkMonitoringProvider is being suspended.", +"NetworkMonitoringProvider is suspended.", +"NetworkMonitoringProvider is being deleted.", +"NetworkMonitoringProvider is deleted." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the NetworkMonitoringProvider was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"NetworkPath": { +"description": "Message describing NetworkPath resource.", +"id": "NetworkPath", +"properties": { +"createTime": { +"description": "Output only. The time the NetworkPath was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destination": { +"description": "Output only. IP address or hostname of the network path destination.", +"readOnly": true, +"type": "string" +}, +"destinationGeoLocation": { +"$ref": "GeoLocation", +"description": "Output only. Geographical location of the destination MonitoringPoint.", +"readOnly": true +}, +"destinationMonitoringPointId": { +"description": "Output only. Provider's UUID of the destination MonitoringPoint. This id may not point to a resource in the Google Cloud.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. The display name of the network path.", +"readOnly": true, +"type": "string" +}, +"dualEnded": { +"description": "Output only. Indicates if the network path is dual ended. When true, the network path is measured both: from both source to destination, and from destination to source. When false, the network path is measured from the source through the destination back to the source (round trip measurement).", +"readOnly": true, +"type": "boolean" +}, +"monitoringEnabled": { +"description": "Output only. Is monitoring enabled for the network path.", +"readOnly": true, +"type": "boolean" +}, +"monitoringPolicyDisplayName": { +"description": "Output only. Display name of the monitoring policy.", +"readOnly": true, +"type": "string" +}, +"monitoringPolicyId": { +"description": "Output only. ID of monitoring policy.", +"readOnly": true, +"type": "string" +}, +"monitoringStatus": { +"description": "Output only. The monitoring status of the network path.", +"enum": [ +"MONITORING_STATUS_UNSPECIFIED", +"MONITORING", +"POLICY_MISMATCH", +"MONITORING_POINT_OFFLINE", +"DISABLED" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"Monitoring is enabled.", +"Policy is mismatched.", +"Monitoring point is offline.", +"Monitoring is disabled." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Name of the resource. Format: `projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/networkPaths/{network_path}`", +"type": "string" +}, +"networkProtocol": { +"description": "Output only. The network protocol of the network path.", +"enum": [ +"NETWORK_PROTOCOL_UNSPECIFIED", +"ICMP", +"UDP", +"TCP" +], +"enumDescriptions": [ +"The default value. This value is used if the network protocol is omitted.", +"ICMP.", +"UDP.", +"TCP." +], +"readOnly": true, +"type": "string" +}, +"providerTags": { +"description": "Output only. The provider tags of the network path.", +"items": { +"$ref": "ProviderTag" +}, +"readOnly": true, +"type": "array" +}, +"providerUiUri": { +"description": "Output only. Link to provider's UI; link shows the NetworkPath.", +"readOnly": true, +"type": "string" +}, +"sourceMonitoringPointId": { +"description": "Output only. Provider's UUID of the source MonitoringPoint. This id may not point to a resource in the Google Cloud.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the NetworkPath was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "NgfwPacketInspectionInfo": { "description": "For display only. Metadata associated with a layer 7 packet inspection by the firewall.", "id": "NgfwPacketInspectionInfo", @@ -3591,6 +4764,46 @@ false }, "type": "object" }, +"ProviderTag": { +"description": "Message describing the provider tag.", +"id": "ProviderTag", +"properties": { +"category": { +"description": "Output only. The category of the provider tag.", +"readOnly": true, +"type": "string" +}, +"resourceType": { +"description": "Output only. The resource type of the provider tag.", +"enum": [ +"RESOURCE_TYPE_UNSPECIFIED", +"NETWORK_PATH", +"WEB_PATH", +"MONITORING_POLICY", +"MONITORING_POINT", +"MONITORING_POINT_RULE", +"MONITORING_POINT_RULE_AUTO" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"Network path.", +"Web path.", +"Monitoring policy.", +"Monitoring point.", +"This represents Provider Tag that a user manually assigns to a specific Rule within a Monitoring Policy. It is created when a user saves a Monitoring Policy with custom tags applied to its rules.", +"This represents auto-generated Provider Tags derived from the criteria defined in a Monitoring Point Rule (e.g., Subnet, VLAN, Interface). If \"Auto Network Rule Tagging\" is enabled, the system automatically generates these tags based on the rule's filter values." +], +"readOnly": true, +"type": "string" +}, +"value": { +"description": "Output only. The value of the provider tag.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "ProxyConnectionInfo": { "description": "For display only. Metadata associated with ProxyConnection.", "id": "ProxyConnectionInfo", @@ -4120,6 +5333,10 @@ false "$ref": "CloudFunctionInfo", "description": "Display information of a Cloud Function." }, +"cloudRunJob": { +"$ref": "CloudRunJobInfo", +"description": "Display information of a Cloud Run job." +}, "cloudRunRevision": { "$ref": "CloudRunRevisionInfo", "description": "Display information of a Cloud Run revision." @@ -4269,6 +5486,7 @@ false "START_FROM_CLOUD_FUNCTION", "START_FROM_APP_ENGINE_VERSION", "START_FROM_CLOUD_RUN_REVISION", +"START_FROM_CLOUD_RUN_JOB", "START_FROM_STORAGE_BUCKET", "START_FROM_PSC_PUBLISHED_SERVICE", "START_FROM_SERVERLESS_NEG", @@ -4331,6 +5549,7 @@ false, false, false, false, +false, true, true, false, @@ -4369,6 +5588,7 @@ false "Initial state: packet originating from a Cloud Function. A CloudFunctionInfo is populated with starting function information.", "Initial state: packet originating from an App Engine service version. An AppEngineVersionInfo is populated with starting version information.", "Initial state: packet originating from a Cloud Run revision. A CloudRunRevisionInfo is populated with starting revision information.", +"Initial state: packet originating from a Cloud Run Job. A CloudRunJobInfo is populated with starting Job information.", "Initial state: packet originating from a Storage Bucket. Used only for return traces. The storage_bucket information is populated.", "Initial state: packet originating from a published service that uses Private Service Connect. Used only for return traces.", "Initial state: packet originating from a serverless network endpoint group backend. Used only for return traces. The serverless_neg information is populated.", @@ -4739,6 +5959,122 @@ false } }, "type": "object" +}, +"WebPath": { +"description": "Message describing WebPath resource.", +"id": "WebPath", +"properties": { +"createTime": { +"description": "Output only. The time the WebPath was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"destination": { +"description": "Output only. Web monitoring target.", +"readOnly": true, +"type": "string" +}, +"destinationGeoLocation": { +"$ref": "GeoLocation", +"description": "Output only. Geographical location of the destination.", +"readOnly": true +}, +"displayName": { +"description": "Output only. Display name of the WebPath.", +"readOnly": true, +"type": "string" +}, +"interval": { +"description": "Output only. Monitoring interval.", +"format": "google-duration", +"readOnly": true, +"type": "string" +}, +"monitoringEnabled": { +"description": "Output only. Is monitoring enabled for the WebPath.", +"readOnly": true, +"type": "boolean" +}, +"monitoringPolicyDisplayName": { +"description": "Output only. Display name of the monitoring policy.", +"readOnly": true, +"type": "string" +}, +"monitoringPolicyId": { +"description": "Output only. ID of the monitoring policy.", +"readOnly": true, +"type": "string" +}, +"monitoringStatus": { +"description": "Output only. The monitoring status of the WebPath.", +"enum": [ +"MONITORING_STATUS_UNSPECIFIED", +"MONITORING", +"POLICY_MISMATCH", +"MONITORING_POINT_OFFLINE", +"DISABLED" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"Monitoring is enabled.", +"Policy is mismatched.", +"Monitoring point is offline.", +"Monitoring is disabled." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Identifier. Name of the resource. Format: `projects/{project}/locations/{location}/networkMonitoringProviders/{network_monitoring_provider}/webPaths/{web_path}`", +"type": "string" +}, +"providerTags": { +"description": "Output only. The provider tags of the web path.", +"items": { +"$ref": "ProviderTag" +}, +"readOnly": true, +"type": "array" +}, +"providerUiUri": { +"description": "Output only. Link to provider's UI; link shows the WebPath.", +"readOnly": true, +"type": "string" +}, +"relatedNetworkPathId": { +"description": "Output only. Provider's UUID of the related NetworkPath.", +"readOnly": true, +"type": "string" +}, +"sourceMonitoringPointId": { +"description": "Output only. ID of the source MonitoringPoint.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The time the WebPath was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"workflowType": { +"description": "Output only. The workflow type of the WebPath.", +"enum": [ +"WORKFLOW_TYPE_UNSPECIFIED", +"BROWSER", +"HTTP" +], +"enumDescriptions": [ +"The default value. This value is used if the status is omitted.", +"Browser.", +"HTTP." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" } }, "servicePath": "", diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json index 0877f8ab89..cf6b85681b 100644 --- a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json @@ -1237,7 +1237,7 @@ } } }, -"revision": "20260506", +"revision": "20260520", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -1552,6 +1552,25 @@ false }, "type": "object" }, +"CloudRunJobInfo": { +"description": "For display only. Metadata associated with a Cloud Run job.", +"id": "CloudRunJobInfo", +"properties": { +"displayName": { +"description": "Name of a Cloud Run job.", +"type": "string" +}, +"location": { +"description": "Location in which this job is deployed.", +"type": "string" +}, +"uri": { +"description": "URI of a Cloud Run job.", +"type": "string" +} +}, +"type": "object" +}, "CloudRunRevisionEndpoint": { "description": "Wrapper for Cloud Run revision attributes.", "id": "CloudRunRevisionEndpoint", @@ -1764,7 +1783,10 @@ false "GOOGLE_MANAGED_SERVICE", "REDIS_INSTANCE", "REDIS_CLUSTER", -"GKE_POD" +"GKE_POD", +"CLOUD_RUN_JOB", +"DMS_PRIVATE_CONNECTION", +"DATASTREAM_PRIVATE_CONNECTION" ], "enumDescriptions": [ "Target not specified.", @@ -1785,7 +1807,10 @@ false "Target is a Google-managed service. Used only for return traces.", "Target is a Redis Instance.", "Target is a Redis Cluster.", -"Target is a GKE Pod." +"Target is a GKE Pod.", +"Target is a Cloud Run Job. Used only for return traces.", +"Target is a DMS Private Connection. Used only for return traces.", +"Target is a Datastream Private Connection. Used only for return traces." ], "type": "string" } @@ -1866,6 +1891,8 @@ false "CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS", "DROPPED_INSIDE_GKE_SERVICE", "DROPPED_INSIDE_CLOUD_SQL_SERVICE", +"DROPPED_INSIDE_DMS_PRIVATE_CONNECTION", +"DROPPED_INSIDE_DATASTREAM_PRIVATE_CONNECTION", "GOOGLE_MANAGED_SERVICE_NO_PEERING", "GOOGLE_MANAGED_SERVICE_NO_PSC_ENDPOINT", "GKE_PSC_ENDPOINT_MISSING", @@ -1893,6 +1920,7 @@ false "HYBRID_NEG_NON_DYNAMIC_ROUTE_MATCHED", "HYBRID_NEG_NON_LOCAL_DYNAMIC_ROUTE_MATCHED", "CLOUD_RUN_REVISION_NOT_READY", +"CLOUD_RUN_JOB_NOT_READY", "DROPPED_INSIDE_PSC_SERVICE_PRODUCER", "LOAD_BALANCER_HAS_NO_PROXY_SUBNET", "CLOUD_NAT_NO_ADDRESSES", @@ -1975,6 +2003,8 @@ false "Access to the Cloud SQL instance endpoint is not authorized. See [Authorizing with authorized networks](https://cloud.google.com/sql/docs/mysql/authorize-networks) for more details.", "Packet was dropped inside Google Kubernetes Engine Service.", "Packet was dropped inside Cloud SQL Service.", +"Packet was dropped inside DMS Private Connection.", +"Packet was dropped inside Datastream Private Connection.", "Packet was dropped because there is no peering between the originating network and the Google Managed Services Network.", "Packet was dropped because the Google-managed service uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", "Packet was dropped because the GKE cluster uses Private Service Connect (PSC), but the PSC endpoint is not found in the project.", @@ -2002,6 +2032,7 @@ false "The packet sent from the hybrid NEG proxy matches a non-dynamic route, but such a configuration is not supported.", "The packet sent from the hybrid NEG proxy matches a dynamic route with a next hop in a different region, but such a configuration is not supported.", "Packet sent from a Cloud Run revision that is not ready.", +"Packet sent from a Cloud Run job that is not ready.", "Packet was dropped inside Private Service Connect service producer.", "Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", "Packet sent to Cloud Nat without active NAT IPs.", @@ -4132,6 +4163,10 @@ false "$ref": "CloudFunctionInfo", "description": "Display information of a Cloud Function." }, +"cloudRunJob": { +"$ref": "CloudRunJobInfo", +"description": "Display information of a Cloud Run job." +}, "cloudRunRevision": { "$ref": "CloudRunRevisionInfo", "description": "Display information of a Cloud Run revision." @@ -4281,6 +4316,7 @@ false "START_FROM_CLOUD_FUNCTION", "START_FROM_APP_ENGINE_VERSION", "START_FROM_CLOUD_RUN_REVISION", +"START_FROM_CLOUD_RUN_JOB", "START_FROM_STORAGE_BUCKET", "START_FROM_PSC_PUBLISHED_SERVICE", "START_FROM_SERVERLESS_NEG", @@ -4343,6 +4379,7 @@ false, false, false, false, +false, true, true, false, @@ -4381,6 +4418,7 @@ false "Initial state: packet originating from a Cloud Function. A CloudFunctionInfo is populated with starting function information.", "Initial state: packet originating from an App Engine service version. An AppEngineVersionInfo is populated with starting version information.", "Initial state: packet originating from a Cloud Run revision. A CloudRunRevisionInfo is populated with starting revision information.", +"Initial state: packet originating from a Cloud Run Job. A CloudRunJobInfo is populated with starting Job information.", "Initial state: packet originating from a Storage Bucket. Used only for return traces. The storage_bucket information is populated.", "Initial state: packet originating from a published service that uses Private Service Connect. Used only for return traces.", "Initial state: packet originating from a serverless network endpoint group backend. Used only for return traces. The serverless_neg information is populated.", diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1.json index e4a95bfd0f..dc4cda7637 100644 --- a/googleapiclient/discovery_cache/documents/networksecurity.v1.json +++ b/googleapiclient/discovery_cache/documents/networksecurity.v1.json @@ -108,6 +108,80 @@ "organizations": { "resources": { "locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"flatPath": "v1/organizations/{organizationsId}/locations", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"extraLocationTypes": { +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, "resources": { "addressGroups": { "methods": { @@ -403,6 +477,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/addressGroups/{addressGroupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "networksecurity.organizations.locations.addressGroups.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/addressGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -4846,6 +4948,292 @@ } } }, +"sacAttachments": { +"methods": { +"create": { +"description": "Creates a new SACAttachment in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacAttachments", +"httpMethod": "POST", +"id": "networksecurity.projects.locations.sacAttachments.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent, in the form `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sacAttachmentId": { +"description": "Required. ID of the created attachment. The ID must be 1-63 characters long, and comply with RFC1035. Specifically, it must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/sacAttachments", +"request": { +"$ref": "SACAttachment" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified attachment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacAttachments/{sacAttachmentsId}", +"httpMethod": "DELETE", +"id": "networksecurity.projects.locations.sacAttachments.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sacAttachments/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the specified attachment.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacAttachments/{sacAttachmentsId}", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.sacAttachments.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sacAttachments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SACAttachment" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SACAttachments in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacAttachments", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.sacAttachments.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression that filters the list of results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort the results by a certain order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, in the form `projects/{project}/locations/{location}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sacAttachments", +"response": { +"$ref": "ListSACAttachmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"sacRealms": { +"methods": { +"create": { +"description": "Creates a new SACRealm in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacRealms", +"httpMethod": "POST", +"id": "networksecurity.projects.locations.sacRealms.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent, in the form `projects/{project}/locations/global`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"sacRealmId": { +"description": "Required. ID of the created realm. The ID must be 1-63 characters long, and comply with RFC1035. Specifically, it must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/sacRealms", +"request": { +"$ref": "SACRealm" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes the specified realm.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacRealms/{sacRealmsId}", +"httpMethod": "DELETE", +"id": "networksecurity.projects.locations.sacRealms.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sacRealms/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Returns the specified realm.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacRealms/{sacRealmsId}", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.sacRealms.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the resource, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/sacRealms/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SACRealm" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists SACRealms in a given project.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/sacRealms", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.sacRealms.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. An expression that filters the list of results.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. Sort the results by a certain order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent, in the form `projects/{project}/locations/global`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/sacRealms", +"response": { +"$ref": "ListSACRealmsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "securityProfileGroups": { "methods": { "create": { @@ -5743,7 +6131,7 @@ } } }, -"revision": "20260426", +"revision": "20260524", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -6002,6 +6390,13 @@ "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", "type": "string" }, +"networkRules": { +"description": "Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules.", +"items": { +"$ref": "AuthzPolicyAuthzRule" +}, +"type": "array" +}, "policyProfile": { "description": "Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created.", "enum": [ @@ -6265,6 +6660,13 @@ "$ref": "AuthzPolicyAuthzRuleStringMatch" }, "type": "array" +}, +"snis": { +"description": "Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy.", +"items": { +"$ref": "AuthzPolicyAuthzRuleStringMatch" +}, +"type": "array" } }, "type": "object" @@ -6675,7 +7077,7 @@ "properties": { "associatedNetworks": { "deprecated": true, -"description": "Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", +"description": "Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", "items": { "type": "string" }, @@ -8026,7 +8428,7 @@ "type": "string" }, "unreachable": { -"description": "Locations that could not be reached.", +"description": "Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details.", "items": { "type": "string" }, @@ -8096,6 +8498,56 @@ }, "type": "object" }, +"ListSACAttachmentsResponse": { +"description": "Response for `ListSACAttachments` method.", +"id": "ListSACAttachmentsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"sacAttachments": { +"description": "The list of SACAttachments.", +"items": { +"$ref": "SACAttachment" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListSACRealmsResponse": { +"description": "Response for `ListSACRealms` method.", +"id": "ListSACRealmsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"sacRealms": { +"description": "The list of SACRealms.", +"items": { +"$ref": "SACRealm" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListSecurityProfileGroupsResponse": { "description": "Response returned by the ListSecurityProfileGroups method.", "id": "ListSecurityProfileGroupsResponse", @@ -8882,6 +9334,145 @@ }, "type": "object" }, +"SACAttachment": { +"description": "Represents a Secure Access Connect (SAC) attachment resource. A Secure Access Connect attachment enables NCC Gateway to process traffic with an SSE product.", +"id": "SACAttachment", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the attachment was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Optional list of labels applied to the resource.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name, in the form `projects/{project}/locations/{location}/sacAttachments/{sac_attachment}`.", +"type": "string" +}, +"nccGateway": { +"description": "Required. NCC Gateway associated with the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/spokes/{ncc_gateway}`.", +"type": "string" +}, +"sacRealm": { +"description": "Required. SAC Realm which owns the attachment. This can be input as an ID or a full resource name. The output always has the form `projects/{project_number}/locations/{location}/sacRealms/{sac_realm}`.", +"type": "string" +}, +"state": { +"description": "Output only. State of the attachment.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING_PARTNER_ATTACHMENT", +"PARTNER_ATTACHED", +"PARTNER_DETACHED" +], +"enumDescriptions": [ +"No state specified. This should not be used.", +"Has never been attached to a partner.", +"Currently attached to a partner.", +"Was once attached to a partner but has been detached." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the attachment was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SACRealm": { +"description": "Represents a Secure Access Connect (SAC) realm resource. A Secure Access Connect realm establishes a connection between your Google Cloud project and an SSE service.", +"id": "SACRealm", +"properties": { +"createTime": { +"description": "Output only. Timestamp when the realm was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Optional list of labels applied to the resource.", +"type": "object" +}, +"name": { +"description": "Identifier. Resource name, in the form `projects/{project}/locations/global/sacRealms/{sacRealm}`.", +"type": "string" +}, +"pairingKey": { +"$ref": "SACRealmPairingKey", +"description": "Output only. Key to be shared with SSE service provider during pairing.", +"readOnly": true +}, +"securityService": { +"description": "Immutable. SSE service provider associated with the realm.", +"enum": [ +"SECURITY_SERVICE_UNSPECIFIED", +"PALO_ALTO_PRISMA_ACCESS" +], +"enumDescriptions": [ +"The default value. This value is used if the state is omitted.", +"[Palo Alto Networks Prisma Access](https://www.paloaltonetworks.com/sase/access)." +], +"type": "string" +}, +"state": { +"description": "Output only. State of the realm.", +"enum": [ +"STATE_UNSPECIFIED", +"PENDING_PARTNER_ATTACHMENT", +"PARTNER_ATTACHED", +"PARTNER_DETACHED", +"KEY_EXPIRED" +], +"enumDescriptions": [ +"No state specified. This should not be used.", +"Has never been attached to a partner. Used only for Prisma Access.", +"Currently attached to a partner.", +"Was once attached to a partner but has been detached.", +"Is not attached to a partner and has an expired pairing key. Used only for Prisma Access." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. Timestamp when the realm was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"SACRealmPairingKey": { +"description": "Key to be shared with SSE service provider to establish global handshake.", +"id": "SACRealmPairingKey", +"properties": { +"expireTime": { +"description": "Output only. Timestamp in UTC of when this resource is considered expired. It expires 7 days after creation.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"key": { +"description": "Output only. Key value.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "SecurityProfile": { "description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.", "id": "SecurityProfile", diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json index 382c39e9af..db8e639965 100644 --- a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json @@ -108,6 +108,80 @@ "organizations": { "resources": { "locations": { +"methods": { +"get": { +"description": "Gets information about a location.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Resource name for the location.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Location" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"extraLocationTypes": { +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", +"location": "query", +"repeated": true, +"type": "string" +}, +"filter": { +"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", +"location": "query", +"type": "string" +}, +"name": { +"description": "The resource that owns the locations collection, if applicable.", +"location": "path", +"pattern": "^organizations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The maximum number of results to return. If not set, the service selects a default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", +"location": "query", +"type": "string" +} +}, +"path": "v1beta1/{+name}/locations", +"response": { +"$ref": "ListLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +}, "resources": { "addressGroups": { "methods": { @@ -403,6 +477,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] +}, +"testIamPermissions": { +"description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/addressGroups/{addressGroupsId}:testIamPermissions", +"httpMethod": "POST", +"id": "networksecurity.organizations.locations.addressGroups.testIamPermissions", +"parameterOrder": [ +"resource" +], +"parameters": { +"resource": { +"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/addressGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+resource}:testIamPermissions", +"request": { +"$ref": "GoogleIamV1TestIamPermissionsRequest" +}, +"response": { +"$ref": "GoogleIamV1TestIamPermissionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] } } }, @@ -586,6 +688,106 @@ "https://www.googleapis.com/auth/cloud-platform" ] } +}, +"resources": { +"wildfireVerdictChangeRequests": { +"methods": { +"create": { +"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", +"httpMethod": "POST", +"id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", +"request": { +"$ref": "WildfireVerdictChangeRequest" +}, +"response": { +"$ref": "WildfireVerdictChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "WildfireVerdictChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.", +"flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", +"httpMethod": "GET", +"id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", +"location": "path", +"pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", +"response": { +"$ref": "ListWildfireVerdictChangeRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} } }, "operations": { @@ -2944,6 +3146,106 @@ "https://www.googleapis.com/auth/cloud-platform" ] } +}, +"resources": { +"wildfireVerdictChangeRequests": { +"methods": { +"create": { +"description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", +"httpMethod": "POST", +"id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", +"request": { +"$ref": "WildfireVerdictChangeRequest" +}, +"response": { +"$ref": "WildfireVerdictChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "WildfireVerdictChangeRequest" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", +"httpMethod": "GET", +"id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A token identifying a page of results the server should return.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", +"response": { +"$ref": "ListWildfireVerdictChangeRequestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} } }, "gatewaySecurityPolicies": { @@ -6029,7 +6331,7 @@ } } }, -"revision": "20260426", +"revision": "20260524", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -6288,9 +6590,16 @@ "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", "type": "string" }, -"policyProfile": { -"description": "Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created.", -"enum": [ +"networkRules": { +"description": "Optional. A list of authorization network rules to match against the incoming request. A policy match occurs when at least one network rule matches the request. At least one network rule is required for Allow or Deny Action if no HTTP rules are provided. Network rules are mutually exclusive with HTTP rules. Limited to 5 rules.", +"items": { +"$ref": "AuthzPolicyAuthzRule" +}, +"type": "array" +}, +"policyProfile": { +"description": "Optional. Immutable. Defines the type of authorization being performed. If not specified, `REQUEST_AUTHZ` is applied. This field cannot be changed once AuthzPolicy is created.", +"enum": [ "POLICY_PROFILE_UNSPECIFIED", "REQUEST_AUTHZ", "CONTENT_AUTHZ" @@ -6551,6 +6860,13 @@ "$ref": "AuthzPolicyAuthzRuleStringMatch" }, "type": "array" +}, +"snis": { +"description": "Optional. A list of SNIs to match against. The match can be one of exact, prefix, suffix, or contains (substring match). If there is no SNI (i.e. plaintext HTTP traffic), the request will be denied. Matches are always case sensitive unless the ignoreCase is set. Limited to 10 SNIs per Authorization Policy.", +"items": { +"$ref": "AuthzPolicyAuthzRuleStringMatch" +}, +"type": "array" } }, "type": "object" @@ -6961,7 +7277,7 @@ "properties": { "associatedNetworks": { "deprecated": true, -"description": "Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", +"description": "Output only. Deprecated: List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", "items": { "type": "string" }, @@ -7044,6 +7360,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" +}, +"wildfireSettings": { +"$ref": "FirewallEndpointWildfireSettings", +"description": "Optional. Settings for WildFire analysis." } }, "type": "object" @@ -7141,6 +7461,54 @@ "description": "Settings for the endpoint.", "id": "FirewallEndpointEndpointSettings", "properties": { +"contentCloudRegion": { +"description": "Optional. The content cloud region of the endpoint.", +"enum": [ +"CONTENT_CLOUD_REGION_UNSPECIFIED", +"US_CENTRAL", +"APAC", +"INDIA", +"UK", +"FRANCE", +"JAPAN", +"AUSTRALIA", +"CANADA", +"SWITZERLAND", +"NETHERLANDS", +"INDONESIA", +"QATAR", +"TAIWAN", +"POLAND", +"SOUTH_KOREA", +"SAUDI_ARABIA", +"ITALY" +], +"enumDescriptions": [ +"PAN content cloud region not specified.", +"us.hawkeye.services-edge.paloaltonetworks.com", +"APAC content cloud portal: apac.hawkeye.services-edge.paloaltonetworks.com", +"India content cloud portal: in.hawkeye.services-edge.paloaltonetworks.com", +"UK content cloud portal: uk.hawkeye.services-edge.paloaltonetworks.com", +"France content cloud portal: fr.hawkeye.services-edge.paloaltonetworks.com", +"Japan content cloud portal: jp.hawkeye.services-edge.paloaltonetworks.com", +"Australia content cloud portal: au.hawkeye.services-edge.paloaltonetworks.com", +"Canada content cloud portal: ca.hawkeye.services-edge.paloaltonetworks.com", +"Switzerland content cloud portal: ch.hawkeye.services-edge.paloaltonetworks.com", +"Netherlands content cloud portal: nl.hawkeye.services-edge.paloaltonetworks.com", +"Indonesia content cloud portal: id.hawkeye.services-edge.paloaltonetworks.com", +"Qatar content cloud portal: qa.hawkeye.services-edge.paloaltonetworks.com", +"Taiwan content cloud portal: tw.hawkeye.services-edge.paloaltonetworks.com", +"Poland content cloud portal: pl.hawkeye.services-edge.paloaltonetworks.com", +"South Korea content cloud portal: kr.hawkeye.services-edge.paloaltonetworks.com", +"Saudi Arabia content cloud portal: sa.hawkeye.services-edge.paloaltonetworks.com", +"Italy content cloud portal: it.hawkeye.services-edge.paloaltonetworks.com" +], +"type": "string" +}, +"httpPartialResponseBlocked": { +"description": "Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.", +"type": "boolean" +}, "jumboFramesEnabled": { "description": "Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.", "type": "boolean" @@ -7148,6 +7516,116 @@ }, "type": "object" }, +"FirewallEndpointWildfireSettings": { +"description": "Settings for WildFire analysis.", +"id": "FirewallEndpointWildfireSettings", +"properties": { +"enabled": { +"description": "Optional. Indicates whether WildFire analysis is enabled. Default value is false.", +"type": "boolean" +}, +"wildfireInlineCloudAnalysisSettings": { +"$ref": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings", +"description": "Optional. Settings for WildFire inline cloud analysis." +}, +"wildfireRealtimeLookupDuration": { +"description": "Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.", +"format": "google-duration", +"type": "string" +}, +"wildfireRealtimeLookupTimeoutAction": { +"description": "Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.", +"enum": [ +"WILDFIRE_REALTIME_SIGNATURE_LOOKUP_TIMEOUT_ACTION_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"WildFire real time signature lookup timeout action not specified.", +"The files that timed out in the signature lookup will be allowed to transmit.", +"The files that timed out in the signature lookup will be denied to transmit." +], +"type": "string" +}, +"wildfireRegion": { +"description": "Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud", +"enum": [ +"WILDFIRE_REGION_UNSPECIFIED", +"CANADA", +"UNITED_STATES", +"JAPAN", +"SINGAPORE", +"UNITED_KINGDOM", +"AUSTRALIA", +"GERMANY", +"INDIA", +"SWITZERLAND", +"POLAND", +"INDONESIA", +"TAIWAN", +"FRANCE", +"QATAR", +"SOUTH_KOREA", +"ISRAEL", +"SAUDI_ARABIA", +"SPAIN" +], +"enumDescriptions": [ +"WildFire region not specified.", +"Canada cloud portal: ca.wildfire.paloaltonetworks.com", +"United States cloud portal: us-native.wildfire.paloaltonetworks.com", +"Japan cloud portal: jp.wildfire.paloaltonetworks.com", +"Singapore cloud portal: sg.wildfire.paloaltonetworks.com", +"United Kingdom cloud portal: uk.wildfire.paloaltonetworks.com", +"Australia cloud portal: au.wildfire.paloaltonetworks.com", +"Germany cloud portal: de.wildfire.paloaltonetworks.com", +"India cloud portal: in.wildfire.paloaltonetworks.com", +"Switzerland cloud portal: ch.wildfire.paloaltonetworks.com", +"Poland cloud portal: pl.wildfire.paloaltonetworks.com", +"Indonesia cloud portal: id.wildfire.paloaltonetworks.com", +"Taiwan cloud portal: tw.wildfire.paloaltonetworks.com", +"France cloud portal: fr.wildfire.paloaltonetworks.com", +"Qatar cloud portal: qatar.wildfire.paloaltonetworks.com", +"South Korea cloud portal: kr.wildfire.paloaltonetworks.com", +"Israel cloud portal: il.wildfire.paloaltonetworks.com", +"Saudi Arabia cloud portal: sa.wildfire.paloaltonetworks.com", +"Spain cloud portal: es.wildfire.paloaltonetworks.com" +], +"type": "string" +} +}, +"type": "object" +}, +"FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings": { +"description": "Settings for WildFire inline cloud analysis.", +"id": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings", +"properties": { +"maxAnalysisDuration": { +"description": "Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.", +"format": "google-duration", +"type": "string" +}, +"submissionTimeoutLoggingDisabled": { +"description": "Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.", +"type": "boolean" +}, +"timeoutAction": { +"description": "Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.", +"enum": [ +"WILDFIRE_INLINE_CLOUD_ANALYSIS_TIMEOUT_ACTION_UNSPECIFIED", +"ALLOW", +"DENY" +], +"enumDescriptions": [ +"WildFire inline cloud analysis timeout action not specified.", +"The files that timed out will be allowed to transmit.", +"The files that timed out will be denied to transmit." +], +"type": "string" +} +}, +"type": "object" +}, "GatewaySecurityPolicy": { "description": "The GatewaySecurityPolicy resource contains a collection of GatewaySecurityPolicyRules and associated metadata.", "id": "GatewaySecurityPolicy", @@ -8312,7 +8790,7 @@ "type": "string" }, "unreachable": { -"description": "Locations that could not be reached.", +"description": "Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details.", "items": { "type": "string" }, @@ -8543,6 +9021,31 @@ }, "type": "object" }, +"ListWildfireVerdictChangeRequestsResponse": { +"description": "Message for response to listing WildfireVerdictChangeRequests.", +"id": "ListWildfireVerdictChangeRequestsResponse", +"properties": { +"nextPageToken": { +"description": "A token identifying a page of results the server should return.", +"type": "string" +}, +"unreachable": { +"description": "Unordered list. Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +}, +"wildfireVerdictChangeRequests": { +"description": "The list of WildfireVerdictChangeRequests", +"items": { +"$ref": "WildfireVerdictChangeRequest" +}, +"type": "array" +} +}, +"type": "object" +}, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -9477,14 +9980,16 @@ "THREAT_PREVENTION", "CUSTOM_MIRRORING", "CUSTOM_INTERCEPT", -"URL_FILTERING" +"URL_FILTERING", +"WILDFIRE_ANALYSIS" ], "enumDescriptions": [ "Profile type not specified.", "Profile type for threat prevention.", "Profile type for packet mirroring v2", "Profile type for TPPI.", -"Profile type for URL filtering." +"Profile type for URL filtering.", +"Profile type for WildFire Analysis." ], "type": "string" }, @@ -9497,6 +10002,10 @@ "urlFilteringProfile": { "$ref": "UrlFilteringProfile", "description": "The URL filtering configuration for the SecurityProfile." +}, +"wildfireAnalysisProfile": { +"$ref": "WildfireAnalysisProfile", +"description": "The WildFire Analysis configurations for SecurityProfile." } }, "type": "object" @@ -9558,6 +10067,10 @@ "urlFilteringProfile": { "description": "Optional. Reference to a SecurityProfile with the UrlFiltering configuration.", "type": "string" +}, +"wildfireAnalysisProfile": { +"description": "Optional. Reference to a SecurityProfile with the WildFire configuration.", +"type": "string" } }, "type": "object" @@ -9956,6 +10469,567 @@ } }, "type": "object" +}, +"WildfireAnalysisProfile": { +"description": "WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.", +"id": "WildfireAnalysisProfile", +"properties": { +"wildfireInlineCloudAnalysisRules": { +"description": "Optional. Configuration for WildFire inline cloud analysis.", +"items": { +"$ref": "WildfireInlineCloudAnalysisRule" +}, +"type": "array" +}, +"wildfireInlineMlOverrides": { +"description": "Optional. Configuration for overriding inline ML WildFire actions per protocol.", +"items": { +"$ref": "WildfireInlineMlOverride" +}, +"type": "array" +}, +"wildfireInlineMlSetting": { +"$ref": "WildfireInlineMlSettings", +"description": "Optional. Settings for WildFire Inline ML analysis." +}, +"wildfireInlineMlSettings": { +"deprecated": true, +"description": "Optional. Settings for WildFire Inline ML analysis.", +"items": { +"$ref": "WildfireInlineMlSettings" +}, +"type": "array" +}, +"wildfireOverrides": { +"description": "Optional. Configuration for overriding WildFire actions per protocol.", +"items": { +"$ref": "WildfireOverride" +}, +"type": "array" +}, +"wildfireRealtimeLookup": { +"description": "Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false.", +"type": "boolean" +}, +"wildfireSubmissionRules": { +"description": "Optional. Configurations for WildFire file submissions.", +"items": { +"$ref": "WildfireSubmissionRule" +}, +"type": "array" +}, +"wildfireThreatOverrides": { +"description": "Optional. Configuration for overriding WildFire threats action by threat_id match.", +"items": { +"$ref": "WildfireThreatOverride" +}, +"type": "array" +} +}, +"type": "object" +}, +"WildfireInlineCloudAnalysisRule": { +"description": "The list of file type configurations to be scanned by WildFire Inline Cloud Analysis.", +"id": "WildfireInlineCloudAnalysisRule", +"properties": { +"action": { +"description": "Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY.", +"enum": [ +"WILDFIRE_INLINE_CLOUD_ANALYSIS_ACTION_UNSPECIFIED", +"ALLOW", +"DENY", +"ALERT" +], +"enumDescriptions": [ +"WildFire Inline Cloud Analysis action not specified.", +"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit.", +"The files caught by WildFire Inline Cloud Analysis will be denied to transmit.", +"The files caught by WildFire Inline Cloud Analysis will be allowed to transmit, but a wildfire_submission_log entry will be sent to the consumer project." +], +"type": "string" +}, +"customFileTypes": { +"$ref": "WildfireInlineCloudAnalysisRuleCustomFileTypes", +"description": "Submit a custom list of file types for WildFire analysis." +}, +"direction": { +"description": "Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis.", +"enum": [ +"DIRECTION_UNSPECIFIED", +"UPLOAD", +"DOWNLOAD", +"BOTH" +], +"enumDescriptions": [ +"Direction not specified.", +"Upload direction.", +"Download direction.", +"Both upload and download directions." +], +"type": "string" +}, +"fileSelectionMode": { +"description": "Required. File selection mode for WildFire inline cloud analysis.", +"enum": [ +"FILE_SELECTION_MODE_UNSPECIFIED", +"ALL_FILE_TYPES", +"CUSTOM_FILE_TYPES" +], +"enumDescriptions": [ +"File selection mode not specified.", +"Submit all the file types for scan.", +"Submit a custom list of file types for scan." +], +"type": "string" +} +}, +"type": "object" +}, +"WildfireInlineCloudAnalysisRuleCustomFileTypes": { +"description": "The options to submit a custom list of file types for scan.", +"id": "WildfireInlineCloudAnalysisRuleCustomFileTypes", +"properties": { +"fileTypes": { +"description": "Required. File types to be submitted for WildFire inline cloud analysis.", +"items": { +"enum": [ +"FILE_TYPE_UNSPECIFIED", +"PE" +], +"enumDescriptions": [ +"File type not specified.", +"Portable Executable (PE) files." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"WildfireInlineMlFileException": { +"description": "Defines the file to exclude from WildFire Inline ML analysis.", +"id": "WildfireInlineMlFileException", +"properties": { +"filename": { +"description": "Optional. Name of the file to exclude from WildFire Inline ML analysis.", +"type": "string" +}, +"partialHash": { +"description": "Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis.", +"type": "string" +} +}, +"type": "object" +}, +"WildfireInlineMlOverride": { +"description": "Defines what action to take for WildFire Inline ML threats per protocol.", +"id": "WildfireInlineMlOverride", +"properties": { +"action": { +"description": "Required. The action to take for WildFire Inline ML override.", +"enum": [ +"WILDFIRE_THREAT_ACTION_UNSPECIFIED", +"WILDFIRE_DEFAULT_ACTION", +"WILDFIRE_ALLOW", +"WILDFIRE_ALERT", +"WILDFIRE_DENY" +], +"enumDescriptions": [ +"Threat action not specified.", +"The default action (as specified by the vendor) is taken.", +"The packet matching this rule will be allowed to transmit.", +"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", +"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." +], +"type": "string" +}, +"protocol": { +"description": "Required. Protocol to match for WildFire Inline ML override.", +"enum": [ +"WILDFIRE_PROTOCOL_UNSPECIFIED", +"WILDFIRE_SMTP", +"WILDFIRE_SMB", +"WILDFIRE_POP3", +"WILDFIRE_IMAP", +"WILDFIRE_HTTP2", +"WILDFIRE_HTTP", +"WILDFIRE_FTP" +], +"enumDescriptions": [ +"Protocol not specified.", +"SMTP protocol", +"SMB protocol", +"POP3 protocol", +"IMAP protocol", +"HTTP2 protocol", +"HTTP protocol", +"FTP protocol" +], +"type": "string" +} +}, +"type": "object" +}, +"WildfireInlineMlSettings": { +"description": "Defines the settings for WildFire Inline ML analysis.", +"id": "WildfireInlineMlSettings", +"properties": { +"fileExceptions": { +"description": "Optional. List of files to exclude from WildFire Inline ML analysis.", +"items": { +"$ref": "WildfireInlineMlFileException" +}, +"type": "array" +}, +"inlineMlConfigs": { +"description": "Optional. List of Inline ML configs to enable in WildFire Inline ML analysis.", +"items": { +"$ref": "WildfireInlineMlSettingsInlineMlConfig" +}, +"type": "array" +} +}, +"type": "object" +}, +"WildfireInlineMlSettingsInlineMlConfig": { +"description": "Configuration for WildFire Inline ML analysis per file type.", +"id": "WildfireInlineMlSettingsInlineMlConfig", +"properties": { +"action": { +"description": "Required. Action to take when a threat is detected using Inline ML.", +"enum": [ +"INLINE_ML_ACTION_UNSPECIFIED", +"DISABLE", +"ALERT", +"ENABLE" +], +"enumDescriptions": [ +"Inline ML threat action not specified.", +"Disable WildFire Inline ML for the associated file type.", +"Enable WildFire Inline ML for the associated file type. Overrides any protocol level settings with action stricter than ALERT to ALERT so that the malicious files detected generate a threat log to the consumer project but are not blocked.", +"Enable WildFire Inline ML for the associated file type, malicious files detected will be blocked." +], +"type": "string" +}, +"fileType": { +"description": "Required. File type to configure Inline ML for.", +"enum": [ +"INLINE_ML_CONFIG_UNSPECIFIED", +"WINDOWS_EXECUTABLE", +"POWERSHELL_SCRIPT1", +"POWERSHELL_SCRIPT2", +"ELF", +"MS_OFFICE", +"SHELL", +"OOXML", +"MACHO" +], +"enumDescriptions": [ +"Inline ML config not specified.", +"Enable machine learning engine to dynamically detect malicious PE files.", +"Enable machine learning engine to dynamically identify malicious PowerShell scripts with known length.", +"Enable machine learning engine to dynamically identify malicious PowerShell script without known length.", +"Enable machine learning engine to dynamically detect malicious ELF files.", +"Enable machine learning engine to dynamically detect malicious MSOffice (97-03) files.", +"Enable machine learning engine to dynamically detect malicious Shell files.", +"Enable machine learning engine to dynamically detect malicious Open Office XML files.", +"Enable machine learning engine to dynamically detect malicious Mach-O files." +], +"type": "string" +} +}, +"type": "object" +}, +"WildfireOverride": { +"description": "Defines what action to take for WildFire threats per protocol.", +"id": "WildfireOverride", +"properties": { +"action": { +"description": "Required. Threat action override. For some threat types, only a subset of actions applies.", +"enum": [ +"WILDFIRE_THREAT_ACTION_UNSPECIFIED", +"WILDFIRE_DEFAULT_ACTION", +"WILDFIRE_ALLOW", +"WILDFIRE_ALERT", +"WILDFIRE_DENY" +], +"enumDescriptions": [ +"Threat action not specified.", +"The default action (as specified by the vendor) is taken.", +"The packet matching this rule will be allowed to transmit.", +"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", +"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." +], +"type": "string" +}, +"protocol": { +"description": "Required. Protocol to match.", +"enum": [ +"WILDFIRE_PROTOCOL_UNSPECIFIED", +"WILDFIRE_SMTP", +"WILDFIRE_SMB", +"WILDFIRE_POP3", +"WILDFIRE_IMAP", +"WILDFIRE_HTTP2", +"WILDFIRE_HTTP", +"WILDFIRE_FTP" +], +"enumDescriptions": [ +"Protocol not specified.", +"SMTP protocol", +"SMB protocol", +"POP3 protocol", +"IMAP protocol", +"HTTP2 protocol", +"HTTP protocol", +"FTP protocol" +], +"type": "string" +} +}, +"type": "object" +}, +"WildfireSubmissionRule": { +"description": "Defines the file types to be submitted for WildFire analysis and the direction of the traffic.", +"id": "WildfireSubmissionRule", +"properties": { +"customFileTypes": { +"$ref": "WildfireSubmissionRuleCustomFileTypes", +"description": "Submit a custom list of file types for WildFire analysis." +}, +"direction": { +"description": "Required. Direction for the files to be analyzed by WildFire.", +"enum": [ +"DIRECTION_UNSPECIFIED", +"UPLOAD", +"DOWNLOAD", +"BOTH" +], +"enumDescriptions": [ +"Direction not specified.", +"Upload direction.", +"Download direction.", +"Both upload and download directions." +], +"type": "string" +}, +"fileSelectionMode": { +"description": "Required. File selection mode for WildFire analysis.", +"enum": [ +"FILE_SELECTION_MODE_UNSPECIFIED", +"ALL_FILE_TYPES", +"CUSTOM_FILE_TYPES" +], +"enumDescriptions": [ +"File selection mode not specified.", +"Submit all the file types for scan.", +"Submit a custom list of file types for scan." +], +"type": "string" +} +}, +"type": "object" +}, +"WildfireSubmissionRuleCustomFileTypes": { +"description": "The options to submit a custom list of file types for scan.", +"id": "WildfireSubmissionRuleCustomFileTypes", +"properties": { +"fileTypes": { +"description": "Required. File types to be submitted for WildFire analysis.", +"items": { +"enum": [ +"FILE_TYPE_UNSPECIFIED", +"APK", +"ARCHIVE", +"EMAIL_LINK", +"FLASH", +"JAR", +"LINUX", +"MS_OFFICE", +"PDF", +"PE", +"SCRIPT" +], +"enumDescriptions": [ +"File type not specified.", +"Android Application Package (APK) files.", +"Roshal Archive (RAR) and 7-Zip (7z) archive files.", +"HTTP/HTTPS links contained in SMTP and POP3 email messages.", +"Adobe Flash applets and Flash content embedded in web pages.", +"Java applets (JAR/class files types).", +"Executable and Linkable Format (ELF) files.", +"Files used by Microsoft Office.", +"Portable Document Format (PDF) files.", +"Portable Executable (PE) files.", +"Various script files. Jscript (JS), VBScript (VBS), PowerShell Scripts (PS1), Batch (BAT), HTML Application (HTA)." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"WildfireThreatOverride": { +"description": "Defines what action to take for a specific WildFire threat_id match.", +"id": "WildfireThreatOverride", +"properties": { +"action": { +"description": "Required. Threat action override.", +"enum": [ +"WILDFIRE_THREAT_ACTION_UNSPECIFIED", +"WILDFIRE_DEFAULT_ACTION", +"WILDFIRE_ALLOW", +"WILDFIRE_ALERT", +"WILDFIRE_DENY" +], +"enumDescriptions": [ +"Threat action not specified.", +"The default action (as specified by the vendor) is taken.", +"The packet matching this rule will be allowed to transmit.", +"The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", +"The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." +], +"type": "string" +}, +"threatId": { +"description": "Required. Threat ID to match.", +"type": "string" +} +}, +"type": "object" +}, +"WildfireVerdictChangeRequest": { +"description": "Message for a WildfireVerdictChangeRequest.", +"id": "WildfireVerdictChangeRequest", +"properties": { +"comment": { +"description": "Required. The justification for the verdict change request. Max length 2048 characters.", +"type": "string" +}, +"createTime": { +"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"fileName": { +"description": "Output only. The file name of the Malware Sample.", +"readOnly": true, +"type": "string" +}, +"fileType": { +"description": "Output only. The file type of the Malware Sample.", +"readOnly": true, +"type": "string" +}, +"finalVerdict": { +"description": "Output only. The final verdict of the Malware Sample.", +"enum": [ +"WILDFIRE_SAMPLE_VERDICT_UNKNOWN", +"BENIGN", +"MALWARE", +"GRAYWARE", +"PHISHING" +], +"enumDescriptions": [ +"Default value. Malware is not yet classified.", +"Sample is safe and does not exhibit malicious behavior.", +"Sample is malware and poses a security threat.", +"Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", +"Link directs users to a phishing site and poses a security threat." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", +"readOnly": true, +"type": "string" +}, +"newVerdict": { +"description": "Required. The suggested verdict to apply to the Malware Sample.", +"enum": [ +"WILDFIRE_SAMPLE_VERDICT_UNKNOWN", +"BENIGN", +"MALWARE", +"GRAYWARE", +"PHISHING" +], +"enumDescriptions": [ +"Default value. Malware is not yet classified.", +"Sample is safe and does not exhibit malicious behavior.", +"Sample is malware and poses a security threat.", +"Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", +"Link directs users to a phishing site and poses a security threat." +], +"type": "string" +}, +"oldVerdict": { +"description": "Output only. The original verdict of the Malware Sample.", +"enum": [ +"WILDFIRE_SAMPLE_VERDICT_UNKNOWN", +"BENIGN", +"MALWARE", +"GRAYWARE", +"PHISHING" +], +"enumDescriptions": [ +"Default value. Malware is not yet classified.", +"Sample is safe and does not exhibit malicious behavior.", +"Sample is malware and poses a security threat.", +"Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", +"Link directs users to a phishing site and poses a security threat." +], +"readOnly": true, +"type": "string" +}, +"resolutionTime": { +"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"sha256": { +"description": "Required. The SHA256 hash of the Malware Sample to change the verdict of.", +"type": "string" +}, +"sourceRegion": { +"description": "Output only. The region of the file associated with the Malware Sample.", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. The review state of the WildfireVerdictChangeRequest.", +"enum": [ +"VERDICT_CHANGE_REQUEST_STATE_UNSPECIFIED", +"OPEN", +"CLOSED", +"PENDING" +], +"enumDescriptions": [ +"Default value. Request does not have a state. This value is unused.", +"Request has been created and review has not started.", +"Malware Sample has been reviewed and the final verdict has been updated.", +"Malware Sample is currently being reviewed." +], +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"wildfireVerdictChangeRequestId": { +"description": "Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", +"readOnly": true, +"type": "string" +} +}, +"type": "object" } }, "servicePath": "", diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1.json b/googleapiclient/discovery_cache/documents/networkservices.v1.json index 3fb232e0dc..d8f7495f3f 100644 --- a/googleapiclient/discovery_cache/documents/networkservices.v1.json +++ b/googleapiclient/discovery_cache/documents/networkservices.v1.json @@ -183,6 +183,173 @@ } }, "resources": { +"agentGateways": { +"methods": { +"create": { +"description": "Creates a new AgentGateway in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentGateways", +"httpMethod": "POST", +"id": "networkservices.projects.locations.agentGateways.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"agentGatewayId": { +"description": "Required. Short name of the AgentGateway resource to be created.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the AgentGateway. Must be in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/agentGateways", +"request": { +"$ref": "AgentGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single AgentGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentGateways/{agentGatewaysId}", +"httpMethod": "DELETE", +"id": "networkservices.projects.locations.agentGateways.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag of the AgentGateway to delete.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. A name of the AgentGateway to delete. Must be in the format `projects/*/locations/*/agentGateways/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single AgentGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentGateways/{agentGatewaysId}", +"httpMethod": "GET", +"id": "networkservices.projects.locations.agentGateways.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A name of the AgentGateway to get. Must be in the format `projects/*/locations/*/agentGateways/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "AgentGateway" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists AgentGateways in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentGateways", +"httpMethod": "GET", +"id": "networkservices.projects.locations.agentGateways.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Optional. Maximum number of AgentGateways to return per call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. The value returned by the last `ListAgentGatewaysResponse` Indicates that this is a continuation of a prior `ListAgentGateways` call, and that the system should return the next page of data.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The project and location from which the AgentGateways should be listed, specified in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"returnPartialSuccess": { +"description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests. Otherwise if one of the locations is down or unreachable, the Aggregated List request will fail.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/agentGateways", +"response": { +"$ref": "ListAgentGatewaysResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single AgentGateway.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agentGateways/{agentGatewaysId}", +"httpMethod": "PATCH", +"id": "networkservices.projects.locations.agentGateways.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/agentGateways/[^/]+$", +"required": true, +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the AgentGateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "AgentGateway" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "authzExtensions": { "methods": { "create": { @@ -2133,127 +2300,181 @@ } } }, -"operations": { +"multicastConsumerAssociations": { "methods": { -"cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"create": { +"description": "Creates a new multicast consumer association in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastConsumerAssociations", "httpMethod": "POST", -"id": "networkservices.projects.locations.operations.cancel", +"id": "networkservices.projects.locations.multicastConsumerAssociations.create", "parameterOrder": [ -"name" +"parent" ], "parameters": { -"name": { -"description": "The name of the operation resource to be cancelled.", +"multicastConsumerAssociationId": { +"description": "Required. A unique name for the multicast consumer association. The name is restricted to lower-case letters, numbers, and hyphen, with the first character a lower-case letter, and the last a letter or a number. The name must not exceed 48 characters.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource of the multicast consumer association. Use the following format: `projects/*/locations/*`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" } }, -"path": "v1/{+name}:cancel", +"path": "v1/{+parent}/multicastConsumerAssociations", "request": { -"$ref": "CancelOperationRequest" +"$ref": "MulticastConsumerAssociation" }, "response": { -"$ref": "Empty" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"description": "Deletes a single multicast consumer association.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastConsumerAssociations/{multicastConsumerAssociationsId}", "httpMethod": "DELETE", -"id": "networkservices.projects.locations.operations.delete", +"id": "networkservices.projects.locations.multicastConsumerAssociations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", +"description": "Required. The resource name of the multicast consumer association to delete. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastConsumerAssociations/[^/]+$", "required": true, "type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" } }, "path": "v1/{+name}", "response": { -"$ref": "Empty" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"description": "Gets details of a single multicast consumer association.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastConsumerAssociations/{multicastConsumerAssociationsId}", "httpMethod": "GET", -"id": "networkservices.projects.locations.operations.get", +"id": "networkservices.projects.locations.multicastConsumerAssociations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "The name of the operation resource.", +"description": "Required. The resource name of the multicast consumer association to get. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastConsumerAssociations/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { -"$ref": "Operation" +"$ref": "MulticastConsumerAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"description": "Lists multicast consumer associations in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastConsumerAssociations", "httpMethod": "GET", -"id": "networkservices.projects.locations.operations.list", +"id": "networkservices.projects.locations.multicastConsumerAssociations.list", "parameterOrder": [ -"name" +"parent" ], "parameters": { "filter": { -"description": "The standard list filter.", +"description": "Optional. A filter expression that filters the resources listed in the response. The expression must be of the form ` ` where operators: `<`, `>`, `<=`, `>=`, `!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is roughly synonymous with equality). can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: * Filter by name: name = \"RESOURCE_NAME\" * Filter by labels: * Resources that have a key named `foo` labels.foo:* * Resources that have a key named `foo` whose value is `bar` labels.foo = bar", "location": "query", "type": "string" }, -"name": { -"description": "The name of the operation's parent resource.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+$", -"required": true, +"orderBy": { +"description": "Optional. A field used to sort the results by a certain order.", +"location": "query", "type": "string" }, "pageSize": { -"description": "The standard list page size.", +"description": "Optional. The maximum number of multicast consumer associations to return per call.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", +"description": "Optional. A page token from an earlier query, as returned in `next_page_token`.", "location": "query", "type": "string" }, -"returnPartialSuccess": { -"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", +"parent": { +"description": "Required. The parent resource for which to list multicast consumer associations. Use the following format: `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/multicastConsumerAssociations", +"response": { +"$ref": "ListMulticastConsumerAssociationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single multicast consumer association.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastConsumerAssociations/{multicastConsumerAssociationsId}", +"httpMethod": "PATCH", +"id": "networkservices.projects.locations.multicastConsumerAssociations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastConsumerAssociations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", -"type": "boolean" +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the MulticastConsumerAssociation resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all mutable fields present in the request will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" } }, -"path": "v1/{+name}/operations", +"path": "v1/{+name}", +"request": { +"$ref": "MulticastConsumerAssociation" +}, "response": { -"$ref": "ListOperationsResponse" +"$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -2261,33 +2482,38 @@ } } }, -"serviceBindings": { +"multicastGroupConsumerActivations": { "methods": { "create": { -"description": "Creates a new ServiceBinding in a given project and location.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings", +"description": "Creates a new multicast group consumer activation in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastGroupConsumerActivations", "httpMethod": "POST", -"id": "networkservices.projects.locations.serviceBindings.create", +"id": "networkservices.projects.locations.multicastGroupConsumerActivations.create", "parameterOrder": [ "parent" ], "parameters": { +"multicastGroupConsumerActivationId": { +"description": "Required. A unique name for the multicast group consumer activation. The name is restricted to lower-case letters, numbers, and hyphen, with the first character a lower-case letter, and the last a letter or a number. The name must not exceed 48 characters.", +"location": "query", +"type": "string" +}, "parent": { -"description": "Required. The parent resource of the ServiceBinding. Must be in the format `projects/*/locations/*`.", +"description": "Required. The parent resource of the multicast group consumer activation. Use the following format: `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, -"serviceBindingId": { -"description": "Required. Short name of the ServiceBinding resource to be created.", +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, -"path": "v1/{+parent}/serviceBindings", +"path": "v1/{+parent}/multicastGroupConsumerActivations", "request": { -"$ref": "ServiceBinding" +"$ref": "MulticastGroupConsumerActivation" }, "response": { "$ref": "Operation" @@ -2297,20 +2523,25 @@ ] }, "delete": { -"description": "Deletes a single ServiceBinding.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", +"description": "Deletes a single multicast group consumer activation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastGroupConsumerActivations/{multicastGroupConsumerActivationsId}", "httpMethod": "DELETE", -"id": "networkservices.projects.locations.serviceBindings.delete", +"id": "networkservices.projects.locations.multicastGroupConsumerActivations.delete", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. A name of the ServiceBinding to delete. Must be in the format `projects/*/locations/*/serviceBindings/*`.", +"description": "Required. The resource name of the multicast group consumer activation to delete. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastGroupConsumerActivations/[^/]+$", "required": true, "type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" } }, "path": "v1/{+name}", @@ -2322,32 +2553,332 @@ ] }, "get": { -"description": "Gets details of a single ServiceBinding.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", +"description": "Gets details of a single multicast group consumer activation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastGroupConsumerActivations/{multicastGroupConsumerActivationsId}", "httpMethod": "GET", -"id": "networkservices.projects.locations.serviceBindings.get", +"id": "networkservices.projects.locations.multicastGroupConsumerActivations.get", "parameterOrder": [ "name" ], "parameters": { "name": { -"description": "Required. A name of the ServiceBinding to get. Must be in the format `projects/*/locations/*/serviceBindings/*`.", +"description": "Required. The resource name of the multicast group consumer activation to get. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.", "location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastGroupConsumerActivations/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { -"$ref": "ServiceBinding" +"$ref": "MulticastGroupConsumerActivation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { -"description": "Lists ServiceBinding in a given project and location.", +"description": "Lists multicast group consumer activations in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastGroupConsumerActivations", +"httpMethod": "GET", +"id": "networkservices.projects.locations.multicastGroupConsumerActivations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Optional. A filter expression that filters the resources listed in the response. The expression must be of the form ` ` where operators: `<`, `>`, `<=`, `>=`, `!=`, `=`, `:` are supported (colon `:` represents a HAS operator which is roughly synonymous with equality). can refer to a proto or JSON field, or a synthetic field. Field names can be camelCase or snake_case. Examples: * Filter by name: name = \"RESOURCE_NAME\" * Filter by labels: * Resources that have a key named `foo` labels.foo:* * Resources that have a key named `foo` whose value is `bar` labels.foo = bar", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Optional. A field used to sort the results by a certain order.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "Optional. The maximum number of multicast group consumer activations to return per call.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Optional. A page token from an earlier query, as returned in `next_page_token`.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent resource for which to list multicast group consumer activations. Use the following format: `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/multicastGroupConsumerActivations", +"response": { +"$ref": "ListMulticastGroupConsumerActivationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Updates the parameters of a single multicast group consumer activation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/multicastGroupConsumerActivations/{multicastGroupConsumerActivationsId}", +"httpMethod": "PATCH", +"id": "networkservices.projects.locations.multicastGroupConsumerActivations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/multicastGroupConsumerActivations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the MulticastGroupConsumerActivation resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all mutable fields present in the request will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}", +"request": { +"$ref": "MulticastGroupConsumerActivation" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"operations": { +"methods": { +"cancel": { +"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", +"httpMethod": "POST", +"id": "networkservices.projects.locations.operations.cancel", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be cancelled.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:cancel", +"request": { +"$ref": "CancelOperationRequest" +}, +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "DELETE", +"id": "networkservices.projects.locations.operations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource to be deleted.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", +"httpMethod": "GET", +"id": "networkservices.projects.locations.operations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "The name of the operation resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", +"httpMethod": "GET", +"id": "networkservices.projects.locations.operations.list", +"parameterOrder": [ +"name" +], +"parameters": { +"filter": { +"description": "The standard list filter.", +"location": "query", +"type": "string" +}, +"name": { +"description": "The name of the operation's parent resource.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"pageSize": { +"description": "The standard list page size.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The standard list page token.", +"location": "query", +"type": "string" +}, +"returnPartialSuccess": { +"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}/operations", +"response": { +"$ref": "ListOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"serviceBindings": { +"methods": { +"create": { +"description": "Creates a new ServiceBinding in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings", +"httpMethod": "POST", +"id": "networkservices.projects.locations.serviceBindings.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent resource of the ServiceBinding. Must be in the format `projects/*/locations/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"serviceBindingId": { +"description": "Required. Short name of the ServiceBinding resource to be created.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+parent}/serviceBindings", +"request": { +"$ref": "ServiceBinding" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Deletes a single ServiceBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", +"httpMethod": "DELETE", +"id": "networkservices.projects.locations.serviceBindings.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A name of the ServiceBinding to delete. Must be in the format `projects/*/locations/*/serviceBindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of a single ServiceBinding.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings/{serviceBindingsId}", +"httpMethod": "GET", +"id": "networkservices.projects.locations.serviceBindings.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A name of the ServiceBinding to get. Must be in the format `projects/*/locations/*/serviceBindings/*`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/serviceBindings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "ServiceBinding" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists ServiceBinding in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceBindings", "httpMethod": "GET", "id": "networkservices.projects.locations.serviceBindings.list", @@ -3123,87 +3654,269 @@ "type": "string" } }, -"path": "v1/{+name}", -"response": { -"$ref": "Operation" -}, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"path": "v1/{+name}", +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Gets details of the specified `WasmPluginVersion` resource.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", +"httpMethod": "GET", +"id": "networkservices.projects.locations.wasmPlugins.versions.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "WasmPluginVersion" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Lists `WasmPluginVersion` resources in a given project and location.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", +"httpMethod": "GET", +"id": "networkservices.projects.locations.wasmPlugins.versions.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"pageSize": { +"description": "Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/versions", +"response": { +"$ref": "ListWasmPluginVersionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +} +} +} +} +} +} +} +}, +"revision": "20260527", +"rootUrl": "https://networkservices.googleapis.com/", +"schemas": { +"AgentGateway": { +"description": "AgentGateway represents the agent gateway resource.", +"id": "AgentGateway", +"properties": { +"agentGatewayCard": { +"$ref": "AgentGatewayAgentGatewayOutputCard", +"description": "Output only. Field for populated AgentGateway card.", +"readOnly": true +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. A free-text description of the resource. Max length 1024 characters.", +"type": "string" +}, +"etag": { +"description": "Optional. Etag of the resource. If this is provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.", +"type": "string" +}, +"googleManaged": { +"$ref": "AgentGatewayGoogleManaged", +"description": "Optional. Proxy is orchestrated and managed by GoogleCloud in a tenant project." +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Set of label tags associated with the AgentGateway resource.", +"type": "object" +}, +"name": { +"description": "Identifier. Name of the AgentGateway resource. It matches pattern `projects/*/locations/*/agentGateways/`.", +"type": "string" +}, +"networkConfig": { +"$ref": "AgentGatewayNetworkConfig", +"description": "Optional. Network configuration for the AgentGateway." +}, +"protocols": { +"description": "Required. List of protocols supported by an Agent Gateway", +"items": { +"enum": [ +"PROTOCOL_UNSPECIFIED", +"MCP" +], +"enumDescriptions": [ +"Unspecified protocol.", +"Message Control Plane protocol." +], +"type": "string" +}, +"type": "array" +}, +"registries": { +"description": "Optional. A list of Agent registries containing the agents, MCP servers and tools governed by the Agent Gateway. Note: Currently limited to project-scoped registries Must be of format `//agentregistry.googleapis.com/projects/{project}/locations/{location}/", +"items": { +"type": "string" +}, +"type": "array" +}, +"selfManaged": { +"$ref": "AgentGatewaySelfManaged", +"description": "Optional. Attach to existing Application Load Balancers or Secure Web Proxies." +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"AgentGatewayAgentGatewayOutputCard": { +"description": "AgentGatewayOutputCard contains informational output-only fields", +"id": "AgentGatewayAgentGatewayOutputCard", +"properties": { +"mtlsEndpoint": { +"description": "Output only. mTLS Endpoint associated with this AgentGateway", +"readOnly": true, +"type": "string" +}, +"rootCertificates": { +"description": "Output only. Root Certificates for Agents to validate this AgentGateway", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"serviceExtensionsServiceAccount": { +"description": "Output only. Service Account used by Service Extensions to operate.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" }, -"get": { -"description": "Gets details of the specified `WasmPluginVersion` resource.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", -"httpMethod": "GET", -"id": "networkservices.projects.locations.wasmPlugins.versions.get", -"parameterOrder": [ -"name" +"AgentGatewayGoogleManaged": { +"description": "Configuration for Google Managed deployment mode. Proxy is orchestrated and managed by GoogleCloud in a tenant project.", +"id": "AgentGatewayGoogleManaged", +"properties": { +"governedAccessPath": { +"description": "Optional. Operating Mode of Agent Gateway.", +"enum": [ +"GOVERNED_ACCESS_PATH_UNSPECIFIED", +"AGENT_TO_ANYWHERE", +"CLIENT_TO_AGENT" +], +"enumDescriptions": [ +"Governed access path is not specified.", +"Govern agent conections to destinations.", +"Protect connection to Agent or Tool." ], -"parameters": { -"name": { -"description": "Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", -"required": true, "type": "string" } }, -"path": "v1/{+name}", -"response": { -"$ref": "WasmPluginVersion" +"type": "object" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] +"AgentGatewayNetworkConfig": { +"description": "NetworkConfig contains network configurations for the AgentGateway.", +"id": "AgentGatewayNetworkConfig", +"properties": { +"dnsPeeringConfig": { +"$ref": "AgentGatewayNetworkConfigDnsPeeringConfig", +"description": "Optional. Optional DNS peering configuration for connectivity to your private VPC network." }, -"list": { -"description": "Lists `WasmPluginVersion` resources in a given project and location.", -"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", -"httpMethod": "GET", -"id": "networkservices.projects.locations.wasmPlugins.versions.list", -"parameterOrder": [ -"parent" -], -"parameters": { -"pageSize": { -"description": "Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", -"format": "int32", -"location": "query", -"type": "integer" +"egress": { +"$ref": "AgentGatewayNetworkConfigEgress", +"description": "Optional. Optional PSC-Interface network attachment for connectivity to your private VPCs network." +} }, -"pageToken": { -"description": "The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned.", -"location": "query", +"type": "object" +}, +"AgentGatewayNetworkConfigDnsPeeringConfig": { +"description": "DNS peering config for the user VPC network.", +"id": "AgentGatewayNetworkConfigDnsPeeringConfig", +"properties": { +"domains": { +"description": "Required. Domain names for which DNS queries should be forwarded to the target network.", +"items": { "type": "string" }, -"parent": { -"description": "Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", -"location": "path", -"pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", -"required": true, +"type": "array" +}, +"targetNetwork": { +"description": "Required. Target network in 'target project' to which DNS queries should be forwarded to. Must be in format of `projects/{project}/global/networks/{network}`.", +"type": "string" +}, +"targetProject": { +"description": "Required. Target project ID to which DNS queries should be forwarded to. This can be the same project that contains the AgentGateway or a different project.", "type": "string" } }, -"path": "v1/{+parent}/versions", -"response": { -"$ref": "ListWasmPluginVersionsResponse" +"type": "object" }, -"scopes": [ -"https://www.googleapis.com/auth/cloud-platform" -] -} -} -} -} -} -} -} +"AgentGatewayNetworkConfigEgress": { +"description": "Configuration for Egress", +"id": "AgentGatewayNetworkConfigEgress", +"properties": { +"networkAttachment": { +"description": "Optional. The URI of the Network Attachment resource.", +"type": "string" } +}, +"type": "object" +}, +"AgentGatewaySelfManaged": { +"description": "Configuration for Self Managed deployment mode. Attach to existing Application Load Balancers or Secure Web Proxies.", +"id": "AgentGatewaySelfManaged", +"properties": { +"resourceUri": { +"description": "Optional. A supported Google Cloud networking proxy in the Project and Location", +"type": "string" } }, -"revision": "20260424", -"rootUrl": "https://networkservices.googleapis.com/", -"schemas": { +"type": "object" +}, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -4907,6 +5620,31 @@ }, "type": "object" }, +"ListAgentGatewaysResponse": { +"description": "Response returned by the ListAgentGateways method.", +"id": "ListAgentGatewaysResponse", +"properties": { +"agentGateways": { +"description": "List of AgentGateway resources.", +"items": { +"$ref": "AgentGateway" +}, +"type": "array" +}, +"nextPageToken": { +"description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", +"type": "string" +}, +"unreachable": { +"description": "Unreachable resources. Populated when the request attempts to list all resources across all supported locations, while some locations are temporarily unavailable.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListAuthzExtensionsResponse": { "description": "Message for response to listing `AuthzExtension` resources.", "id": "ListAuthzExtensionsResponse", @@ -5200,6 +5938,56 @@ }, "type": "object" }, +"ListMulticastConsumerAssociationsResponse": { +"description": "Response message for ListMulticastConsumerAssociations.", +"id": "ListMulticastConsumerAssociationsResponse", +"properties": { +"multicastConsumerAssociations": { +"description": "The list of multicast consumer associations.", +"items": { +"$ref": "MulticastConsumerAssociation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token from an earlier query, as returned in `next_page_token`.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListMulticastGroupConsumerActivationsResponse": { +"description": "Response message for ListMulticastGroupConsumerActivations.", +"id": "ListMulticastGroupConsumerActivationsResponse", +"properties": { +"multicastGroupConsumerActivations": { +"description": "The list of multicast group consumer activations.", +"items": { +"$ref": "MulticastGroupConsumerActivation" +}, +"type": "array" +}, +"nextPageToken": { +"description": "A page token from an earlier query, as returned in `next_page_token`.", +"type": "string" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -5535,6 +6323,200 @@ }, "type": "object" }, +"MulticastConsumerAssociation": { +"description": "Multicast consumer association resource.", +"id": "MulticastConsumerAssociation", +"properties": { +"createTime": { +"description": "Output only. [Output only] The timestamp when the multicast consumer association was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. An optional text description of the multicast consumer association.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key-value pairs", +"type": "object" +}, +"multicastDomainActivation": { +"description": "Optional. The resource name of the multicast domain activation that is in the same zone as this multicast consumer association. Use the following format: `projects/*/locations/*/multicastDomainActivations/*`.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the multicast consumer association. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.", +"type": "string" +}, +"network": { +"description": "Required. The resource name of the multicast consumer VPC network. Use following format: `projects/{project}/locations/global/networks/{network}`.", +"type": "string" +}, +"placementPolicy": { +"description": "Output only. [Output only] A Compute Engine (placement policy)[https://cloud.google.com/compute/docs/instances/placement-policies-overview] that can be used to place virtual machine (VM) instances as multicast consumers close to the multicast infrastructure created for this domain, on a best effort basis.", +"readOnly": true, +"type": "string" +}, +"resourceState": { +"deprecated": true, +"description": "Output only. [Deprecated] The resource state of the multicast consumer association. Use the state field instead.", +"enum": [ +"CONSUMER_RESOURCE_STATE_UNSPECIFIED", +"ACTIVE", +"OBSOLETE" +], +"enumDescriptions": [ +"The consumer resource state is not specified.", +"The consumer resource state is active.", +"The associated admin resource has been deleted. The consumer resource state becomes obsolete." +], +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "MulticastResourceState", +"description": "Output only. [Output only] The state of the resource.", +"readOnly": true +}, +"uniqueId": { +"description": "Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast consumer association resources. If a consumer association is deleted and another with the same name is created, the new consumer association is assigned a different unique_id.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] The timestamp when the Multicast Consumer Association was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MulticastGroupConsumerActivation": { +"description": "Multicast group consumer activation resource.", +"id": "MulticastGroupConsumerActivation", +"properties": { +"createTime": { +"description": "Output only. [Output only] The timestamp when the multicast group consumer activation was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Optional. An optional text description of the multicast group consumer activation.", +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Labels as key-value pairs", +"type": "object" +}, +"logConfig": { +"$ref": "MulticastLogConfig", +"description": "Optional. Specifies the logging options for the activities performed related to the multicast group consumer activation. Defaults to false. If logging is enabled, logs are exported to Cloud Logging." +}, +"multicastConsumerAssociation": { +"description": "Required. The resource name of the multicast consumer association that is in the same zone as this multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastConsumerAssociations/*`.", +"type": "string" +}, +"multicastGroup": { +"deprecated": true, +"description": "Optional. The resource name of the multicast group created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroups/*`. This field is deprecated. Use multicast_group_range_activation instead.", +"type": "string" +}, +"multicastGroupRangeActivation": { +"description": "Required. The resource name of the multicast group range activation created by the admin in the same zone as this multicast group consumer activation. Use the following format: // `projects/*/locations/*/multicastGroupRangeActivations/*`.", +"type": "string" +}, +"name": { +"description": "Identifier. The resource name of the multicast group consumer activation. Use the following format: `projects/*/locations/*/multicastGroupConsumerActivations/*`.", +"type": "string" +}, +"resourceState": { +"deprecated": true, +"description": "Output only. [Deprecated] The resource state of the multicast group consumer activation. Use the state field instead.", +"enum": [ +"CONSUMER_RESOURCE_STATE_UNSPECIFIED", +"ACTIVE", +"OBSOLETE" +], +"enumDescriptions": [ +"The consumer resource state is not specified.", +"The consumer resource state is active.", +"The associated admin resource has been deleted. The consumer resource state becomes obsolete." +], +"readOnly": true, +"type": "string" +}, +"state": { +"$ref": "MulticastResourceState", +"description": "Output only. [Output only] The state of the resource.", +"readOnly": true +}, +"uniqueId": { +"description": "Output only. [Output only] The Google-generated UUID for the resource. This value is unique across all multicast group consumer activation resources. If a group consumer activation is deleted and another with the same name is created, the new group consumer activation is assigned a different unique_id.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. [Output only] The timestamp when the multicast group consumer activation was most recently updated.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"MulticastLogConfig": { +"description": "The logging configuration.", +"id": "MulticastLogConfig", +"properties": { +"enabled": { +"description": "Optional. Whether to enable logging or not.", +"type": "boolean" +} +}, +"type": "object" +}, +"MulticastResourceState": { +"description": "The multicast resource's state.", +"id": "MulticastResourceState", +"properties": { +"state": { +"description": "Optional. The state of the multicast resource.", +"enum": [ +"STATE_ENUM_UNSPECIFIED", +"CREATING", +"ACTIVE", +"DELETING", +"DELETE_FAILED", +"UPDATING", +"UPDATE_FAILED", +"INACTIVE", +"OBSOLETE" +], +"enumDescriptions": [ +"The resource is in unspecified state.", +"The resource is being created.", +"The resource is in a normal state and ready to use.", +"The resource is being deleted.", +"The resource is failed to be deleted.", +"The resource is being updated.", +"The resource is failed to be updated.", +"The multicast consumer resource that is deactivated by the multicast administrator based on permission.", +"The multicast consumer resource that is obsoleted due to multicast admin setup teardown." +], +"type": "string" +} +}, +"type": "object" +}, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", diff --git a/googleapiclient/discovery_cache/documents/notebooks.v1.json b/googleapiclient/discovery_cache/documents/notebooks.v1.json index 0011252103..48511322bc 100644 --- a/googleapiclient/discovery_cache/documents/notebooks.v1.json +++ b/googleapiclient/discovery_cache/documents/notebooks.v1.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -2019,7 +2019,7 @@ } } }, -"revision": "20260401", +"revision": "20260521", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/googleapiclient/discovery_cache/documents/notebooks.v2.json b/googleapiclient/discovery_cache/documents/notebooks.v2.json index 965d695607..57384594c6 100644 --- a/googleapiclient/discovery_cache/documents/notebooks.v2.json +++ b/googleapiclient/discovery_cache/documents/notebooks.v2.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "notebooks.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -971,7 +971,7 @@ } } }, -"revision": "20260401", +"revision": "20260528", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1000,7 +1000,8 @@ "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", -"NVIDIA_B200" +"NVIDIA_B200", +"NVIDIA_RTX6000" ], "enumDescriptions": [ "Accelerator type is not specified.", @@ -1017,7 +1018,8 @@ "Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P4 Virtual Workstations.", -"Accelerator type is NVIDIA B200." +"Accelerator type is NVIDIA B200.", +"NVIDIA RTX 6000." ], "type": "string" } @@ -1583,6 +1585,16 @@ "description": "ConfigImage represents an image release available to create a WbI", "id": "ImageRelease", "properties": { +"description": { +"description": "Output only. The description of the image.", +"readOnly": true, +"type": "string" +}, +"imageFamily": { +"description": "Output only. The image family of the image. (ex: workbench-instances or workbench-2603)", +"readOnly": true, +"type": "string" +}, "imageName": { "description": "Output only. The name of the image of the form workbench-instances-vYYYYmmdd--", "readOnly": true, @@ -2309,7 +2321,12 @@ "UpgradeInstanceRequest": { "description": "Request for upgrading a notebook instance", "id": "UpgradeInstanceRequest", -"properties": {}, +"properties": { +"imageFamily": { +"description": "Optional. The Compute Engine image family resource name to upgrade to. Format: `projects/{project_id}/global/images/family/{image_family}` If specified, the instance will be upgraded to the latest image in the specified image family, allowing upgrades across image families. If not specified, the instance will be upgraded to the latest image in its current image family.", +"type": "string" +} +}, "type": "object" }, "UpgradeInstanceSystemRequest": { diff --git a/googleapiclient/discovery_cache/documents/observability.v1.json b/googleapiclient/discovery_cache/documents/observability.v1.json index 057ab3d742..9b06b9a95f 100644 --- a/googleapiclient/discovery_cache/documents/observability.v1.json +++ b/googleapiclient/discovery_cache/documents/observability.v1.json @@ -1646,7 +1646,7 @@ } } }, -"revision": "20260423", +"revision": "20260528", "rootUrl": "https://observability.googleapis.com/", "schemas": { "Bucket": { diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json index 3d3c4a9178..54cfb5b88d 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json @@ -344,7 +344,7 @@ } } }, -"revision": "20260511", +"revision": "20260601", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -360,6 +360,16 @@ }, "maxSeverity": { "description": "Maximum severity found among findings.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity." +], "type": "string" }, "skillName": { @@ -1444,16 +1454,40 @@ "description": "Category of the finding.", "type": "string" }, +"details": { +"description": "Description of the finding category.", +"type": "string" +}, "location": { "$ref": "FindingLocation", "description": "Location (path and line) where the finding was detected." }, "scanner": { "description": "Scanner determines which engine (e.g. static, llm) emitted the finding.", +"enum": [ +"SCANNER_UNSPECIFIED", +"STATIC", +"LLM" +], +"enumDescriptions": [ +"Unspecified scanner.", +"Static scanner.", +"LLM scanner." +], "type": "string" }, "severity": { "description": "Severity of the finding.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity." +], "type": "string" } }, @@ -3408,6 +3442,10 @@ "$ref": "CVSS", "description": "The cvss v2 score for the vulnerability." }, +"cvssV4": { +"$ref": "CVSS", +"description": "The cvss v4 score for the vulnerability." +}, "cvssVersion": { "description": "Output only. CVSS version used to populate cvss_score and severity.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json index a6302786c0..d9401b52af 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json @@ -344,7 +344,7 @@ } } }, -"revision": "20260511", +"revision": "20260601", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -360,6 +360,16 @@ }, "maxSeverity": { "description": "Maximum severity found among findings.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity." +], "type": "string" }, "skillName": { @@ -1439,16 +1449,40 @@ "description": "Category of the finding.", "type": "string" }, +"details": { +"description": "Description of the finding category.", +"type": "string" +}, "location": { "$ref": "FindingLocation", "description": "Location (path and line) where the finding was detected." }, "scanner": { "description": "Scanner determines which engine (e.g. static, llm) emitted the finding.", +"enum": [ +"SCANNER_UNSPECIFIED", +"STATIC", +"LLM" +], +"enumDescriptions": [ +"Unspecified scanner.", +"Static scanner.", +"LLM scanner." +], "type": "string" }, "severity": { "description": "Severity of the finding.", +"enum": [ +"SEVERITY_UNSPECIFIED", +"CRITICAL", +"HIGH" +], +"enumDescriptions": [ +"Unspecified severity.", +"Critical severity.", +"High severity." +], "type": "string" } }, @@ -3403,6 +3437,10 @@ "$ref": "CVSS", "description": "The cvss v2 score for the vulnerability." }, +"cvssV4": { +"$ref": "CVSS", +"description": "The cvss v4 score for the vulnerability." +}, "cvssVersion": { "description": "Output only. CVSS version used to populate cvss_score and severity.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/oracledatabase.v1.json b/googleapiclient/discovery_cache/documents/oracledatabase.v1.json index 62b5051341..904c5e2d30 100644 --- a/googleapiclient/discovery_cache/documents/oracledatabase.v1.json +++ b/googleapiclient/discovery_cache/documents/oracledatabase.v1.json @@ -3297,7 +3297,7 @@ } } }, -"revision": "20260512", +"revision": "20260604", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -4982,15 +4982,13 @@ "type": "array" }, "scanListenerPortTcp": { -"description": "Output only. SCAN listener port - TCP", +"description": "Optional. SCAN listener port - TCP", "format": "int32", -"readOnly": true, "type": "integer" }, "scanListenerPortTcpSsl": { -"description": "Output only. SCAN listener port - TLS", +"description": "Optional. SCAN listener port - TLS", "format": "int32", -"readOnly": true, "type": "integer" }, "shape": { @@ -5940,7 +5938,7 @@ ], "enumDescriptions": [ "The storage management is unspecified.", -"Automatic storage management.", +"Automatic storage management. This option is not supported. Only LVM is supported.", "Logical Volume management." ], "type": "string" @@ -8467,7 +8465,7 @@ "id": "GoldengateGoogleBigQueryConnectionProperties", "properties": { "serviceAccountKeyFile": { -"description": "Optional. The service account key file Cloud Storage containing the credentials required to use Google BigQuery.", +"description": "Optional. The base64 encoded content of the service account key file containing the credentials required to use Google BigQuery.", "type": "string" }, "technologyType": { @@ -8482,7 +8480,7 @@ "id": "GoldengateGoogleCloudStorageConnectionProperties", "properties": { "serviceAccountKeyFile": { -"description": "Optional. The service account key Cloud Storage file containing the credentials required to use Google Cloud Storage.", +"description": "Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Cloud Storage.", "type": "string" }, "technologyType": { @@ -8497,7 +8495,7 @@ "id": "GoldengateGooglePubsubConnectionProperties", "properties": { "serviceAccountKeyFile": { -"description": "Optional. The content of the service account key file containing the credentials required to use Google Pub/Sub.", +"description": "Optional. The base64 encoded content of the service account key file containing the credentials required to use Google Pub/Sub.", "type": "string" }, "technologyType": { @@ -8615,7 +8613,7 @@ "type": "string" }, "keyStoreFile": { -"description": "Optional. The content of the KeyStore file.", +"description": "Optional. The base64 encoded content of the KeyStore file.", "type": "string" }, "keyStorePassword": { @@ -8663,7 +8661,7 @@ "type": "string" }, "trustStoreFile": { -"description": "Optional. The content of the TrustStore file.", +"description": "Optional. The base64 encoded content of the TrustStore file.", "type": "string" }, "trustStorePassword": { @@ -8701,11 +8699,11 @@ "type": "string" }, "consumerPropertiesFile": { -"description": "Optional. The content of the consumer.properties file.", +"description": "Optional. The base64 encoded content of the consumer.properties file.", "type": "string" }, "keyStoreFile": { -"description": "Optional. The content of the KeyStore file.", +"description": "Optional. The base64 encoded content of the KeyStore file.", "type": "string" }, "keyStorePassword": { @@ -8725,7 +8723,7 @@ "type": "string" }, "producerPropertiesFile": { -"description": "Optional. The content of the producer.properties file.", +"description": "Optional. The base64 encoded content of the producer.properties file.", "type": "string" }, "securityProtocol": { @@ -8763,7 +8761,7 @@ "type": "string" }, "trustStoreFile": { -"description": "Optional. The content of the TrustStore file.", +"description": "Optional. The base64 encoded content of the TrustStore file.", "type": "string" }, "trustStorePassword": { @@ -8806,7 +8804,7 @@ "type": "string" }, "keyStoreFile": { -"description": "Optional. The content of the KeyStore file.", +"description": "Optional. The base64 encoded content of the KeyStore file.", "type": "string" }, "keyStorePassword": { @@ -8838,7 +8836,7 @@ "type": "string" }, "trustStoreFile": { -"description": "Optional. The content of the TrustStore file.", +"description": "Optional. The base64 encoded content of the TrustStore file.", "type": "string" }, "trustStorePassword": { @@ -9005,7 +9003,7 @@ "type": "boolean" }, "sslCaFile": { -"description": "Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1-way SSL).", +"description": "Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1-way SSL).", "type": "string" }, "technologyType": { @@ -9060,11 +9058,11 @@ "type": "string" }, "tlsCaFile": { -"description": "Optional. Database Certificate - The content of a .pem file, containing the server public key (for 1 and 2-way SSL).", +"description": "Optional. Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL).", "type": "string" }, "tlsCertificateKeyFile": { -"description": "Optional. Client Certificate - The content of a .pem file, containing the client public key (for 2-way SSL).", +"description": "Optional. Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL).", "type": "string" }, "tlsCertificateKeyFilePassword": { @@ -9135,19 +9133,19 @@ "type": "string" }, "sslCaFile": { -"description": "Optional. Database Certificate - The content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL).", +"description": "Optional. Database Certificate - The base64 encoded content of a .pem or .crt file containing the server public key (for 1 and 2-way SSL).", "type": "string" }, "sslCertFile": { -"description": "Optional. Client Certificate - The content of a .pem or .crt file containing the client public key (for 2-way SSL).", +"description": "Optional. Client Certificate - The base64 encoded content of a .pem or .crt file containing the client public key (for 2-way SSL).", "type": "string" }, "sslCrlFile": { -"description": "Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA).", +"description": "Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA).", "type": "string" }, "sslKeyFile": { -"description": "Optional. Client Key - The content of a .pem or .crt file containing the client private key (for 2-way SSL).", +"description": "Optional. Client Key - The base64 encoded content of a .pem or .crt file containing the client private key (for 2-way SSL).", "type": "string" }, "sslMode": { @@ -9348,7 +9346,7 @@ "type": "string" }, "gcpOracleDatabaseId": { -"description": "Optional. Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty.", +"description": "Optional. Autonomous AI Database instance id of database in Oracle Database @ Google Cloud. If gcp_oracle_database_id is provided, connection_string must be empty. Format: projects/{project}/locations/{location}/autonomousDatabases/{autonomous_database}", "type": "string" }, "password": { @@ -9382,7 +9380,7 @@ "type": "string" }, "walletFile": { -"description": "Optional. The wallet contents Oracle Goldengate uses to make connections to a database.", +"description": "Optional. The wallet contents Oracle Goldengate uses to make connections to a database. This attribute is expected to be base64 encoded.", "type": "string" } }, @@ -9497,19 +9495,19 @@ "type": "string" }, "sslCaFile": { -"description": "Optional. The certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL.", +"description": "Optional. The base64 encoded certificate of the trusted certificate authorities (Trusted CA) for PostgreSQL.", "type": "string" }, "sslCertFile": { -"description": "Optional. The certificate of the PostgreSQL server.", +"description": "Optional. The base64 encoded certificate of the PostgreSQL server.", "type": "string" }, "sslCrlFile": { -"description": "Optional. The list of certificates revoked by the trusted certificate authorities (Trusted CA).", +"description": "Optional. The base64 encoded list of certificates revoked by the trusted certificate authorities (Trusted CA).", "type": "string" }, "sslKeyFile": { -"description": "Optional. The private key of the PostgreSQL server.", +"description": "Optional. The base64 encoded private key of the PostgreSQL server.", "type": "string" }, "sslMode": { @@ -9560,7 +9558,7 @@ "type": "string" }, "keyStoreFile": { -"description": "Optional. The content of the KeyStore file.", +"description": "Optional. The base64 encoded content of the KeyStore file.", "type": "string" }, "keyStorePassword": { @@ -9608,7 +9606,7 @@ "type": "string" }, "trustStoreFile": { -"description": "Optional. The content of the TrustStore file.", +"description": "Optional. The base64 encoded content of the TrustStore file.", "type": "string" }, "trustStorePassword": { @@ -9688,7 +9686,7 @@ "type": "string" }, "serviceAccountKeyFile": { -"description": "Optional. The service account key file of Google Cloud Storage.", +"description": "Optional. The base64 encoded content of the service account key file of Google Cloud Storage.", "type": "string" } }, @@ -11188,7 +11186,7 @@ "id": "RestIcebergCatalog", "properties": { "properties": { -"description": "Optional. The content of the configuration file containing additional properties for the REST catalog.", +"description": "Optional. The base64 encoded content of the configuration file containing additional properties for the REST catalog.", "type": "string" }, "uri": { diff --git a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json index f11db211e4..a960974190 100644 --- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json +++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json @@ -586,7 +586,7 @@ } } }, -"revision": "20260430", +"revision": "20260604", "rootUrl": "https://paymentsresellersubscription.googleapis.com/", "schemas": { "Amount": { @@ -1436,13 +1436,15 @@ "PROCESSING_STATE_UNSPECIFIED", "PROCESSING_STATE_CANCELLING", "PROCESSING_STATE_RECURRING", -"PROCESSING_STATE_RESUMING" +"PROCESSING_STATE_RESUMING", +"PROCESSING_STATE_SUSPENDING" ], "enumDescriptions": [ "The processing state is unspecified.", "The subscription is being cancelled.", "The subscription is recurring.", -"The subscription is being resumed." +"The subscription is being resumed.", +"The subscription is being suspended." ], "readOnly": true, "type": "string" diff --git a/googleapiclient/discovery_cache/documents/places.v1.json b/googleapiclient/discovery_cache/documents/places.v1.json index 7e0d91e579..0b256906e8 100644 --- a/googleapiclient/discovery_cache/documents/places.v1.json +++ b/googleapiclient/discovery_cache/documents/places.v1.json @@ -280,7 +280,7 @@ } } }, -"revision": "20260323", +"revision": "20260601", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -691,11 +691,11 @@ "type": "object" }, "GoogleMapsPlacesV1ContextualContent": { -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Content that is contextual to the place query.", +"description": "Content that is contextual to the place query.", "id": "GoogleMapsPlacesV1ContextualContent", "properties": { "justifications": { -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Justifications for the place.", +"description": "Justifications for the place.", "items": { "$ref": "GoogleMapsPlacesV1ContextualContentJustification" }, @@ -719,22 +719,20 @@ "type": "object" }, "GoogleMapsPlacesV1ContextualContentJustification": { -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Justifications for the place. Justifications answers the question of why a place could interest an end user.", +"description": "Justifications for the place. Justifications answers the question of why a place could interest an end user.", "id": "GoogleMapsPlacesV1ContextualContentJustification", "properties": { "businessAvailabilityAttributesJustification": { -"$ref": "GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification", -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details." +"$ref": "GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification" }, "reviewJustification": { -"$ref": "GoogleMapsPlacesV1ContextualContentJustificationReviewJustification", -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details." +"$ref": "GoogleMapsPlacesV1ContextualContentJustificationReviewJustification" } }, "type": "object" }, "GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification": { -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. BusinessAvailabilityAttributes justifications. This shows some attributes a business has that could interest an end user.", +"description": "BusinessAvailabilityAttributes justifications. This shows some attributes a business has that could interest an end user.", "id": "GoogleMapsPlacesV1ContextualContentJustificationBusinessAvailabilityAttributesJustification", "properties": { "delivery": { @@ -753,7 +751,7 @@ "type": "object" }, "GoogleMapsPlacesV1ContextualContentJustificationReviewJustification": { -"description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. User review justifications. This highlights a section of the user review that would interest an end user. For instance, if the search query is \"firewood pizza\", the review justification highlights the text relevant to the search query.", +"description": "User review justifications. This highlights a section of the user review that would interest an end user. For instance, if the search query is \"firewood pizza\", the review justification highlights the text relevant to the search query.", "id": "GoogleMapsPlacesV1ContextualContentJustificationReviewJustification", "properties": { "highlightedText": { @@ -1079,7 +1077,7 @@ }, "currentOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", -"description": "The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours." +"description": "The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours." }, "currentSecondaryOpeningHours": { "description": "Contains an array of entries for the next seven days including information about secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. This field includes the special_days subfield of all hours, set for dates that have exceptional hours.", @@ -1270,7 +1268,7 @@ }, "regularOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", -"description": "The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`." +"description": "The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`." }, "regularSecondaryOpeningHours": { "description": "Contains an array of entries for information about regular secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place.", @@ -1357,6 +1355,10 @@ "$ref": "GoogleTypeTimeZone", "description": "IANA Time Zone Database time zone. For example \"America/New_York\"." }, +"transitStation": { +"$ref": "GoogleMapsPlacesV1TransitStation", +"description": "The transit station information for the place." +}, "types": { "description": "A set of type tags for this result. For example, \"political\" and \"locality\". For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types", "items": { @@ -2384,6 +2386,202 @@ }, "type": "object" }, +"GoogleMapsPlacesV1TransitAgency": { +"description": "Represents a transit agency.", +"id": "GoogleMapsPlacesV1TransitAgency", +"properties": { +"displayName": { +"$ref": "GoogleTypeLocalizedText", +"description": "Agency name (e.g. \"VTA\") in the requested language." +}, +"fareUrl": { +"description": "The URL of the agency's fare details page.", +"type": "string" +}, +"icon": { +"$ref": "GoogleMapsPlacesV1TransitIcon", +"description": "Icon identifier for localized branded icon of a transit system (e.g. London Underground) which should be used instead of TransitLine.vehicle_icon in the UI." +}, +"lines": { +"description": "The transit lines that are served by this agency.", +"items": { +"$ref": "GoogleMapsPlacesV1TransitLine" +}, +"type": "array" +}, +"url": { +"description": "The URL of the agency's homepage.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsPlacesV1TransitIcon": { +"description": "Icon for a transit line, vehicle, or agency.", +"id": "GoogleMapsPlacesV1TransitIcon", +"properties": { +"nameIncluded": { +"description": "Whether the name is contained in the icon and there is no need to display it next to the icon.", +"type": "boolean" +}, +"url": { +"description": "The URL of the icon.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsPlacesV1TransitLine": { +"description": "Represents a single transit line.", +"id": "GoogleMapsPlacesV1TransitLine", +"properties": { +"backgroundColor": { +"description": "The background color of the labels for this transit line in #RRGGBB hex format, e.g. #909CE1. This color can also be used for drawing shapes for this transit line.", +"type": "string" +}, +"displayName": { +"$ref": "GoogleTypeLocalizedText", +"description": "The long name for this transit line (e.g. \"Sunnydale local\")." +}, +"icon": { +"$ref": "GoogleMapsPlacesV1TransitIcon", +"description": "Icon identifier for this particular line (e.g. subway lines in New York)." +}, +"id": { +"description": "The id of the transit line that can be used to uniquely identify the line among other transit lines in the same transit station. This identifier is not guaranteed to be stable across different responses.", +"type": "string" +}, +"shortDisplayName": { +"$ref": "GoogleTypeLocalizedText", +"description": "The short name for this transit line (e.g. \"S2\")." +}, +"textColor": { +"description": "The text color of labels for this transit line in #RRGGBB hex format, e.g. #909CE1.", +"type": "string" +}, +"url": { +"description": "The URL of a webpage with details about this line.", +"type": "string" +}, +"vehicleIcon": { +"$ref": "GoogleMapsPlacesV1TransitIcon", +"description": "Icon identifier for this particular vehicle type." +}, +"vehicleType": { +"description": "The type of vehicle using this line.", +"enum": [ +"VEHICLE_TYPE_UNSPECIFIED", +"RAIL", +"METRO_RAIL", +"SUBWAY", +"TRAM", +"MONORAIL", +"HEAVY_RAIL", +"COMMUTER_TRAIN", +"HIGH_SPEED_TRAIN", +"LONG_DISTANCE_TRAIN", +"BUS", +"INTERCITY_BUS", +"TROLLEYBUS", +"SHARE_TAXI", +"COACH", +"FERRY", +"CABLE_CAR", +"GONDOLA_LIFT", +"FUNICULAR", +"SPECIAL", +"HORSE_CARRIAGE", +"AIRPLANE" +], +"enumDescriptions": [ +"Default value when vehicle type is not specified.", +"Rail.", +"Metro rail.", +"Subway.", +"Tram.", +"Monorail.", +"Heavy rail.", +"Commuter train.", +"High speed train.", +"Long distance train.", +"Bus.", +"Intercity bus.", +"Trolleybus.", +"Share taxi.", +"Coach.", +"Ferry.", +"Cable car.", +"Gondola lift.", +"Funicular.", +"Special.", +"Horse carriage.", +"Airplane." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleMapsPlacesV1TransitStation": { +"description": "Represents transit-specific information for a place.", +"id": "GoogleMapsPlacesV1TransitStation", +"properties": { +"agencies": { +"description": "The transit agencies that serve this station.", +"items": { +"$ref": "GoogleMapsPlacesV1TransitAgency" +}, +"type": "array" +}, +"displayName": { +"$ref": "GoogleTypeLocalizedText", +"description": "The name of the station in the local language." +}, +"stops": { +"description": "Transit stops at this station.", +"items": { +"$ref": "GoogleMapsPlacesV1TransitStop" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleMapsPlacesV1TransitStop": { +"description": "Represents a transit stop within a station. This is a specific location where passengers board and alight transit vehicles, such as a platform or bus bay. This is distinct from a `Departure`, which is an event of a vehicle leaving a stop at a specific time.", +"id": "GoogleMapsPlacesV1TransitStop", +"properties": { +"displayName": { +"$ref": "GoogleTypeLocalizedText", +"description": "The name of the stop." +}, +"id": { +"description": "The id of the transit stop that can be used to uniquely identify the stop among other transit stops in the same transit station. This identifier is not guaranteed to be stable across different responses.", +"type": "string" +}, +"location": { +"$ref": "GoogleTypeLatLng", +"description": "The stop's location." +}, +"platformCode": { +"$ref": "GoogleTypeLocalizedText", +"description": "The platform code represented by this stop. It can be formatted in any way. (eg: \"2\", \"Platform 2\", \"2-4\", or \"1x\")." +}, +"signageText": { +"$ref": "GoogleTypeLocalizedText", +"description": "The verbatim text written on the signboard for this platform, e.g. \"Towards Central\" or \"East side & Brooklyn\". When `platform_code` is absent, this field is potentially the only identifier for the platform; however, both `platform_code` and `signage_text` may be set simultaneously." +}, +"stopCode": { +"$ref": "GoogleTypeLocalizedText", +"description": "Human readable identifier of the stop, used by transit agencies to distinguish stops with the same name." +}, +"wheelchairAccessibleEntrance": { +"description": "Wheelchair accessibility of this stop. This field indicates whether there is an accessible path from outside the station to the stop. It does not indicate whether it is possible to board a vehicle from the stop.", +"type": "boolean" +} +}, +"type": "object" +}, "GoogleTypeDate": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "GoogleTypeDate", diff --git a/googleapiclient/discovery_cache/documents/privateca.v1.json b/googleapiclient/discovery_cache/documents/privateca.v1.json index aacf079b43..b718296e0d 100644 --- a/googleapiclient/discovery_cache/documents/privateca.v1.json +++ b/googleapiclient/discovery_cache/documents/privateca.v1.json @@ -1128,7 +1128,7 @@ "type": "string" }, "parent": { -"description": "Required. The resource name of the parent associated with the Certificates, in the format `projects/*/locations/*/caPools/*`. The parent resource name can be in one of two forms: 1. **Specific CA Pool:** To list certificates within a single CA Pool: `projects/*/locations/*/caPools/*` 2. **All CA Pools in a Location:** To list certificates across *all* CA Pools in a given project and location, use the wildcard character (`-`) in place of the CA Pool ID. Example: `projects/*/locations/*/caPools/-` See go/ccfe-nested-collections#aggregate-listing for more details.", +"description": "Required. The resource name of the parent associated with the Certificates, in the format `projects/*/locations/*/caPools/*`. The parent resource name can be in one of two forms: 1. **Specific CA Pool:** To list certificates within a single CA Pool: `projects/*/locations/*/caPools/*` 2. **All CA Pools in a Location:** To list certificates across *all* CA Pools in a given project and location, use the wildcard character (`-`) in place of the CA Pool ID. Example: `projects/*/locations/*/caPools/-`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", "required": true, @@ -1616,7 +1616,7 @@ } } }, -"revision": "20260430", +"revision": "20260529", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json index c2e6c01d65..4e44a387c1 100644 --- a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json +++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json @@ -786,7 +786,7 @@ } } }, -"revision": "20260505", +"revision": "20260517", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -833,13 +833,15 @@ "RISK_REASON_UNSPECIFIED", "CLIENT_HISTORICAL_BOT_ACTIVITY", "ACCOUNT_IN_LARGE_RELATED_GROUP", -"CLIENT_ACCESSED_MANY_ACCOUNTS" +"CLIENT_ACCESSED_MANY_ACCOUNTS", +"DISPOSABLE_EMAIL_DOMAIN" ], "enumDescriptions": [ "Default unspecified type.", "The client has been observed sending bot-like traffic to this site in the past. This reason incorporates historical reputation and indicates that the client is known to use bots, even if the current request is being made by a human.", "The account is part of a large group of related accounts, indicating that it may be part of a fraudulent network. Related accounts are identified based on having similar traffic patterns and request characteristics.", -"The client has been observed accessing many accounts on this site." +"The client has been observed accessing many accounts on this site.", +"This email domain is a suspected provider of disposable email addresses." ], "readOnly": true, "type": "string" diff --git a/googleapiclient/discovery_cache/documents/redis.v1.json b/googleapiclient/discovery_cache/documents/redis.v1.json index 79f7e8429f..d17fe1505c 100644 --- a/googleapiclient/discovery_cache/documents/redis.v1.json +++ b/googleapiclient/discovery_cache/documents/redis.v1.json @@ -1608,7 +1608,7 @@ } } }, -"revision": "20260423", +"revision": "20260526", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -3321,9 +3321,17 @@ false "type": "object" }, "DatabaseResourceMetadata": { -"description": "Common model for database resource instance metadata. Next ID: 32", +"description": "Common model for database resource instance metadata. Next ID: 35", "id": "DatabaseResourceMetadata", "properties": { +"additionalMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Field to ingest additional metadata whichd does not support proto format.", +"type": "object" +}, "availabilityConfiguration": { "$ref": "AvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -3477,6 +3485,18 @@ false ], "type": "string" }, +"internalAdditionalMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Field to ingest additional metadata which support proto format.", +"type": "object" +}, +"ipAddress": { +"$ref": "IpAddress", +"description": "Optional. Private and public IP address of the resource." +}, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -4703,6 +4723,21 @@ false }, "type": "object" }, +"IpAddress": { +"description": "Used to send IP address information for a database resource.", +"id": "IpAddress", +"properties": { +"privateIp": { +"description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", +"type": "string" +}, +"publicIp": { +"description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", +"type": "string" +} +}, +"type": "object" +}, "ListAclPoliciesResponse": { "description": "Response for `ListAclPolicies`.", "id": "ListAclPoliciesResponse", @@ -5373,6 +5408,7 @@ false "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", +"ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -5399,6 +5435,7 @@ false, false, false, false, +false, false ], "enumDescriptions": [ @@ -5415,6 +5452,7 @@ false "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", +"Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", @@ -5909,6 +5947,13 @@ false "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" }, +"nextAvailableMaintenanceVersions": { +"description": "Optional. List of next available maintenance versions.", +"items": { +"type": "string" +}, +"type": "array" +}, "upcomingMaintenance": { "$ref": "UpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." diff --git a/googleapiclient/discovery_cache/documents/redis.v1beta1.json b/googleapiclient/discovery_cache/documents/redis.v1beta1.json index 8f221cddbc..69f3bee766 100644 --- a/googleapiclient/discovery_cache/documents/redis.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/redis.v1beta1.json @@ -1604,7 +1604,7 @@ } } }, -"revision": "20260423", +"revision": "20260526", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -3317,9 +3317,17 @@ false "type": "object" }, "DatabaseResourceMetadata": { -"description": "Common model for database resource instance metadata. Next ID: 32", +"description": "Common model for database resource instance metadata. Next ID: 35", "id": "DatabaseResourceMetadata", "properties": { +"additionalMetadata": { +"additionalProperties": { +"description": "Properties of the object.", +"type": "any" +}, +"description": "Field to ingest additional metadata whichd does not support proto format.", +"type": "object" +}, "availabilityConfiguration": { "$ref": "AvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -3473,6 +3481,18 @@ false ], "type": "string" }, +"internalAdditionalMetadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "Field to ingest additional metadata which support proto format.", +"type": "object" +}, +"ipAddress": { +"$ref": "IpAddress", +"description": "Optional. Private and public IP address of the resource." +}, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -4706,6 +4726,21 @@ false }, "type": "object" }, +"IpAddress": { +"description": "Used to send IP address information for a database resource.", +"id": "IpAddress", +"properties": { +"privateIp": { +"description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", +"type": "string" +}, +"publicIp": { +"description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", +"type": "string" +} +}, +"type": "object" +}, "ListAclPoliciesResponse": { "description": "Response for `ListAclPolicies`.", "id": "ListAclPoliciesResponse", @@ -5376,6 +5411,7 @@ false "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", +"ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -5402,6 +5438,7 @@ false, false, false, false, +false, false ], "enumDescriptions": [ @@ -5418,6 +5455,7 @@ false "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", +"Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", @@ -5912,6 +5950,13 @@ false "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" }, +"nextAvailableMaintenanceVersions": { +"description": "Optional. List of next available maintenance versions.", +"items": { +"type": "string" +}, +"type": "array" +}, "upcomingMaintenance": { "$ref": "UpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json index 07db05cef4..9652db3754 100644 --- a/googleapiclient/discovery_cache/documents/run.v1.json +++ b/googleapiclient/discovery_cache/documents/run.v1.json @@ -3612,7 +3612,7 @@ } } }, -"revision": "20260512", +"revision": "20260529", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -6298,13 +6298,12 @@ false "description": "Optional. The Node Selector configuration. Map of selector key to a value which matches a node.", "type": "object" }, -"serviceAccountName": { -"description": "Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account.", +"restartPolicy": { +"description": "Optional. Restart policy for the Instance. Allowable values are 'Always', 'OnFailure', or 'Never'.", "type": "string" }, -"timeout": { -"description": "Optional. Duration the instance may be active before the system will shut it down.", -"format": "google-duration", +"serviceAccountName": { +"description": "Optional. Email address of the IAM service account associated with the Instance. The service account represents the identity of the running container, and determines what permissions the Instance has. If not provided, the Instance will use the project's default service account.", "type": "string" }, "volumes": { diff --git a/googleapiclient/discovery_cache/documents/run.v2.json b/googleapiclient/discovery_cache/documents/run.v2.json index b6bb96fd25..dcb886e56a 100644 --- a/googleapiclient/discovery_cache/documents/run.v2.json +++ b/googleapiclient/discovery_cache/documents/run.v2.json @@ -2610,7 +2610,7 @@ } } }, -"revision": "20260512", +"revision": "20260529", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -3814,6 +3814,22 @@ "readOnly": true, "type": "boolean" }, +"restartPolicy": { +"description": "Optional. Restart policy for the Instance.", +"enum": [ +"RESTART_POLICY_UNSPECIFIED", +"ALWAYS", +"ON_FAILURE", +"NEVER" +], +"enumDescriptions": [ +"Unspecified restart policy.", +"Always restart the instance.", +"Restart if the instance terminates with non-zero exit code.", +"Never restart the instance." +], +"type": "string" +}, "satisfiesPzs": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -3827,11 +3843,6 @@ "description": "Output only. The Condition of this Instance, containing its readiness status, and detailed error information in case it did not reach a serving state. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.", "readOnly": true }, -"timeout": { -"description": "Optional. Duration the instance may be active before the system will shut it down.", -"format": "google-duration", -"type": "string" -}, "uid": { "description": "Output only. Server assigned unique identifier for the trigger. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", "readOnly": true, diff --git a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json index 8b2cec0a27..a2c18d8979 100644 --- a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json +++ b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1.json @@ -991,6 +991,164 @@ } } }, +"saasReleases": { +"methods": { +"create": { +"description": "Create a new saas release.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.saasReleases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the saas release.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"saasReleaseId": { +"description": "Required. The ID value for the new saas release.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/saasReleases", +"request": { +"$ref": "SaasRelease" +}, +"response": { +"$ref": "SaasRelease" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single saas release.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.saasReleases.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The etag known to the client for the expected state of the saas release.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single saas release.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.saasReleases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "SaasRelease" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of saas releases.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.saasReleases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of saas releases to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the saas releases.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/saasReleases", +"response": { +"$ref": "ListSaasReleasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "tenants": { "methods": { "create": { @@ -1193,6 +1351,322 @@ } } }, +"unitGroupOperations": { +"methods": { +"create": { +"description": "Create a new unit group operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the unit group operation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"unitGroupOperationId": { +"description": "Required. The ID value for the new unit group operation.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/unitGroupOperations", +"request": { +"$ref": "UnitGroupOperation" +}, +"response": { +"$ref": "UnitGroupOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single unit group operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single unit group operation.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "UnitGroupOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of unit group operations.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of unit group operations to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the unit group operation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/unitGroupOperations", +"response": { +"$ref": "ListUnitGroupOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"unitGroups": { +"methods": { +"create": { +"description": "Create a new unit group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.unitGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the unit group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"unitGroupId": { +"description": "Required. The ID value for the new unit group.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+parent}/unitGroups", +"request": { +"$ref": "UnitGroup" +}, +"response": { +"$ref": "UnitGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single unit group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.unitGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The etag known to the client for the expected state of the unit group.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single unit group.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}", +"response": { +"$ref": "UnitGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of unit groups.", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of unit groups to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the unit group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+parent}/unitGroups", +"response": { +"$ref": "ListUnitGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "unitKinds": { "methods": { "create": { @@ -1804,7 +2278,7 @@ } } }, -"revision": "20260505", +"revision": "20260526", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -1859,9 +2333,21 @@ }, "type": "object" }, -"Deprovision": { -"description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", -"id": "Deprovision", +"Deprovision": { +"description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", +"id": "Deprovision", +"properties": {}, +"type": "object" +}, +"DeprovisionUnitGroup": { +"description": "DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup.", +"id": "DeprovisionUnitGroup", +"properties": {}, +"type": "object" +}, +"DetachUnitGroup": { +"description": "DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup.", +"id": "DetachUnitGroup", "properties": {}, "type": "object" }, @@ -2041,6 +2527,31 @@ }, "type": "object" }, +"ListSaasReleasesResponse": { +"description": "The response structure for the ListSaasReleases method.", +"id": "ListSaasReleasesResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"saasReleases": { +"description": "The resulting saas releases.", +"items": { +"$ref": "SaasRelease" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListSaasResponse": { "description": "The response structure for the ListSaas method.", "id": "ListSaasResponse", @@ -2091,6 +2602,56 @@ }, "type": "object" }, +"ListUnitGroupOperationsResponse": { +"description": "The response structure for the ListUnitGroupOperations method.", +"id": "ListUnitGroupOperationsResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"unitGroupOperations": { +"description": "The resulting unit group operations.", +"items": { +"$ref": "UnitGroupOperation" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUnitGroupsResponse": { +"description": "The response structure for the ListUnitGroups method.", +"id": "ListUnitGroupsResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"unitGroups": { +"description": "The resulting unit groups.", +"items": { +"$ref": "UnitGroup" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListUnitKindsResponse": { "description": "The response structure for the ListUnitKinds method.", "id": "ListUnitKindsResponse", @@ -2207,6 +2768,12 @@ }, "type": "object" }, +"ProvisionUnitGroup": { +"description": "ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup.", +"id": "ProvisionUnitGroup", +"properties": {}, +"type": "object" +}, "Release": { "description": "A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry.", "id": "Release", @@ -2642,33 +3209,18 @@ "type": "string" }, "state": { -"description": "Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty.", +"description": "Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty.", "enum": [ "STATE_TYPE_UNSPECIFIED", "STATE_ACTIVE", "STATE_RUNNING", -"STATE_FAILED", -"ACTIVE", -"RUNNING", -"FAILED" -], -"enumDeprecated": [ -false, -false, -false, -false, -true, -true, -true +"STATE_FAILED" ], "enumDescriptions": [ "State type is unspecified.", "The Saas is ready", "In the process of importing, synchronizing or replicating ApplicationTemplates", -"Failure during process of importing, synchronizing or replicating ApplicationTemplate processing", -"Deprecated: Use STATE_ACTIVE.", -"Deprecated: Use STATE_RUNNING.", -"Deprecated: Use STATE_FAILED." +"Failure during process of importing, synchronizing or replicating ApplicationTemplate processing" ], "readOnly": true, "type": "string" @@ -2737,6 +3289,67 @@ true }, "type": "object" }, +"SaasRelease": { +"description": "SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.", +"id": "SaasRelease", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", +"type": "string" +}, +"releases": { +"description": "Required. The Releases that are assigned to this SaasRelease.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tierMappings": { +"description": "Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.", +"items": { +"$ref": "TierMapping" +}, +"type": "array" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "Schedule": { "description": "A time specification to schedule the maintenance.", "id": "Schedule", @@ -2831,6 +3444,42 @@ true }, "type": "object" }, +"TierMapping": { +"description": "TierMapping describes the mapping between a Tier and its associated UnitKinds.", +"id": "TierMapping", +"properties": { +"tier": { +"description": "Required. The tier.", +"type": "string" +}, +"unitKinds": { +"items": { +"$ref": "TierUnitKind" +}, +"type": "array" +} +}, +"type": "object" +}, +"TierUnitKind": { +"description": "A description of a single Unit Kind that is part of a Tier.", +"id": "TierUnitKind", +"properties": { +"inputVariables": { +"description": "Optional. Output only. Input variables for the UnitKind.", +"items": { +"$ref": "UnitVariable" +}, +"readOnly": true, +"type": "array" +}, +"unitKind": { +"description": "Required. Immutable. The unique identifier of the UnitKind.", +"type": "string" +} +}, +"type": "object" +}, "ToMapping": { "description": "Input variables whose values will be passed on to dependencies", "id": "ToMapping", @@ -3043,6 +3692,11 @@ true "readOnly": true, "type": "string" }, +"unitGroup": { +"description": "Optional. Output only. Reference to the UnitGroup this unit belongs to.", +"readOnly": true, +"type": "string" +}, "unitKind": { "description": "Optional. Reference to the UnitKind this Unit belongs to. Immutable once set.", "type": "string" @@ -3129,6 +3783,147 @@ true }, "type": "object" }, +"UnitGroup": { +"description": "UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.", +"id": "UnitGroup", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", +"type": "string" +}, +"saas": { +"description": "Required. Immutable. The SaaS that this UnitGroup is created for.", +"type": "string" +}, +"saasRelease": { +"description": "Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.", +"type": "string" +}, +"state": { +"description": "Optional. Output only. State of the UnitGroup.", +"enum": [ +"UNIT_GROUP_STATE_UNSPECIFIED", +"UNIT_GROUP_STATE_NOT_PROVISIONED", +"UNIT_GROUP_STATE_PROVISIONING", +"UNIT_GROUP_STATE_UPDATING", +"UNIT_GROUP_STATE_DEPROVISIONING", +"UNIT_GROUP_STATE_READY", +"UNIT_GROUP_STATE_ERROR" +], +"enumDescriptions": [ +"Unspecified state.", +"UnitGroup is not provisioned.", +"UnitGroup is being provisioned.", +"UnitGroup is being updated.", +"UnitGroup is being deprovisioned.", +"UnitGroup has been provisioned and is ready for use.", +"UnitGroup has an error." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"UnitGroupOperation": { +"description": "UnitGroupOperation represents an operation on a UnitGroup.", +"id": "UnitGroupOperation", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deprovisionUnitGroup": { +"$ref": "DeprovisionUnitGroup", +"description": "Optional. Represents a deprovision operation on a UnitGroup." +}, +"detachUnitGroup": { +"$ref": "DetachUnitGroup", +"description": "Optional. Represents a detach operation on a UnitGroup." +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", +"type": "string" +}, +"provisionUnitGroup": { +"$ref": "ProvisionUnitGroup", +"description": "Optional. Represents a provision operation on a UnitGroup." +}, +"tier": { +"description": "Optional. Tier represents the tier level of the UnitGroupOperation.", +"type": "string" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "UnitKind": { "description": "Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together.", "id": "UnitKind", @@ -3140,6 +3935,21 @@ true "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", "type": "object" }, +"boundaryType": { +"description": "Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents.", +"enum": [ +"BOUNDARY_TYPE_UNSPECIFIED", +"BOUNDARY_TYPE_TENANT_PROJECT", +"BOUNDARY_TYPE_MANAGED_PROJECT" +], +"enumDescriptions": [ +"", +"Tenant project boundary.", +"" +], +"readOnly": true, +"type": "string" +}, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", @@ -3300,7 +4110,8 @@ true "type": "string" }, "provision": { -"$ref": "Provision" +"$ref": "Provision", +"description": "Optional. Provision operation." }, "rollout": { "description": "Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.", diff --git a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json index f5ed8cef8e..70b5590a53 100644 --- a/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/saasservicemgmt.v1beta1.json @@ -1799,6 +1799,208 @@ } } }, +"saasReleases": { +"methods": { +"create": { +"description": "Create a new saas release.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.saasReleases.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the saas release.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"saasReleaseId": { +"description": "Required. The ID value for the new saas release.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/saasReleases", +"request": { +"$ref": "SaasRelease" +}, +"response": { +"$ref": "SaasRelease" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single saas release.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.saasReleases.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The etag known to the client for the expected state of the saas release.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single saas release.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.saasReleases.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "SaasRelease" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of saas releases.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.saasReleases.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of saas releases to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the saas releases.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/saasReleases", +"response": { +"$ref": "ListSaasReleasesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a single saas release.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", +"httpMethod": "PATCH", +"id": "saasservicemgmt.projects.locations.saasReleases.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "SaasRelease" +}, +"response": { +"$ref": "SaasRelease" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "tenants": { "methods": { "create": { @@ -2001,6 +2203,410 @@ } } }, +"unitGroupOperations": { +"methods": { +"create": { +"description": "Create a new unit group operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the unit group operation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"unitGroupOperationId": { +"description": "Required. The ID value for the new unit group operation.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/unitGroupOperations", +"request": { +"$ref": "UnitGroupOperation" +}, +"response": { +"$ref": "UnitGroupOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single unit group operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single unit group operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "UnitGroupOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of unit group operations.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of unit group operations to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the unit group operation.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/unitGroupOperations", +"response": { +"$ref": "ListUnitGroupOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a single unit group operation.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", +"httpMethod": "PATCH", +"id": "saasservicemgmt.projects.locations.unitGroupOperations.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Optional. Field mask is used to specify the fields to be overwritten in the UnitGroupOperation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields in the UnitGroupOperation will be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "UnitGroupOperation" +}, +"response": { +"$ref": "UnitGroupOperation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, +"unitGroups": { +"methods": { +"create": { +"description": "Create a new unit group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups", +"httpMethod": "POST", +"id": "saasservicemgmt.projects.locations.unitGroups.create", +"parameterOrder": [ +"parent" +], +"parameters": { +"parent": { +"description": "Required. The parent of the unit group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"unitGroupId": { +"description": "Required. The ID value for the new unit group.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+parent}/unitGroups", +"request": { +"$ref": "UnitGroup" +}, +"response": { +"$ref": "UnitGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"delete": { +"description": "Delete a single unit group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", +"httpMethod": "DELETE", +"id": "saasservicemgmt.projects.locations.unitGroups.delete", +"parameterOrder": [ +"name" +], +"parameters": { +"etag": { +"description": "The etag known to the client for the expected state of the unit group.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"get": { +"description": "Retrieve a single unit group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroups.get", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the resource within a service.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+name}", +"response": { +"$ref": "UnitGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"list": { +"description": "Retrieve a collection of unit groups.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups", +"httpMethod": "GET", +"id": "saasservicemgmt.projects.locations.unitGroups.list", +"parameterOrder": [ +"parent" +], +"parameters": { +"filter": { +"description": "Filter the list as specified in https://google.aip.dev/160.", +"location": "query", +"type": "string" +}, +"orderBy": { +"description": "Order results as specified in https://google.aip.dev/132.", +"location": "query", +"type": "string" +}, +"pageSize": { +"description": "The maximum number of unit groups to send per page.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", +"location": "query", +"type": "string" +}, +"parent": { +"description": "Required. The parent of the unit group.", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1beta1/{+parent}/unitGroups", +"response": { +"$ref": "ListUnitGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, +"patch": { +"description": "Update a single unit group.", +"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", +"httpMethod": "PATCH", +"id": "saasservicemgmt.projects.locations.unitGroups.patch", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", +"required": true, +"type": "string" +}, +"requestId": { +"description": "An optional request ID to identify requests.", +"location": "query", +"type": "string" +}, +"updateMask": { +"description": "Field mask is used to specify the fields to be overwritten.", +"format": "google-fieldmask", +"location": "query", +"type": "string" +}, +"validateOnly": { +"description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", +"location": "query", +"type": "boolean" +} +}, +"path": "v1beta1/{+name}", +"request": { +"$ref": "UnitGroup" +}, +"response": { +"$ref": "UnitGroup" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +} +} +}, "unitKinds": { "methods": { "create": { @@ -2612,7 +3218,7 @@ } } }, -"revision": "20260505", +"revision": "20260526", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -2763,9 +3369,21 @@ }, "type": "object" }, -"Deprovision": { -"description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", -"id": "Deprovision", +"Deprovision": { +"description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", +"id": "Deprovision", +"properties": {}, +"type": "object" +}, +"DeprovisionUnitGroup": { +"description": "DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup.", +"id": "DeprovisionUnitGroup", +"properties": {}, +"type": "object" +}, +"DetachUnitGroup": { +"description": "DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup.", +"id": "DetachUnitGroup", "properties": {}, "type": "object" }, @@ -3566,6 +4184,31 @@ }, "type": "object" }, +"ListSaasReleasesResponse": { +"description": "The response structure for the ListSaasReleases method.", +"id": "ListSaasReleasesResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"saasReleases": { +"description": "The resulting saas releases.", +"items": { +"$ref": "SaasRelease" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListSaasResponse": { "description": "The response structure for the ListSaas method.", "id": "ListSaasResponse", @@ -3616,6 +4259,56 @@ }, "type": "object" }, +"ListUnitGroupOperationsResponse": { +"description": "The response structure for the ListUnitGroupOperations method.", +"id": "ListUnitGroupOperationsResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"unitGroupOperations": { +"description": "The resulting unit group operations.", +"items": { +"$ref": "UnitGroupOperation" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"ListUnitGroupsResponse": { +"description": "The response structure for the ListUnitGroups method.", +"id": "ListUnitGroupsResponse", +"properties": { +"nextPageToken": { +"description": "If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.", +"type": "string" +}, +"unitGroups": { +"description": "The resulting unit groups.", +"items": { +"$ref": "UnitGroup" +}, +"type": "array" +}, +"unreachable": { +"description": "Locations that could not be reached.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "ListUnitKindsResponse": { "description": "The response structure for the ListUnitKinds method.", "id": "ListUnitKindsResponse", @@ -3732,6 +4425,12 @@ }, "type": "object" }, +"ProvisionUnitGroup": { +"description": "ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup.", +"id": "ProvisionUnitGroup", +"properties": {}, +"type": "object" +}, "Release": { "description": "A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry.", "id": "Release", @@ -4181,33 +4880,18 @@ "type": "string" }, "state": { -"description": "Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty.", +"description": "Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty.", "enum": [ "STATE_TYPE_UNSPECIFIED", "STATE_ACTIVE", "STATE_RUNNING", -"STATE_FAILED", -"ACTIVE", -"RUNNING", -"FAILED" -], -"enumDeprecated": [ -false, -false, -false, -false, -true, -true, -true +"STATE_FAILED" ], "enumDescriptions": [ "State type is unspecified.", "The Saas is ready", "In the process of importing, synchronizing or replicating ApplicationTemplates", -"Failure during process of importing, synchronizing or replicating ApplicationTemplate processing", -"Deprecated: Use STATE_ACTIVE.", -"Deprecated: Use STATE_RUNNING.", -"Deprecated: Use STATE_FAILED." +"Failure during process of importing, synchronizing or replicating ApplicationTemplate processing" ], "readOnly": true, "type": "string" @@ -4276,6 +4960,67 @@ true }, "type": "object" }, +"SaasRelease": { +"description": "SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.", +"id": "SaasRelease", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", +"type": "string" +}, +"releases": { +"description": "Required. The Releases that are assigned to this SaasRelease.", +"items": { +"type": "string" +}, +"type": "array" +}, +"tierMappings": { +"description": "Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.", +"items": { +"$ref": "TierMapping" +}, +"type": "array" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "Schedule": { "description": "A time specification to schedule the maintenance.", "id": "Schedule", @@ -4297,23 +5042,12 @@ true "enum": [ "TYPE_UNSPECIFIED", "TYPE_REGIONAL", -"TYPE_GLOBAL", -"REGIONAL", -"GLOBAL" -], -"enumDeprecated": [ -false, -false, -false, -true, -true +"TYPE_GLOBAL" ], "enumDescriptions": [ "Unspecified type.", "Regional type.", -"Global type.", -"Deprecated: Use TYPE_REGIONAL.", -"Deprecated: Use TYPE_GLOBAL." +"Global type." ], "type": "string" } @@ -4402,6 +5136,42 @@ true }, "type": "object" }, +"TierMapping": { +"description": "TierMapping describes the mapping between a Tier and its associated UnitKinds.", +"id": "TierMapping", +"properties": { +"tier": { +"description": "Required. The tier.", +"type": "string" +}, +"unitKinds": { +"items": { +"$ref": "TierUnitKind" +}, +"type": "array" +} +}, +"type": "object" +}, +"TierUnitKind": { +"description": "A description of a single Unit Kind that is part of a Tier.", +"id": "TierUnitKind", +"properties": { +"inputVariables": { +"description": "Optional. Output only. Input variables for the UnitKind.", +"items": { +"$ref": "UnitVariable" +}, +"readOnly": true, +"type": "array" +}, +"unitKind": { +"description": "Required. Immutable. The unique identifier of the UnitKind.", +"type": "string" +} +}, +"type": "object" +}, "ToMapping": { "description": "Input variables whose values will be passed on to dependencies", "id": "ToMapping", @@ -4623,6 +5393,11 @@ true "readOnly": true, "type": "string" }, +"unitGroup": { +"description": "Optional. Output only. Reference to the UnitGroup this unit belongs to.", +"readOnly": true, +"type": "string" +}, "unitKind": { "description": "Optional. Reference to the UnitKind this Unit belongs to. Immutable once set.", "type": "string" @@ -4709,6 +5484,147 @@ true }, "type": "object" }, +"UnitGroup": { +"description": "UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.", +"id": "UnitGroup", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", +"type": "string" +}, +"saas": { +"description": "Required. Immutable. The SaaS that this UnitGroup is created for.", +"type": "string" +}, +"saasRelease": { +"description": "Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.", +"type": "string" +}, +"state": { +"description": "Optional. Output only. State of the UnitGroup.", +"enum": [ +"UNIT_GROUP_STATE_UNSPECIFIED", +"UNIT_GROUP_STATE_NOT_PROVISIONED", +"UNIT_GROUP_STATE_PROVISIONING", +"UNIT_GROUP_STATE_UPDATING", +"UNIT_GROUP_STATE_DEPROVISIONING", +"UNIT_GROUP_STATE_READY", +"UNIT_GROUP_STATE_ERROR" +], +"enumDescriptions": [ +"Unspecified state.", +"UnitGroup is not provisioned.", +"UnitGroup is being provisioned.", +"UnitGroup is being updated.", +"UnitGroup is being deprovisioned.", +"UnitGroup has been provisioned and is ready for use.", +"UnitGroup has an error." +], +"readOnly": true, +"type": "string" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"UnitGroupOperation": { +"description": "UnitGroupOperation represents an operation on a UnitGroup.", +"id": "UnitGroupOperation", +"properties": { +"annotations": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", +"type": "object" +}, +"createTime": { +"description": "Output only. The timestamp when the resource was created.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"deprovisionUnitGroup": { +"$ref": "DeprovisionUnitGroup", +"description": "Optional. Represents a deprovision operation on a UnitGroup." +}, +"detachUnitGroup": { +"$ref": "DetachUnitGroup", +"description": "Optional. Represents a detach operation on a UnitGroup." +}, +"etag": { +"description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", +"readOnly": true, +"type": "string" +}, +"labels": { +"additionalProperties": { +"type": "string" +}, +"description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", +"type": "object" +}, +"name": { +"description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", +"type": "string" +}, +"provisionUnitGroup": { +"$ref": "ProvisionUnitGroup", +"description": "Optional. Represents a provision operation on a UnitGroup." +}, +"tier": { +"description": "Optional. Tier represents the tier level of the UnitGroupOperation.", +"type": "string" +}, +"uid": { +"description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", +"readOnly": true, +"type": "string" +}, +"updateTime": { +"description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "UnitKind": { "description": "Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together.", "id": "UnitKind", @@ -4729,6 +5645,21 @@ true "description": "Output only. Reference to component and revision in a composite ApplicationTemplate.", "readOnly": true }, +"boundaryType": { +"description": "Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents.", +"enum": [ +"BOUNDARY_TYPE_UNSPECIFIED", +"BOUNDARY_TYPE_TENANT_PROJECT", +"BOUNDARY_TYPE_MANAGED_PROJECT" +], +"enumDescriptions": [ +"", +"Tenant project boundary.", +"" +], +"readOnly": true, +"type": "string" +}, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", @@ -4889,7 +5820,8 @@ true "type": "string" }, "provision": { -"$ref": "Provision" +"$ref": "Provision", +"description": "Optional. Provision operation." }, "rollout": { "description": "Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.", diff --git a/googleapiclient/discovery_cache/documents/searchads360.v23.json b/googleapiclient/discovery_cache/documents/searchads360.v23.json new file mode 100644 index 0000000000..56a05265ea --- /dev/null +++ b/googleapiclient/discovery_cache/documents/searchads360.v23.json @@ -0,0 +1,59984 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/doubleclicksearch": { +"description": "View and manage your advertising data in DoubleClick Search" +} +} +} +}, +"basePath": "", +"baseUrl": "https://searchads360.googleapis.com/", +"batchPath": "batch", +"canonicalName": "SA360", +"description": "The Search Ads 360 API allows developers to automate downloading reports from Search Ads 360.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/search-ads/reporting", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "searchads360:v23", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://searchads360.mtls.googleapis.com/", +"name": "searchads360", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"audienceInsights": { +"methods": { +"listInsightsEligibleDates": { +"description": "Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/audienceInsights:listInsightsEligibleDates", +"httpMethod": "POST", +"id": "searchads360.audienceInsights.listInsightsEligibleDates", +"parameterOrder": [], +"parameters": {}, +"path": "v23/audienceInsights:listInsightsEligibleDates", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customers": { +"methods": { +"createCustomerClient": { +"description": "Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]()", +"flatPath": "v23/customers/{customersId}:createCustomerClient", +"httpMethod": "POST", +"id": "searchads360.customers.createCustomerClient", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the Manager under whom client customer is being created.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:createCustomerClient", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateCustomerClientRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateCustomerClientResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateAdGroupThemes": { +"description": "Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateAdGroupThemes", +"httpMethod": "POST", +"id": "searchads360.customers.generateAdGroupThemes", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateAdGroupThemes", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateAudienceCompositionInsights": { +"description": "Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateAudienceCompositionInsights", +"httpMethod": "POST", +"id": "searchads360.customers.generateAudienceCompositionInsights", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateAudienceCompositionInsights", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateAudienceDefinition": { +"description": "Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateAudienceDefinition", +"httpMethod": "POST", +"id": "searchads360.customers.generateAudienceDefinition", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateAudienceDefinition", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateAudienceOverlapInsights": { +"description": "Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateAudienceOverlapInsights", +"httpMethod": "POST", +"id": "searchads360.customers.generateAudienceOverlapInsights", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateAudienceOverlapInsights", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateBenchmarksMetrics": { +"description": "Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateBenchmarksMetrics", +"httpMethod": "POST", +"id": "searchads360.customers.generateBenchmarksMetrics", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateBenchmarksMetrics", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateInsightsFinderReport": { +"description": "Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateInsightsFinderReport", +"httpMethod": "POST", +"id": "searchads360.customers.generateInsightsFinderReport", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateInsightsFinderReport", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateKeywordForecastMetrics": { +"description": "Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateKeywordForecastMetrics", +"httpMethod": "POST", +"id": "searchads360.customers.generateKeywordForecastMetrics", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateKeywordForecastMetrics", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateKeywordHistoricalMetrics": { +"description": "Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateKeywordHistoricalMetrics", +"httpMethod": "POST", +"id": "searchads360.customers.generateKeywordHistoricalMetrics", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The ID of the customer with the recommendation.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateKeywordHistoricalMetrics", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateKeywordIdeas": { +"description": "Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateKeywordIdeas", +"httpMethod": "POST", +"id": "searchads360.customers.generateKeywordIdeas", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The ID of the customer with the recommendation.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateKeywordIdeas", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateReachForecast": { +"description": "Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateReachForecast", +"httpMethod": "POST", +"id": "searchads360.customers.generateReachForecast", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateReachForecast", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateReachForecastRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateReachForecastResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateSuggestedTargetingInsights": { +"description": "Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateSuggestedTargetingInsights", +"httpMethod": "POST", +"id": "searchads360.customers.generateSuggestedTargetingInsights", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateSuggestedTargetingInsights", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generateTargetingSuggestionMetrics": { +"description": "Returns potential reach metrics for targetable audiences. This method helps answer questions like \"How many Men aged 18+ interested in Camping can be reached on YouTube?\" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:generateTargetingSuggestionMetrics", +"httpMethod": "POST", +"id": "searchads360.customers.generateTargetingSuggestionMetrics", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:generateTargetingSuggestionMetrics", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"getIdentityVerification": { +"description": "Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/getIdentityVerification", +"httpMethod": "GET", +"id": "searchads360.customers.getIdentityVerification", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for whom we are requesting verification information.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/getIdentityVerification", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listAccessibleCustomers": { +"description": "Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers:listAccessibleCustomers", +"httpMethod": "GET", +"id": "searchads360.customers.listAccessibleCustomers", +"parameterOrder": [], +"parameters": {}, +"path": "v23/customers:listAccessibleCustomers", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"removeCampaignAutomaticallyCreatedAsset": { +"description": "Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:removeCampaignAutomaticallyCreatedAsset", +"httpMethod": "POST", +"id": "searchads360.customers.removeCampaignAutomaticallyCreatedAsset", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose assets are being removed.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:removeCampaignAutomaticallyCreatedAsset", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"searchAudienceInsightsAttributes": { +"description": "Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:searchAudienceInsightsAttributes", +"httpMethod": "POST", +"id": "searchads360.customers.searchAudienceInsightsAttributes", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:searchAudienceInsightsAttributes", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"startIdentityVerification": { +"description": "Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}:startIdentityVerification", +"httpMethod": "POST", +"id": "searchads360.customers.startIdentityVerification", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The Id of the customer for whom we are creating this verification.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:startIdentityVerification", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest" +}, +"response": { +"$ref": "GoogleProtobuf__Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"suggestKeywordThemes": { +"description": "Suggests keyword themes to advertise on.", +"flatPath": "v23/customers/{customersId}:suggestKeywordThemes", +"httpMethod": "POST", +"id": "searchads360.customers.suggestKeywordThemes", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:suggestKeywordThemes", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"suggestSmartCampaignAd": { +"description": "Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.", +"flatPath": "v23/customers/{customersId}:suggestSmartCampaignAd", +"httpMethod": "POST", +"id": "searchads360.customers.suggestSmartCampaignAd", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:suggestSmartCampaignAd", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"suggestSmartCampaignBudgetOptions": { +"description": "Returns BudgetOption suggestions.", +"flatPath": "v23/customers/{customersId}:suggestSmartCampaignBudgetOptions", +"httpMethod": "POST", +"id": "searchads360.customers.suggestSmartCampaignBudgetOptions", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose budget options are to be suggested.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:suggestSmartCampaignBudgetOptions", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"suggestTravelAssets": { +"description": "Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property.", +"flatPath": "v23/customers/{customersId}:suggestTravelAssets", +"httpMethod": "POST", +"id": "searchads360.customers.suggestTravelAssets", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:suggestTravelAssets", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"uploadUserData": { +"description": "Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]()", +"flatPath": "v23/customers/{customersId}:uploadUserData", +"httpMethod": "POST", +"id": "searchads360.customers.uploadUserData", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which to update the user data.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}:uploadUserData", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__UploadUserDataRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__UploadUserDataResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +}, +"resources": { +"AdGroupCriterionCustomizers": { +"methods": { +"mutate": { +"description": "Creates, updates or removes ad group criterion customizers. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/AdGroupCriterionCustomizers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.AdGroupCriterionCustomizers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad group criterion customizers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/AdGroupCriterionCustomizers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"CampaignGoalConfigs": { +"methods": { +"mutate": { +"description": "Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]()", +"flatPath": "v23/customers/{customersId}/CampaignGoalConfigs:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.CampaignGoalConfigs.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign goal configs are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/CampaignGoalConfigs:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"CustomerCustomizers": { +"methods": { +"mutate": { +"description": "Creates, updates or removes customer customizers. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/CustomerCustomizers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.CustomerCustomizers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer customizers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/CustomerCustomizers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"Goals": { +"methods": { +"mutate": { +"description": "Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()", +"flatPath": "v23/customers/{customersId}/Goals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.Goals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose goals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/Goals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"accountBudgetProposals": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/accountBudgetProposals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.accountBudgetProposals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/accountBudgetProposals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"accountLinks": { +"methods": { +"create": { +"description": "Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]()", +"flatPath": "v23/customers/{customersId}/accountLinks:create", +"httpMethod": "POST", +"id": "searchads360.customers.accountLinks.create", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which the account link is created.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/accountLinks:create", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateAccountLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateAccountLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/accountLinks:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.accountLinks.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/accountLinks:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupAdLabels": { +"methods": { +"mutate": { +"description": "Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adGroupAdLabels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupAdLabels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose ad group ad labels are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupAdLabels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupAds": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/adGroupAds:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupAds.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ads are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupAds:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"removeAutomaticallyCreatedAssets": { +"description": "Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adGroupAds/{adGroupAdsId}:removeAutomaticallyCreatedAssets", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets", +"parameterOrder": [ +"adGroupAd" +], +"parameters": { +"adGroupAd": { +"description": "Required. The resource name of the AdGroupAd from which to remove automatically created assets.", +"location": "path", +"pattern": "^customers/[^/]+/adGroupAds/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+adGroupAd}:removeAutomaticallyCreatedAssets", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest" +}, +"response": { +"$ref": "GoogleProtobuf__Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupAssetSets": { +"methods": { +"mutate": { +"description": "Creates, or removes ad group asset sets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/adGroupAssetSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupAssetSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad group asset sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupAssetSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupAssets": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adGroupAssets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupAssets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad group assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupAssets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupBidModifiers": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/adGroupBidModifiers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupBidModifiers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose ad group bid modifiers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupBidModifiers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupCriteria": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/adGroupCriteria:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupCriteria.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose criteria are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupCriteria:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupCriterionLabels": { +"methods": { +"mutate": { +"description": "Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adGroupCriterionLabels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupCriterionLabels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose ad group criterion labels are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupCriterionLabels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupCustomizers": { +"methods": { +"mutate": { +"description": "Creates, updates or removes ad group customizers. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/adGroupCustomizers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupCustomizers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad group customizers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupCustomizers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroupLabels": { +"methods": { +"mutate": { +"description": "Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adGroupLabels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroupLabels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose ad group labels are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroupLabels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adGroups": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/adGroups:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adGroups.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad groups are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adGroups:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"adParameters": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/adParameters:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.adParameters.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ad parameters are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/adParameters:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdParametersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdParametersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"ads": { +"methods": { +"mutate": { +"description": "Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/ads:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.ads.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose ads are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/ads:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetGroupAssets": { +"methods": { +"mutate": { +"description": "Creates, updates or removes asset group assets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetGroupAssets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetGroupAssets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset group assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetGroupAssets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetGroupListingGroupFilters": { +"methods": { +"mutate": { +"description": "Creates, updates or removes asset group listing group filters. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetGroupListingGroupFilters:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetGroupListingGroupFilters.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset group listing group filters are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetGroupListingGroupFilters:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetGroupSignals": { +"methods": { +"mutate": { +"description": "Creates or removes asset group signals. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetGroupSignals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetGroupSignals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset group signals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetGroupSignals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetGroups": { +"methods": { +"mutate": { +"description": "Creates, updates or removes asset groups. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetGroups:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetGroups.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset groups are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetGroups:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetSetAssets": { +"methods": { +"mutate": { +"description": "Creates, updates or removes asset set assets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetSetAssets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetSetAssets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset set assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetSetAssets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assetSets": { +"methods": { +"mutate": { +"description": "Creates, updates or removes asset sets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/assetSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assetSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose asset sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assetSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"assets": { +"methods": { +"mutate": { +"description": "Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]()", +"flatPath": "v23/customers/{customersId}/assets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.assets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/assets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"audiences": { +"methods": { +"mutate": { +"description": "Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]()", +"flatPath": "v23/customers/{customersId}/audiences:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.audiences.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose audiences are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/audiences:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAudiencesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAudiencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"batchJobs": { +"methods": { +"addOperations": { +"description": "Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:addOperations", +"httpMethod": "POST", +"id": "searchads360.customers.batchJobs.addOperations", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the batch job.", +"location": "path", +"pattern": "^customers/[^/]+/batchJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:addOperations", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listResults": { +"description": "Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:listResults", +"httpMethod": "GET", +"id": "searchads360.customers.batchJobs.listResults", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"pageSize": { +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", +"location": "query", +"type": "string" +}, +"resourceName": { +"description": "Required. The resource name of the batch job whose results are being listed.", +"location": "path", +"pattern": "^customers/[^/]+/batchJobs/[^/]+$", +"required": true, +"type": "string" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"location": "query", +"type": "string" +} +}, +"path": "v23/{+resourceName}:listResults", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/batchJobs:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.batchJobs.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which to create a batch job.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/batchJobs:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"run": { +"description": "Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:run", +"httpMethod": "POST", +"id": "searchads360.customers.batchJobs.run", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the BatchJob to run.", +"location": "path", +"pattern": "^customers/[^/]+/batchJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:run", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RunBatchJobRequest" +}, +"response": { +"$ref": "GoogleLongrunning__Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"biddingDataExclusions": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes data exclusions. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/biddingDataExclusions:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.biddingDataExclusions.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose data exclusions are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/biddingDataExclusions:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"biddingSeasonalityAdjustments": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes seasonality adjustments. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/biddingSeasonalityAdjustments:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.biddingSeasonalityAdjustments.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose seasonality adjustments are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/biddingSeasonalityAdjustments:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"biddingStrategies": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/biddingStrategies:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.biddingStrategies.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose bidding strategies are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/biddingStrategies:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"billingSetups": { +"methods": { +"mutate": { +"description": "Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/billingSetups:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.billingSetups.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. Id of the customer to apply the billing setup mutate operation to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/billingSetups:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignAssetSets": { +"methods": { +"mutate": { +"description": "Creates, updates or removes campaign asset sets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/campaignAssetSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignAssetSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign asset sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignAssetSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignAssets": { +"methods": { +"mutate": { +"description": "Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignAssets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignAssets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignAssets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignBidModifiers": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/campaignBidModifiers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignBidModifiers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose campaign bid modifiers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignBidModifiers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignBudgets": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/campaignBudgets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignBudgets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign budgets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignBudgets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignConversionGoals": { +"methods": { +"mutate": { +"description": "Creates, updates or removes campaign conversion goals. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/campaignConversionGoals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignConversionGoals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign conversion goals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignConversionGoals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignCriteria": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/campaignCriteria:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignCriteria.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose criteria are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignCriteria:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignCustomizers": { +"methods": { +"mutate": { +"description": "Creates, updates or removes campaign customizers. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/campaignCustomizers:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignCustomizers.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign customizers are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignCustomizers:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignDrafts": { +"methods": { +"listAsyncErrors": { +"description": "Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignDrafts/{campaignDraftsId}:listAsyncErrors", +"httpMethod": "GET", +"id": "searchads360.customers.campaignDrafts.listAsyncErrors", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"pageSize": { +"description": "Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", +"location": "query", +"type": "string" +}, +"resourceName": { +"description": "Required. The name of the campaign draft from which to retrieve the async errors.", +"location": "path", +"pattern": "^customers/[^/]+/campaignDrafts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:listAsyncErrors", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignDrafts:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignDrafts.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign drafts are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignDrafts:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"promote": { +"description": "Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignDrafts/{campaignDraftsId}:promote", +"httpMethod": "POST", +"id": "searchads360.customers.campaignDrafts.promote", +"parameterOrder": [ +"campaignDraft" +], +"parameters": { +"campaignDraft": { +"description": "Required. The resource name of the campaign draft to promote.", +"location": "path", +"pattern": "^customers/[^/]+/campaignDrafts/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+campaignDraft}:promote", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest" +}, +"response": { +"$ref": "GoogleLongrunning__Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignGroups": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes campaign groups. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/campaignGroups:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignGroups.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign groups are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignGroups:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignLabels": { +"methods": { +"mutate": { +"description": "Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignLabels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignLabels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose campaign-label relationships are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignLabels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignLifecycleGoal": { +"methods": { +"configureCampaignLifecycleGoals": { +"description": "Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/campaignLifecycleGoal:configureCampaignLifecycleGoals", +"httpMethod": "POST", +"id": "searchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer performing the upload.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignLifecycleGoal:configureCampaignLifecycleGoals", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaignSharedSets": { +"methods": { +"mutate": { +"description": "Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/campaignSharedSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaignSharedSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign shared sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaignSharedSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"campaigns": { +"methods": { +"enablePMaxBrandGuidelines": { +"description": "Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/campaigns:enablePMaxBrandGuidelines", +"httpMethod": "POST", +"id": "searchads360.customers.campaigns.enablePMaxBrandGuidelines", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaigns are being enabled.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaigns:enablePMaxBrandGuidelines", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/campaigns:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.campaigns.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaigns are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/campaigns:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"conversionActions": { +"methods": { +"mutate": { +"description": "Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/conversionActions:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.conversionActions.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose conversion actions are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/conversionActions:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"conversionCustomVariables": { +"methods": { +"mutate": { +"description": "Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/conversionCustomVariables:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.conversionCustomVariables.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose conversion custom variables are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/conversionCustomVariables:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"conversionGoalCampaignConfigs": { +"methods": { +"mutate": { +"description": "Creates, updates or removes conversion goal campaign config. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/conversionGoalCampaignConfigs:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.conversionGoalCampaignConfigs.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose custom conversion goals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/conversionGoalCampaignConfigs:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"conversionValueRuleSets": { +"methods": { +"mutate": { +"description": "Creates, updates or removes conversion value rule sets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/conversionValueRuleSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.conversionValueRuleSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose conversion value rule sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/conversionValueRuleSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"conversionValueRules": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes conversion value rules. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/conversionValueRules:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.conversionValueRules.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose conversion value rules are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/conversionValueRules:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customAudiences": { +"methods": { +"mutate": { +"description": "Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customAudiences:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customAudiences.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose custom audiences are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customAudiences:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customColumns": { +"methods": { +"get": { +"description": "Returns the requested custom column in full detail.", +"flatPath": "v23/customers/{customersId}/customColumns/{customColumnsId}", +"httpMethod": "GET", +"id": "searchads360.customers.customColumns.get", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the custom column to fetch.", +"location": "path", +"pattern": "^customers/[^/]+/customColumns/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}", +"response": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomColumn" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"list": { +"description": "Returns all the custom columns associated with the customer in full detail.", +"flatPath": "v23/customers/{customersId}/customColumns", +"httpMethod": "GET", +"id": "searchads360.customers.customColumns.list", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer to apply the CustomColumn list operation to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customColumns", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListCustomColumnsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customConversionGoals": { +"methods": { +"mutate": { +"description": "Creates, updates or removes custom conversion goals. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/customConversionGoals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customConversionGoals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose custom conversion goals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customConversionGoals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customInterests": { +"methods": { +"mutate": { +"description": "Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/customInterests:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customInterests.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose custom interests are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customInterests:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerAssetSets": { +"methods": { +"mutate": { +"description": "Creates, or removes customer asset sets. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/customerAssetSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerAssetSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer asset sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerAssetSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerAssets": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerAssets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerAssets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer assets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerAssets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerClientLinks": { +"methods": { +"mutate": { +"description": "Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerClientLinks:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerClientLinks.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer link are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerClientLinks:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerConversionGoals": { +"methods": { +"mutate": { +"description": "Creates, updates or removes customer conversion goals. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/customerConversionGoals:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerConversionGoals.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer conversion goals are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerConversionGoals:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerLabels": { +"methods": { +"mutate": { +"description": "Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerLabels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerLabels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose customer-label relationships are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerLabels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerLifecycleGoal": { +"methods": { +"configureCustomerLifecycleGoals": { +"description": "Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerLifecycleGoal:configureCustomerLifecycleGoals", +"httpMethod": "POST", +"id": "searchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer performing the upload.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerLifecycleGoal:configureCustomerLifecycleGoals", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerManagerLinks": { +"methods": { +"moveManagerLink": { +"description": "Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerManagerLinks:moveManagerLink", +"httpMethod": "POST", +"id": "searchads360.customers.customerManagerLinks.moveManagerLink", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the client customer that is being moved.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerManagerLinks:moveManagerLink", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MoveManagerLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MoveManagerLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerManagerLinks:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerManagerLinks.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customer manager links are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerManagerLinks:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerNegativeCriteria": { +"methods": { +"mutate": { +"description": "Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerNegativeCriteria:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerNegativeCriteria.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose criteria are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerNegativeCriteria:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerSkAdNetworkConversionValueSchemas": { +"methods": { +"mutate": { +"description": "Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]()", +"flatPath": "v23/customers/{customersId}/customerSkAdNetworkConversionValueSchemas:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "The ID of the customer whose shared sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerSkAdNetworkConversionValueSchemas:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerUserAccessInvitations": { +"methods": { +"mutate": { +"description": "Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerUserAccessInvitations:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerUserAccessInvitations.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose access invitation is being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerUserAccessInvitations:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customerUserAccesses": { +"methods": { +"mutate": { +"description": "Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/customerUserAccesses:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customerUserAccesses.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customerUserAccesses:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"customizerAttributes": { +"methods": { +"mutate": { +"description": "Creates, updates or removes customizer attributes. Operation statuses are returned.", +"flatPath": "v23/customers/{customersId}/customizerAttributes:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.customizerAttributes.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose customizer attributes are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/customizerAttributes:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"dataLinks": { +"methods": { +"create": { +"description": "Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/dataLinks:create", +"httpMethod": "POST", +"id": "searchads360.customers.dataLinks.create", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which the data link is created.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/dataLinks:create", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateDataLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateDataLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"remove": { +"description": "Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/dataLinks:remove", +"httpMethod": "POST", +"id": "searchads360.customers.dataLinks.remove", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which the data link is updated.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/dataLinks:remove", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveDataLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveDataLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"update": { +"description": "Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/dataLinks:update", +"httpMethod": "POST", +"id": "searchads360.customers.dataLinks.update", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which the data link is created.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/dataLinks:update", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__UpdateDataLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__UpdateDataLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"experimentArms": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experimentArms:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.experimentArms.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose experiments are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/experimentArms:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"experiments": { +"methods": { +"endExperiment": { +"description": "Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:endExperiment", +"httpMethod": "POST", +"id": "searchads360.customers.experiments.endExperiment", +"parameterOrder": [ +"experiment" +], +"parameters": { +"experiment": { +"description": "Required. The resource name of the campaign experiment to end.", +"location": "path", +"pattern": "^customers/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+experiment}:endExperiment", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__EndExperimentRequest" +}, +"response": { +"$ref": "GoogleProtobuf__Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"graduateExperiment": { +"description": "Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment", +"httpMethod": "POST", +"id": "searchads360.customers.experiments.graduateExperiment", +"parameterOrder": [ +"experiment" +], +"parameters": { +"experiment": { +"description": "Required. The experiment to be graduated.", +"location": "path", +"pattern": "^customers/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+experiment}:graduateExperiment", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GraduateExperimentRequest" +}, +"response": { +"$ref": "GoogleProtobuf__Empty" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listExperimentAsyncErrors": { +"description": "Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:listExperimentAsyncErrors", +"httpMethod": "GET", +"id": "searchads360.customers.experiments.listExperimentAsyncErrors", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"pageSize": { +"description": "Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000.", +"format": "int32", +"location": "query", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", +"location": "query", +"type": "string" +}, +"resourceName": { +"description": "Required. The name of the experiment from which to retrieve the async errors.", +"location": "path", +"pattern": "^customers/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:listExperimentAsyncErrors", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.experiments.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose experiments are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/experiments:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"promoteExperiment": { +"description": "Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:promoteExperiment", +"httpMethod": "POST", +"id": "searchads360.customers.experiments.promoteExperiment", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the experiment to promote.", +"location": "path", +"pattern": "^customers/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:promoteExperiment", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__PromoteExperimentRequest" +}, +"response": { +"$ref": "GoogleLongrunning__Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"scheduleExperiment": { +"description": "Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:scheduleExperiment", +"httpMethod": "POST", +"id": "searchads360.customers.experiments.scheduleExperiment", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The scheduled experiment.", +"location": "path", +"pattern": "^customers/[^/]+/experiments/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:scheduleExperiment", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ScheduleExperimentRequest" +}, +"response": { +"$ref": "GoogleLongrunning__Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"incentives": { +"methods": { +"applyIncentive": { +"description": "Applies the incentive for the ads customer.", +"flatPath": "v23/customers/{customersId}/incentives/{incentivesId}:applyIncentive", +"httpMethod": "POST", +"id": "searchads360.customers.incentives.applyIncentive", +"parameterOrder": [ +"customerId", +"selectedIncentiveId" +], +"parameters": { +"customerId": { +"description": "The customer ID of the account that the incentive is being applied to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +}, +"selectedIncentiveId": { +"description": "The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.", +"format": "int64", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/incentives/{+selectedIncentiveId}:applyIncentive", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyIncentiveRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyIncentiveResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"invoices": { +"methods": { +"list": { +"description": "Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/invoices", +"httpMethod": "GET", +"id": "searchads360.customers.invoices.list", +"parameterOrder": [ +"customerId" +], +"parameters": { +"billingSetup": { +"description": "Required. The billing setup resource name of the requested invoices. `customers/{customer_id}/billingSetups/{billing_setup_id}`", +"location": "query", +"type": "string" +}, +"customerId": { +"description": "Required. The ID of the customer to fetch invoices for.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +}, +"includeGranularLevelInvoiceDetails": { +"description": "Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false.", +"location": "query", +"type": "boolean" +}, +"issueMonth": { +"description": "Required. The issue month to retrieve invoices.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"January.", +"February.", +"March.", +"April.", +"May.", +"June.", +"July.", +"August.", +"September.", +"October.", +"November.", +"December." +], +"location": "query", +"type": "string" +}, +"issueYear": { +"description": "Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved.", +"location": "query", +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/invoices", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListInvoicesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordPlanAdGroupKeywords": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/keywordPlanAdGroupKeywords:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.keywordPlanAdGroupKeywords.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose Keyword Plan ad group keywords are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/keywordPlanAdGroupKeywords:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordPlanAdGroups": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/keywordPlanAdGroups:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.keywordPlanAdGroups.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose Keyword Plan ad groups are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/keywordPlanAdGroups:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordPlanCampaignKeywords": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/keywordPlanCampaignKeywords:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.keywordPlanCampaignKeywords.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose campaign keywords are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordPlanCampaigns": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()", +"flatPath": "v23/customers/{customersId}/keywordPlanCampaigns:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.keywordPlanCampaigns.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose Keyword Plan campaigns are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/keywordPlanCampaigns:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordPlans": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/keywordPlans:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.keywordPlans.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose keyword plans are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/keywordPlans:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"labels": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/labels:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.labels.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. ID of the customer whose labels are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/labels:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateLabelsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateLabelsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"localServices": { +"methods": { +"appendLeadConversation": { +"description": "RPC to append Local Services Lead Conversation resources to Local Services Lead resources.", +"flatPath": "v23/customers/{customersId}/localServices:appendLeadConversation", +"httpMethod": "POST", +"id": "searchads360.customers.localServices.appendLeadConversation", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The Id of the customer which owns the leads onto which the conversations will be appended.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/localServices:appendLeadConversation", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__AppendLeadConversationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__AppendLeadConversationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"localServicesLeads": { +"methods": { +"provideLeadFeedback": { +"description": "RPC to provide feedback on Local Services Lead resources.", +"flatPath": "v23/customers/{customersId}/localServicesLeads/{localServicesLeadsId}:provideLeadFeedback", +"httpMethod": "POST", +"id": "searchads360.customers.localServicesLeads.provideLeadFeedback", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the local services lead that for which the feedback is being provided.", +"location": "path", +"pattern": "^customers/[^/]+/localServicesLeads/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:provideLeadFeedback", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"offlineUserDataJobs": { +"methods": { +"addOperations": { +"description": "Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/offlineUserDataJobs/{offlineUserDataJobsId}:addOperations", +"httpMethod": "POST", +"id": "searchads360.customers.offlineUserDataJobs.addOperations", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the OfflineUserDataJob.", +"location": "path", +"pattern": "^customers/[^/]+/offlineUserDataJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:addOperations", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"create": { +"description": "Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/offlineUserDataJobs:create", +"httpMethod": "POST", +"id": "searchads360.customers.offlineUserDataJobs.create", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which to create an offline user data job.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/offlineUserDataJobs:create", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"run": { +"description": "Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/offlineUserDataJobs/{offlineUserDataJobsId}:run", +"httpMethod": "POST", +"id": "searchads360.customers.offlineUserDataJobs.run", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the OfflineUserDataJob to run.", +"location": "path", +"pattern": "^customers/[^/]+/offlineUserDataJobs/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:run", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest" +}, +"response": { +"$ref": "GoogleLongrunning__Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"paymentsAccounts": { +"methods": { +"list": { +"description": "Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/paymentsAccounts", +"httpMethod": "GET", +"id": "searchads360.customers.paymentsAccounts.list", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer to apply the PaymentsAccount list operation to.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/paymentsAccounts", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"productLinkInvitations": { +"methods": { +"create": { +"description": "Creates a product link invitation.", +"flatPath": "v23/customers/{customersId}/productLinkInvitations:create", +"httpMethod": "POST", +"id": "searchads360.customers.productLinkInvitations.create", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/productLinkInvitations:create", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"remove": { +"description": "Remove a product link invitation.", +"flatPath": "v23/customers/{customersId}/productLinkInvitations:remove", +"httpMethod": "POST", +"id": "searchads360.customers.productLinkInvitations.remove", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the product link invitation being removed.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/productLinkInvitations:remove", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"update": { +"description": "Update a product link invitation.", +"flatPath": "v23/customers/{customersId}/productLinkInvitations:update", +"httpMethod": "POST", +"id": "searchads360.customers.productLinkInvitations.update", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/productLinkInvitations:update", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"productLinks": { +"methods": { +"create": { +"description": "Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/productLinks:create", +"httpMethod": "POST", +"id": "searchads360.customers.productLinks.create", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer for which the product link is created.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/productLinks:create", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"remove": { +"description": "Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/productLinks:remove", +"httpMethod": "POST", +"id": "searchads360.customers.productLinks.remove", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/productLinks:remove", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"recommendationSubscriptions": { +"methods": { +"mutateRecommendationSubscription": { +"description": "Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/recommendationSubscriptions:mutateRecommendationSubscription", +"httpMethod": "POST", +"id": "searchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the subscribing customer.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/recommendationSubscriptions:mutateRecommendationSubscription", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"recommendations": { +"methods": { +"apply": { +"description": "Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()", +"flatPath": "v23/customers/{customersId}/recommendations:apply", +"httpMethod": "POST", +"id": "searchads360.customers.recommendations.apply", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer with the recommendation.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/recommendations:apply", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"dismiss": { +"description": "Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/recommendations:dismiss", +"httpMethod": "POST", +"id": "searchads360.customers.recommendations.dismiss", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer with the recommendation.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/recommendations:dismiss", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__DismissRecommendationRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__DismissRecommendationResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"generate": { +"description": "Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/recommendations:generate", +"httpMethod": "POST", +"id": "searchads360.customers.recommendations.generate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer generating recommendations.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/recommendations:generate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"remarketingActions": { +"methods": { +"mutate": { +"description": "Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/remarketingActions:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.remarketingActions.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose remarketing actions are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/remarketingActions:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"searchAds360": { +"methods": { +"mutate": { +"description": "This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()", +"flatPath": "v23/customers/{customersId}/searchAds360:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.searchAds360.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose resources are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/searchAds360:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360Request" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360Response" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"search": { +"description": "Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/searchAds360:search", +"httpMethod": "POST", +"id": "searchads360.customers.searchAds360.search", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer being queried.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/searchAds360:search", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360Request" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360Response" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"sharedCriteria": { +"methods": { +"mutate": { +"description": "Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/sharedCriteria:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.sharedCriteria.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose shared criteria are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/sharedCriteria:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"sharedSets": { +"methods": { +"mutate": { +"description": "Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", +"flatPath": "v23/customers/{customersId}/sharedSets:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.sharedSets.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose shared sets are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/sharedSets:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"smartCampaignSettings": { +"methods": { +"getSmartCampaignStatus": { +"description": "Returns the status of the requested Smart campaign.", +"flatPath": "v23/customers/{customersId}/smartCampaignSettings/{smartCampaignSettingsId}:getSmartCampaignStatus", +"httpMethod": "GET", +"id": "searchads360.customers.smartCampaignSettings.getSmartCampaignStatus", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of.", +"location": "path", +"pattern": "^customers/[^/]+/smartCampaignSettings/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:getSmartCampaignStatus", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"mutate": { +"description": "Updates Smart campaign settings for campaigns.", +"flatPath": "v23/customers/{customersId}/smartCampaignSettings:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.smartCampaignSettings.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose Smart campaign settings are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/smartCampaignSettings:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"thirdPartyAppAnalyticsLinks": { +"methods": { +"regenerateShareableLinkId": { +"description": "Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/thirdPartyAppAnalyticsLinks/{thirdPartyAppAnalyticsLinksId}:regenerateShareableLinkId", +"httpMethod": "POST", +"id": "searchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Resource name of the third party app analytics link.", +"location": "path", +"pattern": "^customers/[^/]+/thirdPartyAppAnalyticsLinks/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}:regenerateShareableLinkId", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"userListCustomerTypes": { +"methods": { +"mutate": { +"description": "Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/customers/{customersId}/userListCustomerTypes:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.userListCustomerTypes.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose user list customer types are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/userListCustomerTypes:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"userLists": { +"methods": { +"mutate": { +"description": "Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]()", +"flatPath": "v23/customers/{customersId}/userLists:mutate", +"httpMethod": "POST", +"id": "searchads360.customers.userLists.mutate", +"parameterOrder": [ +"customerId" +], +"parameters": { +"customerId": { +"description": "Required. The ID of the customer whose user lists are being modified.", +"location": "path", +"pattern": "^[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/customers/{+customerId}/userLists:mutate", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +} +} +}, +"geoTargetConstants": { +"methods": { +"suggest": { +"description": "Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/geoTargetConstants:suggest", +"httpMethod": "POST", +"id": "searchads360.geoTargetConstants.suggest", +"parameterOrder": [], +"parameters": {}, +"path": "v23/geoTargetConstants:suggest", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"incentives": { +"methods": { +"fetchIncentive": { +"description": "Returns incentives for a given user.", +"flatPath": "v23/incentives:fetchIncentive", +"httpMethod": "GET", +"id": "searchads360.incentives.fetchIncentive", +"parameterOrder": [], +"parameters": { +"countryCode": { +"description": "Optional. User's country code. If not provided, the server will default to \"US\". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes", +"location": "query", +"type": "string" +}, +"email": { +"description": "Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user.", +"location": "query", +"type": "string" +}, +"languageCode": { +"description": "Optional. User's language code. If not provided, the server will default to \"en\". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages", +"location": "query", +"type": "string" +}, +"type": { +"description": "Optional. The type of incentive to get. Defaults to ACQUISITION.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACQUISITION" +], +"enumDescriptions": [ +"Not specified.", +"Unknown incentive type. Should not be used as a value explicitly.", +"An acquisition incentive." +], +"location": "query", +"type": "string" +} +}, +"path": "v23/incentives:fetchIncentive", +"response": { +"$ref": "GoogleAdsSearchads360V23Services__FetchIncentiveResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"keywordThemeConstants": { +"methods": { +"suggest": { +"description": "Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/keywordThemeConstants:suggest", +"httpMethod": "POST", +"id": "searchads360.keywordThemeConstants.suggest", +"parameterOrder": [], +"parameters": {}, +"path": "v23/keywordThemeConstants:suggest", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"searchAds360Fields": { +"methods": { +"get": { +"description": "Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/searchAds360Fields/{searchAds360FieldsId}", +"httpMethod": "GET", +"id": "searchads360.searchAds360Fields.get", +"parameterOrder": [ +"resourceName" +], +"parameters": { +"resourceName": { +"description": "Required. The resource name of the field to get.", +"location": "path", +"pattern": "^searchAds360Fields/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v23/{+resourceName}", +"response": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Field" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"search": { +"description": "Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()", +"flatPath": "v23/searchAds360Fields:search", +"httpMethod": "POST", +"id": "searchads360.searchAds360Fields.search", +"parameterOrder": [], +"parameters": {}, +"path": "v23/searchAds360Fields:search", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +}, +"v23": { +"methods": { +"generateConversionRates": { +"description": "Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:generateConversionRates", +"httpMethod": "POST", +"id": "searchads360.generateConversionRates", +"parameterOrder": [], +"parameters": {}, +"path": "v23:generateConversionRates", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listBenchmarksAvailableDates": { +"description": "Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listBenchmarksAvailableDates", +"httpMethod": "POST", +"id": "searchads360.listBenchmarksAvailableDates", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listBenchmarksAvailableDates", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listBenchmarksLocations": { +"description": "Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listBenchmarksLocations", +"httpMethod": "POST", +"id": "searchads360.listBenchmarksLocations", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listBenchmarksLocations", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listBenchmarksProducts": { +"description": "Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listBenchmarksProducts", +"httpMethod": "POST", +"id": "searchads360.listBenchmarksProducts", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listBenchmarksProducts", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listBenchmarksSources": { +"description": "Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listBenchmarksSources", +"httpMethod": "POST", +"id": "searchads360.listBenchmarksSources", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listBenchmarksSources", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listPlannableLocations": { +"description": "Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listPlannableLocations", +"httpMethod": "POST", +"id": "searchads360.listPlannableLocations", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listPlannableLocations", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listPlannableProducts": { +"description": "Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", +"flatPath": "v23:listPlannableProducts", +"httpMethod": "POST", +"id": "searchads360.listPlannableProducts", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listPlannableProducts", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableProductsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableProductsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listPlannableUserInterests": { +"description": "Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]()", +"flatPath": "v23:listPlannableUserInterests", +"httpMethod": "POST", +"id": "searchads360.listPlannableUserInterests", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listPlannableUserInterests", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +}, +"listPlannableUserLists": { +"description": "Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()", +"flatPath": "v23:listPlannableUserLists", +"httpMethod": "POST", +"id": "searchads360.listPlannableUserLists", +"parameterOrder": [], +"parameters": {}, +"path": "v23:listPlannableUserLists", +"request": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest" +}, +"response": { +"$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/doubleclicksearch" +] +} +} +} +}, +"revision": "20260413", +"rootUrl": "https://searchads360.googleapis.com/", +"schemas": { +"GoogleAdsSearchads360V0Common__Value": { +"description": "A generic data container.", +"id": "GoogleAdsSearchads360V0Common__Value", +"properties": { +"booleanValue": { +"description": "A boolean.", +"type": "boolean" +}, +"doubleValue": { +"description": "A double.", +"format": "double", +"type": "number" +}, +"floatValue": { +"description": "A float.", +"format": "float", +"type": "number" +}, +"int64Value": { +"description": "An int64.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement": { +"description": "A part of a field path.", +"id": "GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement", +"properties": { +"fieldName": { +"description": "The name of a field or a oneof", +"type": "string" +}, +"index": { +"description": "If field_name is a repeated field, this is the element that failed", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__ErrorCode": { +"description": "The error reason represented by type and enum.", +"id": "GoogleAdsSearchads360V0Errors__ErrorCode", +"properties": { +"authenticationError": { +"description": "Indicates failure to properly authenticate user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AUTHENTICATION_ERROR", +"CLIENT_CUSTOMER_ID_INVALID", +"CUSTOMER_NOT_FOUND", +"GOOGLE_ACCOUNT_DELETED", +"GOOGLE_ACCOUNT_COOKIE_INVALID", +"GOOGLE_ACCOUNT_AUTHENTICATION_FAILED", +"GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH", +"LOGIN_COOKIE_REQUIRED", +"NOT_ADS_USER", +"OAUTH_TOKEN_INVALID", +"OAUTH_TOKEN_EXPIRED", +"OAUTH_TOKEN_DISABLED", +"OAUTH_TOKEN_REVOKED", +"OAUTH_TOKEN_HEADER_INVALID", +"LOGIN_COOKIE_INVALID", +"USER_ID_INVALID", +"TWO_STEP_VERIFICATION_NOT_ENROLLED", +"ADVANCED_PROTECTION_NOT_ENROLLED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Authentication of the request failed.", +"Client customer ID is not a number.", +"No customer found for the provided customer ID.", +"Client's Google account is deleted.", +"Account login token in the cookie is invalid.", +"A problem occurred during Google account authentication.", +"The user in the Google account login token does not match the user ID in the cookie.", +"Login cookie is required for authentication.", +"The Google account that generated the OAuth access token is not associated with a Search Ads 360 account. Create a new account, or add the Google account to an existing Search Ads 360 account.", +"OAuth token in the header is not valid.", +"OAuth token in the header has expired.", +"OAuth token in the header has been disabled.", +"OAuth token in the header has been revoked.", +"OAuth token HTTP header is malformed.", +"Login cookie is not valid.", +"User ID in the header is not a valid ID.", +"An account administrator changed this account's authentication settings. To access this account, enable 2-Step Verification in your Google account at https://www.google.com/landing/2step.", +"An account administrator changed this account's authentication settings. To access this account, enable Advanced Protection in your Google account at https://landing.google.com/advancedprotection." +], +"type": "string" +}, +"authorizationError": { +"description": "An error encountered when trying to authorize a user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"USER_PERMISSION_DENIED", +"PROJECT_DISABLED", +"AUTHORIZATION_ERROR", +"ACTION_NOT_PERMITTED", +"INCOMPLETE_SIGNUP", +"CUSTOMER_NOT_ENABLED", +"MISSING_TOS", +"INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION", +"SERVICE_ACCESS_DENIED", +"ACCESS_DENIED_FOR_ACCOUNT_TYPE", +"METRIC_ACCESS_DENIED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"User doesn't have permission to access customer. Note: If you're accessing a client customer, the manager's customer ID must be set in the `login-customer-id` header. Learn more at https://developers.google.com/search-ads/reporting/concepts/call-structure#login_customer_id_header", +"The Google Cloud project sent in the request does not have permission to access the api.", +"Authorization of the client failed.", +"The user does not have permission to perform this action (for example, ADD, UPDATE, REMOVE) on the resource or call a method.", +"Signup not complete.", +"The customer account can't be accessed because it is not yet enabled or has been deactivated.", +"The developer must sign the terms of service. They can be found here: https://developers.google.com/terms", +"The login customer specified does not have access to the account specified, so the request is invalid.", +"The developer specified does not have access to the service.", +"The customer (or login customer) isn't allowed in Search Ads 360 API. It belongs to another ads system.", +"The developer does not have access to the metrics queried." +], +"type": "string" +}, +"conversionCustomVariableError": { +"description": "The reasons for the conversion custom variable error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"DUPLICATE_TAG", +"RESERVED_TAG", +"NOT_FOUND", +"NOT_AVAILABLE", +"INCOMPATIBLE_TYPE", +"INVALID_METRIC", +"EXCEEDS_CARDINALITY_LIMIT", +"INVALID_DIMENSION", +"INCOMPATIBLE_WITH_SELECTED_RESOURCE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A conversion custom variable with the specified name already exists.", +"A conversion custom variable with the specified tag already exists.", +"A conversion custom variable with the specified tag is reserved for other uses.", +"The conversion custom variable is not found.", +"The conversion custom variable is not available for use.", +"The conversion custom variable requested is incompatible with the current request.", +"The conversion custom variable requested is not of type METRIC.", +"The conversion custom variable's cardinality exceeds the segmentation limit.", +"The conversion custom variable requested is not of type DIMENSION.", +"The conversion custom variable requested is incompatible with the selected resource." +], +"type": "string" +}, +"customColumnError": { +"description": "The reasons for the custom column error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOM_COLUMN_NOT_FOUND", +"CUSTOM_COLUMN_NOT_AVAILABLE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The custom column has not been found.", +"The custom column is not available." +], +"type": "string" +}, +"dateError": { +"description": "The reasons for the date error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_FIELD_VALUES_IN_DATE", +"INVALID_FIELD_VALUES_IN_DATE_TIME", +"INVALID_STRING_DATE", +"INVALID_STRING_DATE_TIME_MICROS", +"INVALID_STRING_DATE_TIME_SECONDS", +"INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", +"EARLIER_THAN_MINIMUM_DATE", +"LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Given field values do not correspond to a valid date.", +"Given field values do not correspond to a valid date time.", +"The string date's format should be yyyy-mm-dd.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", +"Date is before allowed minimum.", +"Date is after allowed maximum.", +"Date range bounds are not in order.", +"Both dates in range are null." +], +"type": "string" +}, +"dateRangeError": { +"description": "The reasons for the date range error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_DATE", +"START_DATE_AFTER_END_DATE", +"CANNOT_SET_DATE_TO_PAST", +"AFTER_MAXIMUM_ALLOWABLE_DATE", +"CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Invalid date.", +"The start date was after the end date.", +"Cannot set date to past time", +"A date was used that is past the system \"last\" date.", +"Trying to change start date on a resource that has started." +], +"type": "string" +}, +"distinctError": { +"description": "The reasons for the distinct error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_ELEMENT", +"DUPLICATE_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Duplicate element.", +"Duplicate type." +], +"type": "string" +}, +"headerError": { +"description": "The reasons for the header error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_USER_SELECTED_CUSTOMER_ID", +"INVALID_LOGIN_CUSTOMER_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The user selected customer ID could not be validated.", +"The login customer ID could not be validated." +], +"type": "string" +}, +"internalError": { +"description": "An unexpected server-side error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INTERNAL_ERROR", +"ERROR_CODE_NOT_PUBLISHED", +"TRANSIENT_ERROR", +"DEADLINE_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"API encountered unexpected internal error.", +"The intended error code doesn't exist in specified API version. It will be released in a future API version.", +"API encountered an unexpected transient error. The user should retry their request in these cases.", +"The request took longer than a deadline." +], +"type": "string" +}, +"invalidParameterError": { +"description": "The reasons for invalid parameter errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_CURRENCY_CODE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified currency code is invalid." +], +"type": "string" +}, +"queryError": { +"description": "An error with the query", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"QUERY_ERROR", +"BAD_ENUM_CONSTANT", +"BAD_ESCAPE_SEQUENCE", +"BAD_FIELD_NAME", +"BAD_LIMIT_VALUE", +"BAD_NUMBER", +"BAD_OPERATOR", +"BAD_PARAMETER_NAME", +"BAD_PARAMETER_VALUE", +"BAD_RESOURCE_TYPE_IN_FROM_CLAUSE", +"BAD_SYMBOL", +"BAD_VALUE", +"DATE_RANGE_TOO_WIDE", +"DATE_RANGE_TOO_NARROW", +"EXPECTED_AND", +"EXPECTED_BY", +"EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE", +"EXPECTED_FILTERS_ON_DATE_RANGE", +"EXPECTED_FROM", +"EXPECTED_LIST", +"EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE", +"EXPECTED_SELECT", +"EXPECTED_SINGLE_VALUE", +"EXPECTED_VALUE_WITH_BETWEEN_OPERATOR", +"INVALID_DATE_FORMAT", +"MISALIGNED_DATE_FOR_FILTER", +"INVALID_STRING_VALUE", +"INVALID_VALUE_WITH_BETWEEN_OPERATOR", +"INVALID_VALUE_WITH_DURING_OPERATOR", +"INVALID_VALUE_WITH_LIKE_OPERATOR", +"OPERATOR_FIELD_MISMATCH", +"PROHIBITED_EMPTY_LIST_IN_CONDITION", +"PROHIBITED_ENUM_CONSTANT", +"PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE", +"PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE", +"PROHIBITED_FIELD_IN_SELECT_CLAUSE", +"PROHIBITED_FIELD_IN_WHERE_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE", +"PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE", +"PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE", +"PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE", +"LIMIT_VALUE_TOO_LOW", +"PROHIBITED_NEWLINE_IN_STRING", +"PROHIBITED_VALUE_COMBINATION_IN_LIST", +"PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR", +"STRING_NOT_TERMINATED", +"TOO_MANY_SEGMENTS", +"UNEXPECTED_END_OF_QUERY", +"UNEXPECTED_FROM_CLAUSE", +"UNRECOGNIZED_FIELD", +"UNEXPECTED_INPUT", +"REQUESTED_METRICS_FOR_MANAGER", +"FILTER_HAS_TOO_MANY_VALUES", +"REQUIRED_SEGMENT_FIELD_MISSING" +], +"enumDescriptions": [ +"Name unspecified.", +"The received error code is not known in this version.", +"Returned if all other query error reasons are not applicable.", +"A condition used in the query references an invalid enum constant.", +"Query contains an invalid escape sequence.", +"Field name is invalid.", +"Limit value is invalid (for example, not a number)", +"Encountered number can not be parsed.", +"Invalid operator encountered.", +"Parameter unknown or not supported.", +"Parameter have invalid value.", +"Invalid resource type was specified in the FROM clause.", +"Non-ASCII symbol encountered outside of strings.", +"Value is invalid.", +"Date filters fail to restrict date to a range smaller than 31 days. Applicable if the query is segmented by date.", +"Filters on date/week/month/quarter have a start date after end date.", +"Expected AND between values with BETWEEN operator.", +"Expecting ORDER BY to have BY.", +"There was no dimension field selected.", +"Missing filters on date related fields.", +"Missing FROM clause.", +"The operator used in the conditions requires the value to be a list.", +"Fields used in WHERE or ORDER BY clauses are missing from the SELECT clause.", +"SELECT is missing at the beginning of query.", +"A list was passed as a value to a condition whose operator expects a single value.", +"Missing one or both values with BETWEEN operator.", +"Invalid date format. Expected 'YYYY-MM-DD'.", +"Misaligned date value for the filter. The date should be the start of a week/month/quarter if the filtered field is segments.week/segments.month/segments.quarter.", +"Value passed was not a string when it should have been. For example, it was a number or unquoted literal.", +"A String value passed to the BETWEEN operator does not parse as a date.", +"The value passed to the DURING operator is not a Date range literal", +"A value was passed to the LIKE operator.", +"An operator was provided that is inapplicable to the field being filtered.", +"A Condition was found with an empty list.", +"A condition used in the query references an unsupported enum constant.", +"Fields that are not allowed to be selected together were included in the SELECT clause.", +"A field that is not orderable was included in the ORDER BY clause.", +"A field that is not selectable was included in the SELECT clause.", +"A field that is not filterable was included in the WHERE clause.", +"Resource type specified in the FROM clause is not supported by this service.", +"A field that comes from an incompatible resource was included in the SELECT clause.", +"A field that comes from an incompatible resource was included in the WHERE clause.", +"A metric incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", +"A segment incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", +"A segment in the SELECT clause is incompatible with a metric in the SELECT or WHERE clause.", +"The value passed to the limit clause is too low.", +"Query has a string containing a newline character.", +"List contains values of different types.", +"The values passed to the BETWEEN operator are not of the same type.", +"Query contains unterminated string.", +"Too many segments are specified in SELECT clause.", +"Query is incomplete and cannot be parsed.", +"FROM clause cannot be specified in this query.", +"Query contains one or more unrecognized fields.", +"Query has an unexpected extra part.", +"Metrics cannot be requested for a manager account. To retrieve metrics, issue separate requests against each client account under the manager account.", +"The number of values (right-hand-side operands) in a filter exceeds the limit.", +"Required segment field is missing." +], +"type": "string" +}, +"quotaError": { +"description": "An error with the amount of quota remaining.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_EXHAUSTED", +"RESOURCE_TEMPORARILY_EXHAUSTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Too many requests.", +"Too many requests in a short amount of time." +], +"type": "string" +}, +"requestError": { +"description": "An error caused by the request", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_NAME_MISSING", +"RESOURCE_NAME_MALFORMED", +"BAD_RESOURCE_ID", +"INVALID_PRODUCT_NAME", +"INVALID_CUSTOMER_ID", +"OPERATION_REQUIRED", +"RESOURCE_NOT_FOUND", +"INVALID_PAGE_TOKEN", +"EXPIRED_PAGE_TOKEN", +"INVALID_PAGE_SIZE", +"REQUIRED_FIELD_MISSING", +"IMMUTABLE_FIELD", +"TOO_MANY_MUTATE_OPERATIONS", +"CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT", +"CANNOT_MODIFY_FOREIGN_FIELD", +"INVALID_ENUM_VALUE", +"LOGIN_CUSTOMER_ID_PARAMETER_MISSING", +"LOGIN_OR_LINKED_CUSTOMER_ID_PARAMETER_REQUIRED", +"VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN", +"CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS", +"CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS", +"INCONSISTENT_RETURN_SUMMARY_ROW_VALUE", +"TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED", +"RPC_DEADLINE_TOO_SHORT", +"PRODUCT_NOT_SUPPORTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Resource name is required for this request.", +"Resource name provided is malformed.", +"Resource name provided is malformed.", +"Product name is invalid.", +"Customer ID is invalid.", +"Mutate operation should have either create, update, or remove specified.", +"Requested resource not found.", +"Next page token specified in user request is invalid.", +"Next page token specified in user request has expired.", +"Page size specified in user request is invalid.", +"Required field is missing.", +"The field cannot be modified because it's immutable. It's also possible that the field can be modified using 'create' operation but not 'update'.", +"Received too many entries in request.", +"Request cannot be executed by a manager account.", +"Mutate request was attempting to modify a readonly field. For instance, Budget fields can be requested for Ad Group, but are read-only for adGroups:mutate.", +"Enum value is not permitted.", +"The login-customer-id parameter is required for this request.", +"Either login-customer-id or linked-customer-id parameter is required for this request.", +"page_token is set in the validate only request", +"return_summary_row cannot be enabled if request did not select any metrics field.", +"return_summary_row should not be enabled for validate only requests.", +"return_summary_row parameter value should be the same between requests with page_token field set and their original request.", +"The total results count cannot be returned if it was not requested in the original request.", +"Deadline specified by the client was too short.", +"The product associated with the request is not supported for the current request." +], +"type": "string" +}, +"sizeLimitError": { +"description": "The reasons for the size limit error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUEST_SIZE_LIMIT_EXCEEDED", +"RESPONSE_SIZE_LIMIT_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The number of entries in the request exceeds the system limit, or the contents of the operations exceed transaction limits due to their size or complexity. Try reducing the number of entries per request.", +"The number of entries in the response exceeds the system limit." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__ErrorDetails": { +"description": "Additional error details.", +"id": "GoogleAdsSearchads360V0Errors__ErrorDetails", +"properties": { +"quotaErrorDetails": { +"$ref": "GoogleAdsSearchads360V0Errors__QuotaErrorDetails", +"description": "Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay." +}, +"unpublishedErrorCode": { +"description": "The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__ErrorLocation": { +"description": "Describes the part of the request proto that caused the error.", +"id": "GoogleAdsSearchads360V0Errors__ErrorLocation", +"properties": { +"fieldPathElements": { +"description": "A field path that indicates which field was invalid in the request.", +"items": { +"$ref": "GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__QuotaErrorDetails": { +"description": "Additional quota error details when there is QuotaError.", +"id": "GoogleAdsSearchads360V0Errors__QuotaErrorDetails", +"properties": { +"rateName": { +"description": "The high level description of the quota bucket. Examples are \"Get requests for standard access\" or \"Requests per account\".", +"type": "string" +}, +"rateScope": { +"description": "The rate scope of the quota limit.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCOUNT", +"DEVELOPER" +], +"enumDescriptions": [ +"Unspecified enum", +"Used for return value only. Represents value unknown in this version.", +"Per customer account quota", +"Per project quota" +], +"type": "string" +}, +"retryDelay": { +"description": "Backoff period that customers should wait before sending next request.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__SearchAds360Error": { +"description": "Search Ads 360-specific error.", +"id": "GoogleAdsSearchads360V0Errors__SearchAds360Error", +"properties": { +"details": { +"$ref": "GoogleAdsSearchads360V0Errors__ErrorDetails", +"description": "Additional error details, which are returned by certain error codes. Most error codes do not include details." +}, +"errorCode": { +"$ref": "GoogleAdsSearchads360V0Errors__ErrorCode", +"description": "An enum value that indicates which error occurred." +}, +"location": { +"$ref": "GoogleAdsSearchads360V0Errors__ErrorLocation", +"description": "Describes the part of the request proto that caused the error." +}, +"message": { +"description": "A human-readable description of the error.", +"type": "string" +}, +"trigger": { +"$ref": "GoogleAdsSearchads360V0Common__Value", +"description": "The value that triggered the error." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V0Errors__SearchAds360Failure": { +"description": "Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.", +"id": "GoogleAdsSearchads360V0Errors__SearchAds360Failure", +"properties": { +"errors": { +"description": "The list of errors that occurred.", +"items": { +"$ref": "GoogleAdsSearchads360V0Errors__SearchAds360Error" +}, +"type": "array" +}, +"requestId": { +"description": "The unique ID of the request that is used for debugging purposes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings": { +"description": "Retention campaign goal settings.", +"id": "GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings", +"properties": { +"targetOption": { +"description": "Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TARGET_ALL", +"TARGET_SPECIFIC" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The mode is used when the campaign optimizes for all customers, which is the default value.", +"This mode configures the campaign to target only customers who have previously interacted but are now lapsed or disengaged." +], +"type": "string" +}, +"valueSettingsOverride": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", +"description": "Retention goal campaign specific value settings." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal": { +"description": "Retention goal settings.", +"id": "GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal", +"properties": { +"valueSettings": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", +"description": "Retention goal value settings." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel": { +"description": "A YouTube channel returned as an example of the content in a lineup.", +"id": "GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel", +"properties": { +"displayName": { +"description": "The name of the sample channel.", +"type": "string" +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "A YouTube channel." +}, +"youtubeChannelMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", +"description": "Metadata for the sample channel." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint": { +"description": "Indicates that a resource's ability to serve in a particular country is constrained.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint", +"properties": { +"countryCriterion": { +"description": "Geo target constant resource name of the country in which serving is constrained.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList": { +"description": "A list of countries where a resource's serving is constrained.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", +"properties": { +"countries": { +"description": "Countries in which serving is restricted.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint" +}, +"type": "array" +}, +"totalTargetedCountries": { +"description": "Total number of countries targeted by the resource.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint": { +"description": "Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch": { +"description": "Evidence of mismatches between the URLs of a resource.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch", +"properties": { +"urlTypes": { +"description": "The set of URLs that did not match each other.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISPLAY_URL", +"FINAL_URL", +"FINAL_MOBILE_URL", +"TRACKING_URL", +"MOBILE_TRACKING_URL" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The display url.", +"The final url.", +"The final mobile url.", +"The tracking url template, with substituted desktop url.", +"The tracking url template, with substituted mobile url." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking": { +"description": "Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking", +"properties": { +"device": { +"description": "The type of device that failed to load the URL.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DESKTOP", +"ANDROID", +"IOS" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Landing page doesn't work on desktop device.", +"Landing page doesn't work on Android device.", +"Landing page doesn't work on iOS device." +], +"type": "string" +}, +"dnsErrorType": { +"description": "The type of DNS error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HOSTNAME_NOT_FOUND", +"GOOGLE_CRAWLER_DNS_ISSUE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Host name not found in DNS when fetching landing page.", +"Google internal crawler issue when communicating with DNS. This error doesn't mean the landing page doesn't work. Google will recrawl the landing page." +], +"type": "string" +}, +"expandedUrl": { +"description": "The full URL that didn't work.", +"type": "string" +}, +"httpErrorCode": { +"description": "The HTTP error code.", +"format": "int64", +"type": "string" +}, +"lastCheckedDateTime": { +"description": "The time the URL was last checked. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList": { +"description": "A list of strings found in a destination page that caused a policy finding.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList", +"properties": { +"destinationTexts": { +"description": "List of text found in the resource's destination page.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList": { +"description": "A list of fragments of text that violated a policy.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList", +"properties": { +"texts": { +"description": "The fragments of text from the resource that caused the policy finding.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList": { +"description": "A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.", +"id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList", +"properties": { +"websites": { +"description": "Websites that caused the policy finding.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ActivityCityInfo": { +"description": "The city where the travel activity is available.", +"id": "GoogleAdsSearchads360V23Common__ActivityCityInfo", +"properties": { +"value": { +"description": "String value of the activity city. The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ActivityCountryInfo": { +"description": "The country where the travel activity is available.", +"id": "GoogleAdsSearchads360V23Common__ActivityCountryInfo", +"properties": { +"value": { +"description": "String value of the activity country. The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ActivityIdInfo": { +"description": "Advertiser-specific activity ID.", +"id": "GoogleAdsSearchads360V23Common__ActivityIdInfo", +"properties": { +"value": { +"description": "String value of the activity ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ActivityRatingInfo": { +"description": "Rating of the activity as a number 1 to 5, where 5 is the best.", +"id": "GoogleAdsSearchads360V23Common__ActivityRatingInfo", +"properties": { +"value": { +"description": "Long value of the activity rating.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ActivityStateInfo": { +"description": "The state where the travel activity is available.", +"id": "GoogleAdsSearchads360V23Common__ActivityStateInfo", +"properties": { +"value": { +"description": "String value of the activity state. The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset": { +"description": "An app deep link used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset", +"properties": { +"asset": { +"description": "The Asset resource name of this app deep link asset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdAssetPolicySummary": { +"description": "Contains policy information for an asset inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdAssetPolicySummary", +"properties": { +"approvalStatus": { +"description": "The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISAPPROVED", +"APPROVED_LIMITED", +"APPROVED", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Will not serve.", +"Serves with restrictions.", +"Serves without restrictions.", +"Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." +], +"type": "string" +}, +"policyTopicEntries": { +"description": "The list of policy findings for this asset.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"type": "array" +}, +"reviewStatus": { +"description": "Where in the review process this asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REVIEW_IN_PROGRESS", +"REVIEWED", +"UNDER_APPEAL", +"ELIGIBLE_MAY_SERVE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Currently under review.", +"Primary review complete. Other reviews may be continuing.", +"The resource has been resubmitted for approval or its policy decision has been appealed.", +"The resource is eligible and may be serving but could still undergo further review." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdCallToActionAsset": { +"description": "A call to action asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdCallToActionAsset", +"properties": { +"asset": { +"description": "The Asset resource name of this call to action asset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset": { +"description": "A Demand Gen carousel card asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset", +"properties": { +"asset": { +"description": "The Asset resource name of this discovery carousel card.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdImageAsset": { +"description": "An image asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdImageAsset", +"properties": { +"asset": { +"description": "The Asset resource name of this image.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdMediaBundleAsset": { +"description": "A media bundle asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset", +"properties": { +"asset": { +"description": "The Asset resource name of this media bundle.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdScheduleInfo": { +"description": "Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.", +"id": "GoogleAdsSearchads360V23Common__AdScheduleInfo", +"properties": { +"dayOfWeek": { +"description": "Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Monday.", +"Tuesday.", +"Wednesday.", +"Thursday.", +"Friday.", +"Saturday.", +"Sunday." +], +"type": "string" +}, +"endHour": { +"description": "Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"format": "int32", +"type": "integer" +}, +"endMinute": { +"description": "Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ZERO", +"FIFTEEN", +"THIRTY", +"FORTY_FIVE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Zero minutes past the hour.", +"Fifteen minutes past the hour.", +"Thirty minutes past the hour.", +"Forty-five minutes past the hour." +], +"type": "string" +}, +"startHour": { +"description": "Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"format": "int32", +"type": "integer" +}, +"startMinute": { +"description": "Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ZERO", +"FIFTEEN", +"THIRTY", +"FORTY_FIVE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Zero minutes past the hour.", +"Fifteen minutes past the hour.", +"Thirty minutes past the hour.", +"Forty-five minutes past the hour." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdTextAsset": { +"description": "A text asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdTextAsset", +"properties": { +"assetPerformanceLabel": { +"description": "The performance label of this text asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"LEARNING", +"LOW", +"GOOD", +"BEST", +"NOT_APPLICABLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This asset does not yet have any performance informantion. This may be because it is still under review.", +"The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.", +"Worst performing assets.", +"Good performing assets.", +"Best performing assets.", +"Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives." +], +"type": "string" +}, +"pinnedField": { +"description": "The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE_1", +"HEADLINE_2", +"HEADLINE_3", +"DESCRIPTION_1", +"DESCRIPTION_2", +"HEADLINE", +"HEADLINE_IN_PORTRAIT", +"LONG_HEADLINE", +"DESCRIPTION", +"DESCRIPTION_IN_PORTRAIT", +"BUSINESS_NAME_IN_PORTRAIT", +"BUSINESS_NAME", +"MARKETING_IMAGE", +"MARKETING_IMAGE_IN_PORTRAIT", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"CALL_TO_ACTION", +"YOU_TUBE_VIDEO", +"SITELINK", +"CALL", +"MOBILE_APP", +"CALLOUT", +"STRUCTURED_SNIPPET", +"PRICE", +"PROMOTION", +"AD_IMAGE", +"LEAD_FORM", +"BUSINESS_LOGO", +"DESCRIPTION_PREFIX", +"HEADLINE_AS_SITELINK_POSITION_ONE", +"HEADLINE_AS_SITELINK_POSITION_TWO", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset is used in headline 1.", +"The asset is used in headline 2.", +"The asset is used in headline 3.", +"The asset is used in description 1.", +"The asset is used in description 2.", +"The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", +"The asset was used as a headline in portrait image.", +"The asset was used in a long headline (used in MultiAssetResponsiveAd).", +"The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", +"The asset was used as description in portrait image.", +"The asset was used as business name in portrait image.", +"The asset was used as business name.", +"The asset was used as a marketing image.", +"The asset was used as a marketing image in portrait image.", +"The asset was used as a square marketing image.", +"The asset was used as a portrait marketing image.", +"The asset was used as a logo.", +"The asset was used as a landscape logo.", +"The asset was used as a call-to-action.", +"The asset was used as a YouTube video.", +"This asset is used as a sitelink.", +"This asset is used as a call.", +"This asset is used as a mobile app.", +"This asset is used as a callout.", +"This asset is used as a structured snippet.", +"This asset is used as a price.", +"This asset is used as a promotion.", +"This asset is used as an image.", +"The asset is used as a lead form.", +"The asset is used as a business logo.", +"The asset is used as a description prefix.", +"A headline asset used as a sitelink in position 1.", +"A headline asset used as a sitelink in position 2.", +"A description line asset used as a sitelink in position 1.", +"A description line asset used as a sitelink in position 2." +], +"type": "string" +}, +"policySummaryInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdAssetPolicySummary", +"description": "The policy summary of this text asset." +}, +"text": { +"description": "Asset text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdVideoAsset": { +"description": "A video asset used inside an ad.", +"id": "GoogleAdsSearchads360V23Common__AdVideoAsset", +"properties": { +"adVideoAssetInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAssetInfo", +"description": "Contains info fields for this AdVideoAsset." +}, +"asset": { +"description": "The Asset resource name of this video.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdVideoAssetInfo": { +"description": "Contains info fields for AdVideoAssets.", +"id": "GoogleAdsSearchads360V23Common__AdVideoAssetInfo", +"properties": { +"adVideoAssetFeatureControl": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl", +"description": "Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl": { +"description": "YouTube Video Asset feature controls.", +"id": "GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl", +"properties": { +"allowYoutubeComments": { +"description": "Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AdditionalApplicationInfo": { +"description": "Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs.", +"id": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"properties": { +"applicationId": { +"description": "The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.", +"type": "string" +}, +"applicationInstance": { +"description": "The instance type of the application sending the request.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEVELOPMENT_AND_TESTING", +"PRODUCTION" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The instance is for development and testing purposes.", +"The instance is for production purposes." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AddressInfo": { +"description": "Address for proximity criterion.", +"id": "GoogleAdsSearchads360V23Common__AddressInfo", +"properties": { +"cityName": { +"description": "Name of the city.", +"type": "string" +}, +"countryCode": { +"description": "Country code.", +"type": "string" +}, +"postalCode": { +"description": "Postal code.", +"type": "string" +}, +"provinceCode": { +"description": "Province or state code.", +"type": "string" +}, +"provinceName": { +"description": "Province or state name.", +"type": "string" +}, +"streetAddress": { +"description": "Street address line 1.", +"type": "string" +}, +"streetAddress2": { +"description": "Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AgeDimension": { +"description": "Dimension specifying users by their age.", +"id": "GoogleAdsSearchads360V23Common__AgeDimension", +"properties": { +"ageRanges": { +"description": "Contiguous age range to be included in the dimension.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AgeSegment" +}, +"type": "array" +}, +"includeUndetermined": { +"description": "Include users whose age is not determined.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AgeRangeInfo": { +"description": "An age range criterion.", +"id": "GoogleAdsSearchads360V23Common__AgeRangeInfo", +"properties": { +"type": { +"description": "Type of the age range.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AGE_RANGE_18_24", +"AGE_RANGE_25_34", +"AGE_RANGE_35_44", +"AGE_RANGE_45_54", +"AGE_RANGE_55_64", +"AGE_RANGE_65_UP", +"AGE_RANGE_UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Between 18 and 24 years old.", +"Between 25 and 34 years old.", +"Between 35 and 44 years old.", +"Between 45 and 54 years old.", +"Between 55 and 64 years old.", +"65 years old and beyond.", +"Undetermined age range." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AgeSegment": { +"description": "Contiguous age range.", +"id": "GoogleAdsSearchads360V23Common__AgeSegment", +"properties": { +"maxAge": { +"description": "Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.", +"format": "int32", +"type": "integer" +}, +"minAge": { +"description": "Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AppAdInfo": { +"description": "An app ad.", +"id": "GoogleAdsSearchads360V23Common__AppAdInfo", +"properties": { +"appDeepLink": { +"$ref": "GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset", +"description": "An app deep link asset that may be used with the ad." +}, +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"html5MediaBundles": { +"description": "List of media bundle assets that may be used with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset" +}, +"type": "array" +}, +"images": { +"description": "List of image assets that may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"mandatoryAdText": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Mandatory ad text." +}, +"youtubeVideos": { +"description": "List of YouTube video assets that may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AppDeepLinkAsset": { +"description": "An app deep link asset", +"id": "GoogleAdsSearchads360V23Common__AppDeepLinkAsset", +"properties": { +"appDeepLinkUri": { +"description": "The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AppEngagementAdInfo": { +"description": "App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster.", +"id": "GoogleAdsSearchads360V23Common__AppEngagementAdInfo", +"properties": { +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"images": { +"description": "List of image assets that may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"videos": { +"description": "List of video assets that may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AppPaymentModelInfo": { +"description": "An app payment model criterion.", +"id": "GoogleAdsSearchads360V23Common__AppPaymentModelInfo", +"properties": { +"type": { +"description": "Type of the app payment model.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAID" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Represents paid-for apps." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo": { +"description": "App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch.", +"id": "GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo", +"properties": { +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"images": { +"description": "List of image asset IDs whose images may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"youtubeVideos": { +"description": "List of YouTube video asset IDs whose videos may be displayed with the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AssetDisapproved": { +"description": "Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED", +"id": "GoogleAdsSearchads360V23Common__AssetDisapproved", +"properties": { +"offlineEvaluationErrorReasons": { +"description": "Provides the quality evaluation disapproval reason of an asset.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PRICE_ASSET_DESCRIPTION_REPEATS_ROW_HEADER", +"PRICE_ASSET_REPETITIVE_HEADERS", +"PRICE_ASSET_HEADER_INCOMPATIBLE_WITH_PRICE_TYPE", +"PRICE_ASSET_DESCRIPTION_INCOMPATIBLE_WITH_ITEM_HEADER", +"PRICE_ASSET_DESCRIPTION_HAS_PRICE_QUALIFIER", +"PRICE_ASSET_UNSUPPORTED_LANGUAGE", +"PRICE_ASSET_OTHER_ERROR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"One or more descriptions repeats its corresponding row header.", +"Price asset contains repetitive headers.", +"Price item header is not relevant to the price type.", +"Price item description is not relevant to the item header.", +"Price asset has a price qualifier in a description.", +"Unsupported language for price assets", +"Human raters identified an issue with the price asset that isn't captured by other error reasons. The primary purpose of this value is to represent legacy FeedItem disapprovals that are no longer produced." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AssetInteractionTarget": { +"description": "An AssetInteractionTarget segment.", +"id": "GoogleAdsSearchads360V23Common__AssetInteractionTarget", +"properties": { +"asset": { +"description": "The asset resource name.", +"type": "string" +}, +"interactionOnThisAsset": { +"description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails": { +"description": "Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.", +"id": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails", +"properties": { +"assetDisapproved": { +"$ref": "GoogleAdsSearchads360V23Common__AssetDisapproved", +"description": "Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED" +}, +"reason": { +"description": "Provides the reason of this PrimaryStatus.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_LINK_PAUSED", +"ASSET_LINK_REMOVED", +"ASSET_DISAPPROVED", +"ASSET_UNDER_REVIEW", +"ASSET_APPROVED_LABELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", +"The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", +"The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", +"The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", +"The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." +], +"type": "string" +}, +"status": { +"description": "Provides the PrimaryStatus of this status detail.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is eligible to serve.", +"The user-specified asset link status is paused.", +"The user-specified asset link status is removed.", +"The asset may serve in the future.", +"The asset is serving in a partial capacity.", +"The asset is not eligible to serve." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AssetUsage": { +"description": "Contains the usage information of the asset.", +"id": "GoogleAdsSearchads360V23Common__AssetUsage", +"properties": { +"asset": { +"description": "Resource name of the asset.", +"type": "string" +}, +"servedAssetFieldType": { +"description": "The served field type of the asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE_1", +"HEADLINE_2", +"HEADLINE_3", +"DESCRIPTION_1", +"DESCRIPTION_2", +"HEADLINE", +"HEADLINE_IN_PORTRAIT", +"LONG_HEADLINE", +"DESCRIPTION", +"DESCRIPTION_IN_PORTRAIT", +"BUSINESS_NAME_IN_PORTRAIT", +"BUSINESS_NAME", +"MARKETING_IMAGE", +"MARKETING_IMAGE_IN_PORTRAIT", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"CALL_TO_ACTION", +"YOU_TUBE_VIDEO", +"SITELINK", +"CALL", +"MOBILE_APP", +"CALLOUT", +"STRUCTURED_SNIPPET", +"PRICE", +"PROMOTION", +"AD_IMAGE", +"LEAD_FORM", +"BUSINESS_LOGO", +"DESCRIPTION_PREFIX", +"HEADLINE_AS_SITELINK_POSITION_ONE", +"HEADLINE_AS_SITELINK_POSITION_TWO", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset is used in headline 1.", +"The asset is used in headline 2.", +"The asset is used in headline 3.", +"The asset is used in description 1.", +"The asset is used in description 2.", +"The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", +"The asset was used as a headline in portrait image.", +"The asset was used in a long headline (used in MultiAssetResponsiveAd).", +"The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", +"The asset was used as description in portrait image.", +"The asset was used as business name in portrait image.", +"The asset was used as business name.", +"The asset was used as a marketing image.", +"The asset was used as a marketing image in portrait image.", +"The asset was used as a square marketing image.", +"The asset was used as a portrait marketing image.", +"The asset was used as a logo.", +"The asset was used as a landscape logo.", +"The asset was used as a call-to-action.", +"The asset was used as a YouTube video.", +"This asset is used as a sitelink.", +"This asset is used as a call.", +"This asset is used as a mobile app.", +"This asset is used as a callout.", +"This asset is used as a structured snippet.", +"This asset is used as a price.", +"This asset is used as a promotion.", +"This asset is used as an image.", +"The asset is used as a lead form.", +"The asset is used as a business logo.", +"The asset is used as a description prefix.", +"A headline asset used as a sitelink in position 1.", +"A headline asset used as a sitelink in position 2.", +"A description line asset used as a sitelink in position 1.", +"A description line asset used as a sitelink in position 2." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceDimension": { +"description": "Positive dimension specifying user's audience.", +"id": "GoogleAdsSearchads360V23Common__AudienceDimension", +"properties": { +"age": { +"$ref": "GoogleAdsSearchads360V23Common__AgeDimension", +"description": "Dimension specifying users by their age." +}, +"audienceSegments": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceSegmentDimension", +"description": "Dimension specifying users by their membership in other audience segments." +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderDimension", +"description": "Dimension specifying users by their gender." +}, +"householdIncome": { +"$ref": "GoogleAdsSearchads360V23Common__HouseholdIncomeDimension", +"description": "Dimension specifying users by their household income." +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusDimension", +"description": "Dimension specifying users by their parental status." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceExclusionDimension": { +"description": "Negative dimension specifying users to exclude from the audience.", +"id": "GoogleAdsSearchads360V23Common__AudienceExclusionDimension", +"properties": { +"exclusions": { +"description": "Audience segment to be excluded.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__ExclusionSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInfo": { +"description": "An audience criterion.", +"id": "GoogleAdsSearchads360V23Common__AudienceInfo", +"properties": { +"audience": { +"description": "The Audience resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsAttribute": { +"description": "An audience attribute that can be used to request insights about the audience.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", +"properties": { +"ageRange": { +"$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", +"description": "An audience attribute defined by an age range." +}, +"category": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsCategory", +"description": "An audience attribute defined by interest in a Product & Service category." +}, +"device": { +"$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", +"description": "A device type. (Mobile, Desktop, Tablet)" +}, +"entity": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsEntity", +"description": "An audience attribute defined by interest in a topic represented by a Knowledge Graph entity." +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo", +"description": "An audience attribute defined by a gender." +}, +"incomeRange": { +"$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", +"description": "A household income percentile range." +}, +"lineup": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup", +"description": "A YouTube Lineup." +}, +"location": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "An audience attribute defined by a geographic location." +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"description": "A Parental Status value (parent, or not a parent)." +}, +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", +"description": "An Affinity or In-Market audience." +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo", +"description": "A User List." +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "A YouTube channel." +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"description": "A YouTube video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata": { +"description": "An audience attribute, with metadata about it, returned in response to a search.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", +"properties": { +"attribute": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", +"description": "The attribute itself." +}, +"dimension": { +"description": "The type of the attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"displayInfo": { +"description": "A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as \"American singer-songwriter\". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example \"/Apparel/Clothing/Outerwear\".", +"type": "string" +}, +"displayName": { +"description": "The human-readable name of the attribute.", +"type": "string" +}, +"knowledgeGraphAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata", +"description": "Special metadata for a Knowledge Graph Entity." +}, +"lineupAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__LineupAttributeMetadata", +"description": "Special metadata for a YouTube Lineup." +}, +"locationAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__LocationAttributeMetadata", +"description": "Special metadata for a Location." +}, +"potentialYoutubeReach": { +"description": "An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.", +"format": "int64", +"type": "string" +}, +"subscriberShare": { +"description": "The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.", +"format": "double", +"type": "number" +}, +"userInterestAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata", +"description": "Special metadata for a User Interest." +}, +"userListAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__UserListAttributeMetadata", +"description": "Special metadata for a User List." +}, +"viewerShare": { +"description": "The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.", +"format": "double", +"type": "number" +}, +"youtubeChannelMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", +"description": "Special metadata for a YouTube channel." +}, +"youtubeVideoMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata", +"description": "Special metadata for a YouTube video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup": { +"description": "A group of audience attributes with metadata, returned in response to a search.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup", +"properties": { +"attributes": { +"description": "Attributes with metadata returned in response to a search.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsCategory": { +"description": "A Product and Service category.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsCategory", +"properties": { +"categoryId": { +"description": "Required. The criterion ID of the category.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsEntity": { +"description": "A Knowledge Graph entity, represented by its machine id.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsEntity", +"properties": { +"knowledgeGraphMachineId": { +"description": "Required. The machine ID (mid) of the Knowledge Graph entity.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceInsightsLineup": { +"description": "A YouTube Lineup.", +"id": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup", +"properties": { +"lineupId": { +"description": "Required. The numeric ID of the lineup.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceSegment": { +"description": "Positive audience segment.", +"id": "GoogleAdsSearchads360V23Common__AudienceSegment", +"properties": { +"customAudience": { +"$ref": "GoogleAdsSearchads360V23Common__CustomAudienceSegment", +"description": "Custom audience segment." +}, +"detailedDemographic": { +"$ref": "GoogleAdsSearchads360V23Common__DetailedDemographicSegment", +"description": "Detailed demographic segment." +}, +"lifeEvent": { +"$ref": "GoogleAdsSearchads360V23Common__LifeEventSegment", +"description": "Live-event audience segment." +}, +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestSegment", +"description": "Affinity or In-market segment." +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListSegment", +"description": "User list segment." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__AudienceSegmentDimension": { +"description": "Dimension specifying users by their membership in other audience segments.", +"id": "GoogleAdsSearchads360V23Common__AudienceSegmentDimension", +"properties": { +"segments": { +"description": "Included audience segments. Users are included if they belong to at least one segment.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceSegment" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BasicUserListInfo": { +"id": "GoogleAdsSearchads360V23Common__BasicUserListInfo", +"properties": { +"actions": { +"description": "Actions associated with this user list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserListActionInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BookOnGoogleAsset": { +"description": "A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google.", +"id": "GoogleAdsSearchads360V23Common__BookOnGoogleAsset", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BrandInfo": { +"description": "Represents a Brand Criterion used for targeting based on commercial knowledge graph.", +"id": "GoogleAdsSearchads360V23Common__BrandInfo", +"properties": { +"displayName": { +"description": "Output only. A text representation of a brand.", +"readOnly": true, +"type": "string" +}, +"entityId": { +"description": "The Commercial KG MID for the brand.", +"type": "string" +}, +"primaryUrl": { +"description": "Output only. The primary url of a brand.", +"readOnly": true, +"type": "string" +}, +"rejectionReason": { +"description": "Output only. The rejection reason when a brand status is REJECTED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXISTING_BRAND", +"EXISTING_BRAND_VARIANT", +"INCORRECT_INFORMATION", +"NOT_A_BRAND" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Brand is already present in the commercial brand set.", +"Brand is already present in the commercial brand set, but is a variant.", +"Brand information is not correct (eg: URL and name don't match).", +"Not a valid brand as per Google policy." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of a brand.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"DEPRECATED", +"UNVERIFIED", +"APPROVED", +"CANCELLED", +"REJECTED" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Brand is verified and globally available for selection", +"Brand was globally available in past but is no longer a valid brand (based on business criteria)", +"Brand is unverified and customer scoped, but can be selected by customer (only who requested for same) for targeting", +"Was a customer-scoped (unverified) brand, which got approved by business and added to the global list. Its assigned CKG MID should be used instead of this", +"Was a customer-scoped (unverified) brand, but the request was canceled by customer and this brand id is no longer valid", +"Was a customer-scoped (unverified) brand, but the request was rejected by internal business team and this brand id is no longer valid" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BrandListInfo": { +"description": "A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded.", +"id": "GoogleAdsSearchads360V23Common__BrandListInfo", +"properties": { +"sharedSet": { +"description": "Shared set resource name of the brand list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BudgetSimulationPoint": { +"description": "Projected metrics for a specific budget amount.", +"id": "GoogleAdsSearchads360V23Common__BudgetSimulationPoint", +"properties": { +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions.", +"format": "double", +"type": "number" +}, +"budgetAmountMicros": { +"description": "The simulated budget upon which projected metrics are based.", +"format": "int64", +"type": "string" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"interactions": { +"description": "Projected number of interactions. Only discovery advertising channel type supports this field.", +"format": "int64", +"type": "string" +}, +"requiredCpcBidCeilingMicros": { +"description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.", +"format": "int64", +"type": "string" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BudgetSimulationPointList": { +"description": "A container for simulation points for simulations of type BUDGET.", +"id": "GoogleAdsSearchads360V23Common__BudgetSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of budget amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__BudgetSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessMessageAsset": { +"description": "A business message asset.", +"id": "GoogleAdsSearchads360V23Common__BusinessMessageAsset", +"properties": { +"callToAction": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo", +"description": "A call to action for the business message asset." +}, +"facebookMessengerInfo": { +"$ref": "GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo", +"description": "Facebook Messenger." +}, +"messageProvider": { +"description": "Required. Message provider of the business message asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WHATSAPP", +"FACEBOOK_MESSENGER", +"ZALO" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"WhatsApp message provider", +"Facebook Messenger message provider", +"Zalo message provider" +], +"type": "string" +}, +"starterMessage": { +"description": "Required. A welcome message to prompt the user to initiate a conversation.", +"type": "string" +}, +"whatsappInfo": { +"$ref": "GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo", +"description": "Whatsapp." +}, +"zaloInfo": { +"$ref": "GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo", +"description": "Zalo." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo": { +"description": "Display information that encourages the user to take action.", +"id": "GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo", +"properties": { +"callToActionDescription": { +"description": "Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.", +"type": "string" +}, +"callToActionSelection": { +"description": "Required. Pre-defined call to action text.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLY_NOW", +"BOOK_NOW", +"CONTACT_US", +"GET_INFO", +"GET_OFFER", +"GET_QUOTE", +"GET_STARTED", +"LEARN_MORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Apply now.", +"Book now.", +"Contact us.", +"Get info.", +"Get offer.", +"Get quote.", +"Get started.", +"Learn more." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter": { +"description": "Business Profile location group business name filter.", +"id": "GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter", +"properties": { +"businessName": { +"description": "Business name string to use for filtering.", +"type": "string" +}, +"filterType": { +"description": "The type of string matching to use when filtering with business_name.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The filter will use exact string matching." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessProfileLocation": { +"description": "Business Profile location data synced from the linked Business Profile account.", +"id": "GoogleAdsSearchads360V23Common__BusinessProfileLocation", +"properties": { +"labels": { +"description": "Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.", +"items": { +"type": "string" +}, +"type": "array" +}, +"listingId": { +"description": "Listing ID of this Business Profile location. This is synced from the linked Business Profile account.", +"format": "int64", +"type": "string" +}, +"storeCode": { +"description": "Business Profile store code of this location. This is synced from the Business Profile account.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup": { +"description": "Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile.", +"id": "GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup", +"properties": { +"dynamicBusinessProfileLocationGroupFilter": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter", +"description": "Filter for dynamic Business Profile location sets." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__BusinessProfileLocationSet": { +"description": "Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified.", +"id": "GoogleAdsSearchads360V23Common__BusinessProfileLocationSet", +"properties": { +"businessAccountId": { +"description": "Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.", +"type": "string" +}, +"businessNameFilter": { +"description": "Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.", +"type": "string" +}, +"emailAddress": { +"description": "Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.", +"type": "string" +}, +"httpAuthorizationToken": { +"description": "Required. Immutable. The HTTP authorization token used to obtain authorization.", +"type": "string" +}, +"labelFilters": { +"description": "Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.", +"items": { +"type": "string" +}, +"type": "array" +}, +"listingIdFilters": { +"description": "Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CallAsset": { +"description": "A Call asset.", +"id": "GoogleAdsSearchads360V23Common__CallAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"callConversionAction": { +"description": "The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.", +"type": "string" +}, +"callConversionReportingState": { +"description": "Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISABLED", +"USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", +"USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Call conversion action is disabled.", +"Call conversion action will use call conversion type set at the account level.", +"Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." +], +"type": "string" +}, +"countryCode": { +"description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.", +"type": "string" +}, +"phoneNumber": { +"description": "Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CallFeedItem": { +"description": "Represents a Call extension.", +"id": "GoogleAdsSearchads360V23Common__CallFeedItem", +"properties": { +"callConversionAction": { +"description": "The conversion action to attribute a call conversion to. If not set a default conversion action is used. This field only has effect if call_tracking_enabled is set to true. Otherwise this field is ignored.", +"type": "string" +}, +"callConversionReportingState": { +"description": "Enum value that indicates whether this call extension uses its own call conversion setting (or just have call conversion disabled), or following the account level setting.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISABLED", +"USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", +"USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Call conversion action is disabled.", +"Call conversion action will use call conversion type set at the account level.", +"Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." +], +"type": "string" +}, +"callConversionTrackingDisabled": { +"description": "If true, disable call conversion tracking. call_conversion_action should not be set if this is true. Optional.", +"type": "boolean" +}, +"callTrackingEnabled": { +"description": "Indicates whether call tracking is enabled. By default, call tracking is not enabled.", +"type": "boolean" +}, +"countryCode": { +"description": "Uppercase two-letter country code of the advertiser's phone number. This string must not be empty.", +"type": "string" +}, +"phoneNumber": { +"description": "The advertiser's phone number to append to the ad. This string must not be empty.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CallToActionAsset": { +"description": "A call to action asset.", +"id": "GoogleAdsSearchads360V23Common__CallToActionAsset", +"properties": { +"callToAction": { +"description": "Call to action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEARN_MORE", +"GET_QUOTE", +"APPLY_NOW", +"SIGN_UP", +"CONTACT_US", +"SUBSCRIBE", +"DOWNLOAD", +"BOOK_NOW", +"SHOP_NOW", +"BUY_NOW", +"DONATE_NOW", +"ORDER_NOW", +"PLAY_NOW", +"SEE_MORE", +"START_NOW", +"VISIT_SITE", +"WATCH_NOW" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The call to action type is learn more.", +"The call to action type is get quote.", +"The call to action type is apply now.", +"The call to action type is sign up.", +"The call to action type is contact us.", +"The call to action type is subscribe.", +"The call to action type is download.", +"The call to action type is book now.", +"The call to action type is shop now.", +"The call to action type is buy now.", +"The call to action type is donate now.", +"The call to action type is order now.", +"The call to action type is play now.", +"The call to action type is see more.", +"The call to action type is start now.", +"The call to action type is visit site.", +"The call to action type is watch now." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CalloutAsset": { +"description": "A Callout asset.", +"id": "GoogleAdsSearchads360V23Common__CalloutAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"calloutText": { +"description": "Required. The callout text. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CalloutFeedItem": { +"description": "Represents a callout extension.", +"id": "GoogleAdsSearchads360V23Common__CalloutFeedItem", +"properties": { +"calloutText": { +"description": "The callout text. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner": { +"description": "Container for third party Brand Lift integration data for Campaign.", +"id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner", +"properties": { +"brandLiftIntegrationPartner": { +"description": "Allowed third party integration partners for Brand Lift verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KANTAR_MILLWARD_BROWN", +"DYNATA", +"INTAGE", +"MACROMILL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Kantar", +"Dynata", +"Intage", +"Macromill" +], +"type": "string" +}, +"brandLiftIntegrationPartnerData": { +"$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", +"description": "Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns." +}, +"shareCost": { +"description": "If true, then cost data will be shared with this vendor.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner": { +"description": "Container for third party brand safety integration data for Campaign.", +"id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner", +"properties": { +"brandSafetyIntegrationPartner": { +"description": "Allowed third party integration partners for brand safety verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DOUBLE_VERIFY", +"INTEGRAL_AD_SCIENCE", +"ZEFR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"DoubleVerify.", +"Integral Ad Science.", +"Zefr." +], +"type": "string" +}, +"brandSafetyIntegrationPartnerData": { +"$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", +"description": "Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners": { +"description": "Container for Campaign level third party integration partners.", +"id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners", +"properties": { +"brandLiftIntegrationPartners": { +"description": "Third party integration partners for Brand Lift verification for this Campaign.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner" +}, +"type": "array" +}, +"brandSafetyIntegrationPartners": { +"description": "Third party integration partners for brand safety verification for this Campaign.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner" +}, +"type": "array" +}, +"reachIntegrationPartners": { +"description": "Third party integration partners for reach verification for this Campaign.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner" +}, +"type": "array" +}, +"viewabilityIntegrationPartners": { +"description": "Third party integration partners for YouTube viewability verification for this Campaign.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner": { +"description": "Container for third party reach integration data for Campaign.", +"id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner", +"properties": { +"reachIntegrationPartner": { +"description": "Allowed third party integration partners for reach verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NIELSEN", +"COMSCORE", +"KANTAR_MILLWARD_BROWN", +"VIDEO_RESEARCH", +"GEMIUS", +"MEDIA_SCOPE", +"AUDIENCE_PROJECT", +"VIDEO_AMP", +"ISPOT_TV" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Nielsen.", +"Comscore.", +"Kantar.", +"Video Research.", +"Gemius.", +"MediaScope.", +"AudienceProject", +"VideoAmp", +"iSpot.tv" +], +"type": "string" +}, +"reachIntegrationPartnerData": { +"$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", +"description": "Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns." +}, +"shareCost": { +"description": "If true, then cost data will be shared with this vendor.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner": { +"description": "Container for third party viewability integration data for Campaign.", +"id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner", +"properties": { +"shareCost": { +"description": "If true, then cost data will be shared with this vendor.", +"type": "boolean" +}, +"viewabilityIntegrationPartner": { +"description": "Allowed third party integration partners for YouTube viewability verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DOUBLE_VERIFY", +"INTEGRAL_AD_SCIENCE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"DoubleVerify.", +"Integral Ad Science." +], +"type": "string" +}, +"viewabilityIntegrationPartnerData": { +"$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", +"description": "Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CarrierInfo": { +"description": "Represents a Carrier Criterion.", +"id": "GoogleAdsSearchads360V23Common__CarrierInfo", +"properties": { +"carrierConstant": { +"description": "The Carrier constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ChainFilter": { +"description": "One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.", +"id": "GoogleAdsSearchads360V23Common__ChainFilter", +"properties": { +"chainId": { +"description": "Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.", +"format": "int64", +"type": "string" +}, +"locationAttributes": { +"description": "Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ChainLocationGroup": { +"description": "Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.", +"id": "GoogleAdsSearchads360V23Common__ChainLocationGroup", +"properties": { +"dynamicChainLocationGroupFilters": { +"description": "Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__ChainFilter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ChainSet": { +"description": "Data used to configure a location set populated with the specified chains.", +"id": "GoogleAdsSearchads360V23Common__ChainSet", +"properties": { +"chains": { +"description": "Required. A list of chain level filters, all filters are OR'ed together.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__ChainFilter" +}, +"type": "array" +}, +"relationshipType": { +"description": "Required. Immutable. Relationship type the specified chains have with this advertiser.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AUTO_DEALERS", +"GENERAL_RETAILERS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Auto dealer relationship.", +"General retailer relationship." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ClickLocation": { +"description": "Location criteria associated with a click.", +"id": "GoogleAdsSearchads360V23Common__ClickLocation", +"properties": { +"city": { +"description": "The city location criterion associated with the impression.", +"type": "string" +}, +"country": { +"description": "The country location criterion associated with the impression.", +"type": "string" +}, +"metro": { +"description": "The metro location criterion associated with the impression.", +"type": "string" +}, +"mostSpecific": { +"description": "The most specific location criterion associated with the impression.", +"type": "string" +}, +"region": { +"description": "The region location criterion associated with the impression.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CombinedAudienceInfo": { +"description": "A combined audience criterion.", +"id": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", +"properties": { +"combinedAudience": { +"description": "The CombinedAudience resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Commission": { +"description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", +"id": "GoogleAdsSearchads360V23Common__Commission", +"properties": { +"commissionRateMicros": { +"description": "Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ConceptGroup": { +"description": "The concept group for the keyword concept.", +"id": "GoogleAdsSearchads360V23Common__ConceptGroup", +"properties": { +"name": { +"description": "The concept group name.", +"type": "string" +}, +"type": { +"description": "The concept group type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BRAND", +"OTHER_BRANDS", +"NON_BRAND" +], +"enumDescriptions": [ +"The concept group classification different from brand/non-brand. This is a catch all bucket for all classifications that are none of the below.", +"The value is unknown in this version.", +"The concept group classification is based on BRAND.", +"The concept group classification based on BRAND, that didn't fit well with the BRAND classifications. These are generally outliers and can have very few keywords in this type of classification.", +"These concept group classification is not based on BRAND. This is returned for generic keywords that don't have a brand association." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Consent": { +"description": "Consent", +"id": "GoogleAdsSearchads360V23Common__Consent", +"properties": { +"adPersonalization": { +"description": "This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GRANTED", +"DENIED" +], +"enumDescriptions": [ +"Not specified.", +"Output-only. Represents a format not yet defined in this enum.", +"Granted.", +"Denied." +], +"type": "string" +}, +"adUserData": { +"description": "This represents consent for ad user data.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GRANTED", +"DENIED" +], +"enumDescriptions": [ +"Not specified.", +"Output-only. Represents a format not yet defined in this enum.", +"Granted.", +"Denied." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ContentLabelInfo": { +"description": "Content Label for category exclusion.", +"id": "GoogleAdsSearchads360V23Common__ContentLabelInfo", +"properties": { +"type": { +"description": "Content label type, required for CREATE operations.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEXUALLY_SUGGESTIVE", +"BELOW_THE_FOLD", +"PARKED_DOMAIN", +"JUVENILE", +"PROFANITY", +"TRAGEDY", +"VIDEO", +"VIDEO_RATING_DV_G", +"VIDEO_RATING_DV_PG", +"VIDEO_RATING_DV_T", +"VIDEO_RATING_DV_MA", +"VIDEO_NOT_YET_RATED", +"EMBEDDED_VIDEO", +"LIVE_STREAMING_VIDEO", +"SOCIAL_ISSUES", +"BRAND_SUITABILITY_CONTENT_FOR_FAMILIES", +"BRAND_SUITABILITY_GAMES_FIGHTING", +"BRAND_SUITABILITY_GAMES_MATURE", +"BRAND_SUITABILITY_HEALTH_SENSITIVE", +"BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED", +"BRAND_SUITABILITY_NEWS_RECENT", +"BRAND_SUITABILITY_NEWS_SENSITIVE", +"BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED", +"BRAND_SUITABILITY_POLITICS", +"BRAND_SUITABILITY_RELIGION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Sexually suggestive content.", +"Below the fold placement.", +"Parked domain.", +"Juvenile, gross & bizarre content.", +"Profanity & rough language.", +"Death & tragedy.", +"Video.", +"Content rating: G.", +"Content rating: PG.", +"Content rating: T.", +"Content rating: MA.", +"Content rating: not yet rated.", +"Embedded video.", +"Live streaming video.", +"Sensitive social issues.", +"Content that's suitable for families to view together, including Made for Kids videos on YouTube.", +"Video games that simulate hand-to-hand fighting or combat with the use of modern or medieval weapons.", +"Video games that feature mature content, such as violence, inappropriate language, or sexual suggestiveness.", +"Health content that people might find sensitive or upsetting, such as medical procedures or images and descriptions of various medical conditions.", +"Health content from sources that may provide accurate information but aren't as commonly cited as other, more well-known sources.", +"News content that's been recently announced, regardless of the themes or people being reported on.", +"News content that people might find sensitive or upsetting, such as crimes, accidents, and natural incidents, or commentary on potentially controversial social and political issues.", +"News content from sources that aren't featured on Google News or YouTube News.", +"Political content, such as political statements made by well-known politicians, political elections, or events widely perceived to be political in nature.", +"Content with religious themes, such as religious teachings or customs, holy sites or places of worship, well-known religious figures or people dressed in religious attire, or religious opinions on social and political issues." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CpcBidSimulationPoint": { +"description": "Projected metrics for a specific CPC bid amount.", +"id": "GoogleAdsSearchads360V23Common__CpcBidSimulationPoint", +"properties": { +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"cpcBidMicros": { +"description": "The simulated CPC bid upon which projected metrics are based.", +"format": "int64", +"type": "string" +}, +"cpcBidScalingModifier": { +"description": "The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.", +"format": "double", +"type": "number" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"requiredBudgetAmountMicros": { +"description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", +"format": "int64", +"type": "string" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CpcBidSimulationPointList": { +"description": "A container for simulation points for simulations of type CPC_BID.", +"id": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of CPC bid amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CpvBidSimulationPoint": { +"description": "Projected metrics for a specific CPV bid amount.", +"id": "GoogleAdsSearchads360V23Common__CpvBidSimulationPoint", +"properties": { +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"cpvBidMicros": { +"description": "The simulated CPV bid upon which projected metrics are based.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"views": { +"description": "Projected number of views.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CpvBidSimulationPointList": { +"description": "A container for simulation points for simulations of type CPV_BID.", +"id": "GoogleAdsSearchads360V23Common__CpvBidSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of CPV bid amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CpvBidSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CriterionCategoryAvailability": { +"description": "Information of category availability, per advertising channel.", +"id": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability", +"properties": { +"channel": { +"$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability", +"description": "Channel types and subtypes that are available to the category." +}, +"locale": { +"description": "Locales that are available to the category for the channel.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability": { +"description": "Information of advertising channel type and subtypes a category is available in.", +"id": "GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability", +"properties": { +"advertisingChannelSubType": { +"description": "Channel subtypes under the channel type the category is available to.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH_MOBILE_APP", +"DISPLAY_MOBILE_APP", +"SEARCH_EXPRESS", +"DISPLAY_EXPRESS", +"SHOPPING_SMART_ADS", +"DISPLAY_GMAIL_AD", +"DISPLAY_SMART_CAMPAIGN", +"VIDEO_ACTION", +"VIDEO_NON_SKIPPABLE", +"APP_CAMPAIGN", +"APP_CAMPAIGN_FOR_ENGAGEMENT", +"LOCAL_CAMPAIGN", +"SHOPPING_COMPARISON_LISTING_ADS", +"SMART_CAMPAIGN", +"VIDEO_SEQUENCE", +"APP_CAMPAIGN_FOR_PRE_REGISTRATION", +"VIDEO_REACH_TARGET_FREQUENCY", +"TRAVEL_ACTIVITIES", +"SOCIAL_FACEBOOK_TRACKING_ONLY" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Mobile app campaigns for Search.", +"Mobile app campaigns for Display.", +"AdWords express campaigns for search.", +"AdWords Express campaigns for display.", +"Smart Shopping campaigns.", +"Gmail Ad campaigns.", +"Smart display campaigns. New campaigns of this sub type cannot be created.", +"Video TrueView for Action campaigns.", +"Video campaigns with non-skippable video ads.", +"App Campaign that lets you easily promote your Android or iOS app across Google's top properties including Search, Play, YouTube, and the Google Display Network.", +"App Campaign for engagement, focused on driving re-engagement with the app across several of Google's top properties including Search, YouTube, and the Google Display Network.", +"Campaigns specialized for local advertising.", +"Shopping Comparison Listing campaigns.", +"Standard Smart campaigns.", +"Video campaigns with sequence video ads.", +"App Campaign for pre registration, specialized for advertising mobile app pre-registration, that targets multiple advertising channels across Google Play, YouTube and Display Network.", +"Video reach campaign with Target Frequency bidding strategy.", +"Travel Activities campaigns.", +"Facebook tracking only social campaigns." +], +"type": "string" +}, +"type": "array" +}, +"advertisingChannelType": { +"description": "Channel type the category is available to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"SHOPPING", +"HOTEL", +"VIDEO", +"MULTI_CHANNEL", +"LOCAL", +"SMART", +"PERFORMANCE_MAX", +"LOCAL_SERVICES", +"TRAVEL", +"DEMAND_GEN", +"SOCIAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search Network. Includes display bundled, and Search+ campaigns.", +"Google Display Network only.", +"Shopping campaigns serve on the shopping property and on google.com search results.", +"Hotel Ads campaigns.", +"Video campaigns.", +"App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", +"Local ads campaigns.", +"Smart campaigns.", +"Performance Max campaigns.", +"Local services campaigns.", +"Travel campaigns.", +"Demand Gen campaigns.", +"Social campaigns." +], +"type": "string" +}, +"availabilityMode": { +"description": "Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_CHANNELS", +"CHANNEL_TYPE_AND_ALL_SUBTYPES", +"CHANNEL_TYPE_AND_SUBSET_SUBTYPES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The category is available to campaigns of all channel types and subtypes.", +"The category is available to campaigns of a specific channel type, including all subtypes under it.", +"The category is available to campaigns of a specific channel type and subtype(s)." +], +"type": "string" +}, +"includeDefaultChannelSubType": { +"description": "Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability": { +"description": "Information about which locales a category is available in.", +"id": "GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability", +"properties": { +"availabilityMode": { +"description": "Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_LOCALES", +"COUNTRY_AND_ALL_LANGUAGES", +"LANGUAGE_AND_ALL_COUNTRIES", +"COUNTRY_AND_LANGUAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The category is available to campaigns of all locales.", +"The category is available to campaigns within a list of countries, regardless of language.", +"The category is available to campaigns within a list of languages, regardless of country.", +"The category is available to campaigns within a list of country, language pairs." +], +"type": "string" +}, +"countryCode": { +"description": "The ISO-3166-1 alpha-2 country code associated with the category.", +"type": "string" +}, +"languageCode": { +"description": "ISO 639-1 code of the language associated with the category.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CrmBasedUserListInfo": { +"description": "UserList of CRM users provided by the advertiser.", +"id": "GoogleAdsSearchads360V23Common__CrmBasedUserListInfo", +"properties": { +"appId": { +"description": "A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.", +"type": "string" +}, +"dataSourceType": { +"description": "Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FIRST_PARTY", +"THIRD_PARTY_CREDIT_BUREAU", +"THIRD_PARTY_VOTER_FILE", +"THIRD_PARTY_PARTNER_DATA" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The uploaded data is first-party data.", +"The uploaded data is from a third-party credit bureau.", +"The uploaded data is from a third-party voter file.", +"The uploaded data is third party partner data." +], +"type": "string" +}, +"uploadKeyType": { +"description": "Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONTACT_INFO", +"CRM_ID", +"MOBILE_ADVERTISING_ID" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Members are matched from customer info such as email address, phone number or physical address.", +"Members are matched from a user id generated and assigned by the advertiser.", +"Members are matched from mobile advertising ids." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomAffinityInfo": { +"description": "A custom affinity criterion. A criterion of this type is only targetable.", +"id": "GoogleAdsSearchads360V23Common__CustomAffinityInfo", +"properties": { +"customAffinity": { +"description": "The CustomInterest resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomAudienceInfo": { +"description": "A custom audience criterion.", +"id": "GoogleAdsSearchads360V23Common__CustomAudienceInfo", +"properties": { +"customAudience": { +"description": "The CustomAudience resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomAudienceSegment": { +"description": "Custom audience segment.", +"id": "GoogleAdsSearchads360V23Common__CustomAudienceSegment", +"properties": { +"customAudience": { +"description": "The custom audience resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomIntentInfo": { +"description": "A custom intent criterion. A criterion of this type is only targetable.", +"id": "GoogleAdsSearchads360V23Common__CustomIntentInfo", +"properties": { +"customIntent": { +"description": "The CustomInterest resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomParameter": { +"description": "A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", +"id": "GoogleAdsSearchads360V23Common__CustomParameter", +"properties": { +"key": { +"description": "The key matching the parameter tag name.", +"type": "string" +}, +"value": { +"description": "The value to be substituted.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings": { +"description": "Lifecycle goal optimization value settings.", +"id": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", +"properties": { +"additionalHighLifetimeValue": { +"description": "High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.", +"format": "double", +"type": "number" +}, +"additionalValue": { +"description": "Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata": { +"description": "Metadata for customer match user list.", +"id": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", +"properties": { +"consent": { +"$ref": "GoogleAdsSearchads360V23Common__Consent", +"description": "The consent setting for all the users in this job." +}, +"userList": { +"description": "The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner": { +"description": "Container for third party Brand Lift integration data for Customer.", +"id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner", +"properties": { +"allowShareCost": { +"description": "If true, cost data can be shared with this vendor.", +"type": "boolean" +}, +"brandLiftIntegrationPartner": { +"description": "Allowed Third Party integration partners for Brand Lift verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KANTAR_MILLWARD_BROWN", +"DYNATA", +"INTAGE", +"MACROMILL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Kantar", +"Dynata", +"Intage", +"Macromill" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner": { +"description": "Container for third party brand safety integration data for Customer.", +"id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner", +"properties": { +"brandSafetyIntegrationPartner": { +"description": "Allowed third party integration partners for brand safety verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DOUBLE_VERIFY", +"INTEGRAL_AD_SCIENCE", +"ZEFR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"DoubleVerify.", +"Integral Ad Science.", +"Zefr." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners": { +"description": "Container for Customer level third party integration partners.", +"id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners", +"properties": { +"brandLiftIntegrationPartners": { +"description": "Allowed third party integration partners for Brand Lift verification.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner" +}, +"type": "array" +}, +"brandSafetyIntegrationPartners": { +"description": "Allowed third party integration partners for brand safety verification.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner" +}, +"type": "array" +}, +"reachIntegrationPartners": { +"description": "Allowed third party integration partners for reach verification.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner" +}, +"type": "array" +}, +"viewabilityIntegrationPartners": { +"description": "Allowed third party integration partners for YouTube viewability verification.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner": { +"description": "Container for third party reach integration data for Customer.", +"id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner", +"properties": { +"allowShareCost": { +"description": "If true, cost data can be shared with this vendor.", +"type": "boolean" +}, +"reachIntegrationPartner": { +"description": "Allowed Third Party integration partners for reach verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NIELSEN", +"COMSCORE", +"KANTAR_MILLWARD_BROWN", +"VIDEO_RESEARCH", +"GEMIUS", +"MEDIA_SCOPE", +"AUDIENCE_PROJECT", +"VIDEO_AMP", +"ISPOT_TV" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Nielsen.", +"Comscore.", +"Kantar.", +"Video Research.", +"Gemius.", +"MediaScope.", +"AudienceProject", +"VideoAmp", +"iSpot.tv" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner": { +"description": "Container for third party viewability integration data for Customer.", +"id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner", +"properties": { +"allowShareCost": { +"description": "If true, cost data can be shared with this vendor.", +"type": "boolean" +}, +"viewabilityIntegrationPartner": { +"description": "Allowed third party integration partners for YouTube viewability verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DOUBLE_VERIFY", +"INTEGRAL_AD_SCIENCE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"DoubleVerify.", +"Integral Ad Science." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__CustomizerValue": { +"description": "A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc.", +"id": "GoogleAdsSearchads360V23Common__CustomizerValue", +"properties": { +"stringValue": { +"description": "Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.", +"type": "string" +}, +"type": { +"description": "Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TEXT", +"NUMBER", +"PRICE", +"PERCENT" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"Text customizer.", +"Number customizer.", +"Price customizer consisting of a number and a currency.", +"Percentage customizer consisting of a number and a '%'." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DateRange": { +"description": "A date range.", +"id": "GoogleAdsSearchads360V23Common__DateRange", +"properties": { +"endDate": { +"description": "The end date, in yyyy-mm-dd format. This date is inclusive.", +"type": "string" +}, +"startDate": { +"description": "The start date, in yyyy-mm-dd format. This date is inclusive.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo": { +"description": "A Demand Gen carousel ad.", +"id": "GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo", +"properties": { +"businessName": { +"description": "Required. The Advertiser/brand name.", +"type": "string" +}, +"callToActionText": { +"description": "Call to action text.", +"type": "string" +}, +"carouselCards": { +"description": "Required. Carousel cards that will display with the ad. Min 2 max 10.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset" +}, +"type": "array" +}, +"description": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. The descriptive text of the ad." +}, +"headline": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. Headline of the ad." +}, +"logoImage": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", +"description": "Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%)." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset": { +"description": "A Demand Gen Carousel Card asset.", +"id": "GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset", +"properties": { +"callToActionText": { +"description": "Call to action text.", +"type": "string" +}, +"headline": { +"description": "Required. Headline of the carousel card.", +"type": "string" +}, +"marketingImageAsset": { +"description": "Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.", +"type": "string" +}, +"portraitMarketingImageAsset": { +"description": "Asset resource name of the associated 4:5 portrait marketing image.", +"type": "string" +}, +"squareMarketingImageAsset": { +"description": "Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo": { +"description": "A Demand Gen multi asset ad.", +"id": "GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo", +"properties": { +"businessName": { +"description": "The Advertiser/brand name. Maximum display width is 25. Required.", +"type": "string" +}, +"callToActionText": { +"description": "Call to action text.", +"type": "string" +}, +"descriptions": { +"description": "The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"logoImages": { +"description": "Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"marketingImages": { +"description": "Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"portraitMarketingImages": { +"description": "Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"squareMarketingImages": { +"description": "Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"tallPortraitMarketingImages": { +"description": "Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DemandGenProductAdInfo": { +"description": "A Demand Gen product ad.", +"id": "GoogleAdsSearchads360V23Common__DemandGenProductAdInfo", +"properties": { +"breadcrumb1": { +"description": "First part of text that appears in the ad with the displayed URL.", +"type": "string" +}, +"breadcrumb2": { +"description": "Second part of text that appears in the ad with the displayed URL.", +"type": "string" +}, +"businessName": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. The advertiser/brand name." +}, +"callToAction": { +"$ref": "GoogleAdsSearchads360V23Common__AdCallToActionAsset", +"description": "Asset of type CallToActionAsset used for the \"Call To Action\" button." +}, +"description": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. Text asset used for the description." +}, +"headline": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. Text asset used for the short headline." +}, +"logoImage": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", +"description": "Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%)." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo": { +"description": "A Demand Gen video responsive ad.", +"id": "GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo", +"properties": { +"breadcrumb1": { +"description": "First part of text that appears in the ad with the displayed URL.", +"type": "string" +}, +"breadcrumb2": { +"description": "Second part of text that appears in the ad with the displayed URL.", +"type": "string" +}, +"businessName": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "Required. The advertiser/brand name." +}, +"callToActions": { +"description": "Assets of type CallToActionAsset used for the \"Call To Action\" button.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdCallToActionAsset" +}, +"type": "array" +}, +"companionBanners": { +"description": "List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"descriptions": { +"description": "List of text assets used for the description.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets used for the short headline.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"logoImages": { +"description": "Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"longHeadlines": { +"description": "List of text assets used for the long headline.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"videos": { +"description": "List of YouTube video assets used for the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DetailedDemographicSegment": { +"description": "Detailed demographic segment.", +"id": "GoogleAdsSearchads360V23Common__DetailedDemographicSegment", +"properties": { +"detailedDemographic": { +"description": "The detailed demographic resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DeviceInfo": { +"description": "A device criterion.", +"id": "GoogleAdsSearchads360V23Common__DeviceInfo", +"properties": { +"type": { +"description": "Type of the device.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DisplayUploadAdInfo": { +"description": "A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad.", +"id": "GoogleAdsSearchads360V23Common__DisplayUploadAdInfo", +"properties": { +"displayUploadProductType": { +"description": "The product type of this ad. See comments on the enum for details.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HTML5_UPLOAD_AD", +"DYNAMIC_HTML5_EDUCATION_AD", +"DYNAMIC_HTML5_FLIGHT_AD", +"DYNAMIC_HTML5_HOTEL_RENTAL_AD", +"DYNAMIC_HTML5_JOB_AD", +"DYNAMIC_HTML5_LOCAL_AD", +"DYNAMIC_HTML5_REAL_ESTATE_AD", +"DYNAMIC_HTML5_CUSTOM_AD", +"DYNAMIC_HTML5_TRAVEL_AD", +"DYNAMIC_HTML5_HOTEL_AD" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"HTML5 upload ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set.", +"Dynamic HTML5 education ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in an education campaign.", +"Dynamic HTML5 flight ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a flight campaign.", +"Dynamic HTML5 hotel and rental ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign.", +"Dynamic HTML5 job ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a job campaign.", +"Dynamic HTML5 local ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a local campaign.", +"Dynamic HTML5 real estate ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a real estate campaign.", +"Dynamic HTML5 custom ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a custom campaign.", +"Dynamic HTML5 travel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a travel campaign.", +"Dynamic HTML5 hotel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign." +], +"type": "string" +}, +"mediaBundle": { +"$ref": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset", +"description": "A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter": { +"description": "Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together.", +"id": "GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter", +"properties": { +"businessNameFilter": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter", +"description": "Used to filter Business Profile locations by business name." +}, +"labelFilters": { +"description": "Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.", +"items": { +"type": "string" +}, +"type": "array" +}, +"listingIdFilters": { +"description": "Used to filter Business Profile locations by listing ids.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicCustomAsset": { +"description": "A dynamic custom asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicCustomAsset", +"properties": { +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Sedans, 4 door sedans.", +"items": { +"type": "string" +}, +"type": "array" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.", +"type": "string" +}, +"formattedSalePrice": { +"description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.", +"type": "string" +}, +"id": { +"description": "Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.", +"type": "string" +}, +"id2": { +"description": "ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"itemAddress": { +"description": "Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", +"type": "string" +}, +"itemCategory": { +"description": "Item category, for example, Sedans.", +"type": "string" +}, +"itemDescription": { +"description": "Item description, for example, Best selling mid-size car.", +"type": "string" +}, +"itemSubtitle": { +"description": "Item subtitle, for example, At your Mountain View dealership.", +"type": "string" +}, +"itemTitle": { +"description": "Required. Item title, for example, Mid-size sedan. Required.", +"type": "string" +}, +"price": { +"description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.", +"type": "string" +}, +"salePrice": { +"description": "Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.", +"type": "string" +}, +"similarIds": { +"description": "Similar IDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicEducationAsset": { +"description": "A Dynamic Education asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicEducationAsset", +"properties": { +"address": { +"description": "School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", +"type": "string" +}, +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Nursing certification, Health, Mountain View.", +"items": { +"type": "string" +}, +"type": "array" +}, +"imageUrl": { +"description": "Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"locationId": { +"description": "Location ID which can be any sequence of letters and digits and must be unique.", +"type": "string" +}, +"programDescription": { +"description": "Program description, for example, Nursing Certification.", +"type": "string" +}, +"programId": { +"description": "Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"programName": { +"description": "Required. Program name, for example, Nursing. Required.", +"type": "string" +}, +"schoolName": { +"description": "School name, for example, Mountain View School of Nursing.", +"type": "string" +}, +"similarProgramIds": { +"description": "Similar program IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subject": { +"description": "Subject of study, for example, Health.", +"type": "string" +}, +"thumbnailImageUrl": { +"description": "Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicFlightsAsset": { +"description": "A dynamic flights asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicFlightsAsset", +"properties": { +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"customMapping": { +"description": "A custom field which can be multiple key to values mapping separated by delimiters (\",\", \"|\" and \":\"), in the forms of \": , , ... , | : , ... , | ... | : , ... ,\" for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32\".", +"type": "string" +}, +"destinationId": { +"description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"destinationName": { +"description": "Destination name, for example, Paris.", +"type": "string" +}, +"flightDescription": { +"description": "Required. Flight description, for example, Book your ticket. Required.", +"type": "string" +}, +"flightPrice": { +"description": "Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", +"type": "string" +}, +"flightSalePrice": { +"description": "Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.", +"type": "string" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", +"type": "string" +}, +"formattedSalePrice": { +"description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"originId": { +"description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.", +"type": "string" +}, +"originName": { +"description": "Origin name, for example, London.", +"type": "string" +}, +"similarDestinationIds": { +"description": "Similar destination IDs, for example, PAR,LON.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset": { +"description": "A dynamic hotels and rentals asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset", +"properties": { +"address": { +"description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", +"type": "string" +}, +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"category": { +"description": "Category, for example, Hotel suite.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Mountain View \"Hotels\", South Bay hotels.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description, for example, Close to SJC Airport.", +"type": "string" +}, +"destinationName": { +"description": "Destination name, for example, Downtown Mountain View.", +"type": "string" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", +"type": "string" +}, +"formattedSalePrice": { +"description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"price": { +"description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", +"type": "string" +}, +"propertyId": { +"description": "Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"propertyName": { +"description": "Required. Property name, for example, Mountain View Hotel. Required.", +"type": "string" +}, +"salePrice": { +"description": "ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", +"type": "string" +}, +"similarPropertyIds": { +"description": "Similar property IDs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"starRating": { +"description": "Star rating. Must be a number between 1 to 5, inclusive.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicJobsAsset": { +"description": "A dynamic jobs asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicJobsAsset", +"properties": { +"address": { +"description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", +"type": "string" +}, +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Software engineering job.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description, for example, Apply your technical skills.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"jobCategory": { +"description": "Job category, for example, Technical.", +"type": "string" +}, +"jobId": { +"description": "Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"jobSubtitle": { +"description": "Job subtitle, for example, Level II.", +"type": "string" +}, +"jobTitle": { +"description": "Required. Job title, for example, Software engineer. Required.", +"type": "string" +}, +"locationId": { +"description": "Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.", +"type": "string" +}, +"salary": { +"description": "Salary, for example, $100,000.", +"type": "string" +}, +"similarJobIds": { +"description": "Similar job IDs, for example, 1275.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicLocalAsset": { +"description": "A dynamic local asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicLocalAsset", +"properties": { +"address": { +"description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", +"type": "string" +}, +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"category": { +"description": "Category, for example, Food.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Save groceries coupons.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dealId": { +"description": "Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"dealName": { +"description": "Required. Deal name, for example, 50% off at Mountain View Grocers. Required.", +"type": "string" +}, +"description": { +"description": "Description, for example, Save on your weekly bill.", +"type": "string" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", +"type": "string" +}, +"formattedSalePrice": { +"description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"price": { +"description": "Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", +"type": "string" +}, +"salePrice": { +"description": "Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", +"type": "string" +}, +"similarDealIds": { +"description": "Similar deal IDs, for example, 1275.", +"items": { +"type": "string" +}, +"type": "array" +}, +"subtitle": { +"description": "Subtitle, for example, Groceries.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicRealEstateAsset": { +"description": "A dynamic real estate asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicRealEstateAsset", +"properties": { +"address": { +"description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", +"type": "string" +}, +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"cityName": { +"description": "City name, for example, Mountain View, California.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, For sale; Houses for sale.", +"items": { +"type": "string" +}, +"type": "array" +}, +"description": { +"description": "Description, for example, 3 beds, 2 baths, 1568 sq. ft.", +"type": "string" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"listingId": { +"description": "Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"listingName": { +"description": "Required. Listing name, for example, Boulevard Bungalow. Required.", +"type": "string" +}, +"listingType": { +"description": "Listing type, for example, For sale.", +"type": "string" +}, +"price": { +"description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.", +"type": "string" +}, +"propertyType": { +"description": "Property type, for example, House.", +"type": "string" +}, +"similarListingIds": { +"description": "Similar listing IDs.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__DynamicTravelAsset": { +"description": "A dynamic travel asset.", +"id": "GoogleAdsSearchads360V23Common__DynamicTravelAsset", +"properties": { +"androidAppLink": { +"description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", +"type": "string" +}, +"category": { +"description": "Category, for example, Express.", +"type": "string" +}, +"contextualKeywords": { +"description": "Contextual keywords, for example, Paris trains.", +"items": { +"type": "string" +}, +"type": "array" +}, +"destinationAddress": { +"description": "Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", +"type": "string" +}, +"destinationId": { +"description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", +"type": "string" +}, +"destinationName": { +"description": "Destination name, for example, Paris.", +"type": "string" +}, +"formattedPrice": { +"description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", +"type": "string" +}, +"formattedSalePrice": { +"description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", +"type": "string" +}, +"imageUrl": { +"description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", +"type": "string" +}, +"iosAppLink": { +"description": "iOS deep link, for example, exampleApp://content/page.", +"type": "string" +}, +"iosAppStoreId": { +"description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", +"format": "int64", +"type": "string" +}, +"originId": { +"description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.", +"type": "string" +}, +"originName": { +"description": "Origin name, for example, London.", +"type": "string" +}, +"price": { +"description": "Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", +"type": "string" +}, +"salePrice": { +"description": "Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", +"type": "string" +}, +"similarDestinationIds": { +"description": "Similar destination IDs, for example, NYC.", +"items": { +"type": "string" +}, +"type": "array" +}, +"title": { +"description": "Required. Title, for example, Book your train ticket. Required.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__EnhancedCpc": { +"description": "An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.", +"id": "GoogleAdsSearchads360V23Common__EnhancedCpc", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__EventAttribute": { +"description": "Advertiser defined events and their attributes. All the values in the nested fields are required.", +"id": "GoogleAdsSearchads360V23Common__EventAttribute", +"properties": { +"event": { +"description": "Required. Advertiser defined event to be used for remarketing. The accepted values are \"Viewed\", \"Cart\", \"Purchased\" and \"Recommended\".", +"type": "string" +}, +"eventDateTime": { +"description": "Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", +"type": "string" +}, +"itemAttribute": { +"description": "Required. Item attributes of the event.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__EventItemAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__EventItemAttribute": { +"description": "Event Item attributes of the Customer Match.", +"id": "GoogleAdsSearchads360V23Common__EventItemAttribute", +"properties": { +"itemId": { +"description": "Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ExclusionSegment": { +"description": "An audience segment to be excluded from an audience.", +"id": "GoogleAdsSearchads360V23Common__ExclusionSegment", +"properties": { +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListSegment", +"description": "User list segment to be excluded." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo": { +"description": "An expanded dynamic search ad.", +"id": "GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo", +"properties": { +"description": { +"description": "The description of the ad.", +"type": "string" +}, +"description2": { +"description": "The second description of the ad.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ExpandedTextAdInfo": { +"description": "An expanded text ad.", +"id": "GoogleAdsSearchads360V23Common__ExpandedTextAdInfo", +"properties": { +"description": { +"description": "The description of the ad.", +"type": "string" +}, +"description2": { +"description": "The second description of the ad.", +"type": "string" +}, +"headlinePart1": { +"description": "The first part of the ad's headline.", +"type": "string" +}, +"headlinePart2": { +"description": "The second part of the ad's headline.", +"type": "string" +}, +"headlinePart3": { +"description": "The third part of the ad's headline.", +"type": "string" +}, +"path1": { +"description": "The text that can appear alongside the ad's displayed URL.", +"type": "string" +}, +"path2": { +"description": "Additional text that can appear alongside the ad's displayed URL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ExtendedDemographicInfo": { +"description": "Represents an extended demographic criterion.", +"id": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", +"properties": { +"extendedDemographicId": { +"description": "Taxonomy id of the extended demographic group.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo": { +"description": "Facebook Messenger information to use for messaging.", +"id": "GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo", +"properties": { +"pageName": { +"description": "Required. Facebook page name used for starting a chat on Facebook Messenger.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FinalAppUrl": { +"description": "A URL for deep linking into an app for the given operating system.", +"id": "GoogleAdsSearchads360V23Common__FinalAppUrl", +"properties": { +"osType": { +"description": "The operating system targeted by this URL. Required.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IOS", +"ANDROID" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The Apple IOS operating system.", +"The Android operating system." +], +"type": "string" +}, +"url": { +"description": "The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: \"exampleapp://productid_1234\". Required.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo": { +"description": "Flexible rule that wraps the common rule and a lookback window.", +"id": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo", +"properties": { +"lookbackWindowDays": { +"description": "Lookback window for this rule in days. From now until X days ago.", +"format": "int64", +"type": "string" +}, +"rule": { +"$ref": "GoogleAdsSearchads360V23Common__UserListRuleInfo", +"description": "List of rule item groups that defines this rule. Rule item groups are grouped together." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo": { +"description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands \u2013 inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.", +"id": "GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo", +"properties": { +"exclusiveOperands": { +"description": "Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo" +}, +"type": "array" +}, +"inclusiveOperands": { +"description": "Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo" +}, +"type": "array" +}, +"inclusiveRuleOperator": { +"description": "Operator that defines how the inclusive operands are combined.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AND", +"OR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A AND B.", +"A OR B." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FrequencyCapEntry": { +"description": "A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.", +"id": "GoogleAdsSearchads360V23Common__FrequencyCapEntry", +"properties": { +"cap": { +"description": "Maximum number of events allowed during the time range by this cap.", +"format": "int32", +"type": "integer" +}, +"key": { +"$ref": "GoogleAdsSearchads360V23Common__FrequencyCapKey", +"description": "The key of a particular frequency cap. There can be no more than one frequency cap with the same key." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__FrequencyCapKey": { +"description": "A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key.", +"id": "GoogleAdsSearchads360V23Common__FrequencyCapKey", +"properties": { +"eventType": { +"description": "The type of event that the cap applies to (for example, impression).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IMPRESSION", +"VIDEO_VIEW" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The cap applies on ad impressions.", +"The cap applies on video ad views." +], +"type": "string" +}, +"level": { +"description": "The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_AD", +"AD_GROUP", +"CAMPAIGN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The cap is applied at the ad group ad level.", +"The cap is applied at the ad group level.", +"The cap is applied at the campaign level." +], +"type": "string" +}, +"timeLength": { +"description": "Number of time units the cap lasts.", +"format": "int32", +"type": "integer" +}, +"timeUnit": { +"description": "Unit of time the cap is defined at (for example, day, week).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DAY", +"WEEK", +"MONTH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The cap would define limit per one day.", +"The cap would define limit per one week.", +"The cap would define limit per one month." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__GenderDimension": { +"description": "Dimension specifying users by their gender.", +"id": "GoogleAdsSearchads360V23Common__GenderDimension", +"properties": { +"genders": { +"description": "Included gender demographic segments.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MALE", +"FEMALE", +"UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Male.", +"Female.", +"Undetermined gender." +], +"type": "string" +}, +"type": "array" +}, +"includeUndetermined": { +"description": "Include users whose gender is not determined.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__GenderInfo": { +"description": "A gender criterion.", +"id": "GoogleAdsSearchads360V23Common__GenderInfo", +"properties": { +"type": { +"description": "Type of the gender.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MALE", +"FEMALE", +"UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Male.", +"Female.", +"Undetermined gender." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__GeoPointInfo": { +"description": "Geo point for proximity criterion.", +"id": "GoogleAdsSearchads360V23Common__GeoPointInfo", +"properties": { +"latitudeInMicroDegrees": { +"description": "Micro degrees for the latitude.", +"format": "int32", +"type": "integer" +}, +"longitudeInMicroDegrees": { +"description": "Micro degrees for the longitude.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HistoricalMetricsOptions": { +"description": "Historical metrics options.", +"id": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", +"properties": { +"includeAverageCpc": { +"description": "Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.", +"type": "boolean" +}, +"yearMonthRange": { +"$ref": "GoogleAdsSearchads360V23Common__YearMonthRange", +"description": "The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelAdInfo": { +"description": "A hotel ad.", +"id": "GoogleAdsSearchads360V23Common__HotelAdInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo": { +"description": "Criterion for number of days prior to the stay the booking is being made.", +"id": "GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo", +"properties": { +"maxDays": { +"description": "High end of the number of days prior to the stay.", +"format": "int64", +"type": "string" +}, +"minDays": { +"description": "Low end of the number of days prior to the stay.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelCalloutAsset": { +"description": "An asset representing a hotel callout.", +"id": "GoogleAdsSearchads360V23Common__HotelCalloutAsset", +"properties": { +"languageCode": { +"description": "Required. The language of the hotel callout. Represented as BCP 47 language tag.", +"type": "string" +}, +"text": { +"description": "Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo": { +"description": "Criterion for a check-in date range.", +"id": "GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo", +"properties": { +"endDate": { +"description": "End date in the YYYY-MM-DD format.", +"type": "string" +}, +"startDate": { +"description": "Start date in the YYYY-MM-DD format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelCheckInDayInfo": { +"description": "Criterion for day of the week the booking is for.", +"id": "GoogleAdsSearchads360V23Common__HotelCheckInDayInfo", +"properties": { +"dayOfWeek": { +"description": "The day of the week.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Monday.", +"Tuesday.", +"Wednesday.", +"Thursday.", +"Friday.", +"Saturday.", +"Sunday." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelCityInfo": { +"description": "City the hotel is located in.", +"id": "GoogleAdsSearchads360V23Common__HotelCityInfo", +"properties": { +"cityCriterion": { +"description": "The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelClassInfo": { +"description": "Class of the hotel as a number of stars 1 to 5.", +"id": "GoogleAdsSearchads360V23Common__HotelClassInfo", +"properties": { +"value": { +"description": "Long value of the hotel class.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelCountryRegionInfo": { +"description": "Country or Region the hotel is located in.", +"id": "GoogleAdsSearchads360V23Common__HotelCountryRegionInfo", +"properties": { +"countryRegionCriterion": { +"description": "The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo": { +"description": "Criterion for hotel date selection (default dates versus user selected).", +"id": "GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo", +"properties": { +"type": { +"description": "Type of the hotel date selection", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT_SELECTION", +"USER_SELECTED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Dates selected by default.", +"Dates selected by the user." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelIdInfo": { +"description": "Advertiser-specific hotel ID.", +"id": "GoogleAdsSearchads360V23Common__HotelIdInfo", +"properties": { +"value": { +"description": "String value of the hotel ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo": { +"description": "Criterion for length of hotel stay in nights.", +"id": "GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo", +"properties": { +"maxNights": { +"description": "High end of the number of nights in the stay.", +"format": "int64", +"type": "string" +}, +"minNights": { +"description": "Low end of the number of nights in the stay.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelPropertyAsset": { +"description": "A hotel property asset.", +"id": "GoogleAdsSearchads360V23Common__HotelPropertyAsset", +"properties": { +"hotelAddress": { +"description": "Address of the hotel. Read-only.", +"type": "string" +}, +"hotelName": { +"description": "Name of the hotel. Read-only.", +"type": "string" +}, +"placeId": { +"description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HotelStateInfo": { +"description": "State the hotel is located in.", +"id": "GoogleAdsSearchads360V23Common__HotelStateInfo", +"properties": { +"stateCriterion": { +"description": "The Geo Target Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__HouseholdIncomeDimension": { +"description": "Dimension specifying users by their household income.", +"id": "GoogleAdsSearchads360V23Common__HouseholdIncomeDimension", +"properties": { +"includeUndetermined": { +"description": "Include users whose household income is not determined.", +"type": "boolean" +}, +"incomeRanges": { +"description": "Included household income demographic segments.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INCOME_RANGE_0_50", +"INCOME_RANGE_50_60", +"INCOME_RANGE_60_70", +"INCOME_RANGE_70_80", +"INCOME_RANGE_80_90", +"INCOME_RANGE_90_UP", +"INCOME_RANGE_UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"0%-50%.", +"50% to 60%.", +"60% to 70%.", +"70% to 80%.", +"80% to 90%.", +"Greater than 90%.", +"Undetermined income range." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ImageAdInfo": { +"description": "An image ad.", +"id": "GoogleAdsSearchads360V23Common__ImageAdInfo", +"properties": { +"adIdToCopyImageFrom": { +"description": "An ad ID to copy the image from.", +"format": "int64", +"type": "string" +}, +"data": { +"description": "Raw image data as bytes.", +"format": "byte", +"type": "string" +}, +"imageAsset": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", +"description": "The image assets used for the ad." +}, +"imageUrl": { +"description": "URL of the full size image.", +"type": "string" +}, +"mimeType": { +"description": "The mime type of the image.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IMAGE_JPEG", +"IMAGE_GIF", +"IMAGE_PNG", +"FLASH", +"TEXT_HTML", +"PDF", +"MSWORD", +"MSEXCEL", +"RTF", +"AUDIO_WAV", +"AUDIO_MP3", +"HTML5_AD_ZIP" +], +"enumDescriptions": [ +"The mime type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"MIME type of image/jpeg.", +"MIME type of image/gif.", +"MIME type of image/png.", +"MIME type of application/x-shockwave-flash.", +"MIME type of text/html.", +"MIME type of application/pdf.", +"MIME type of application/msword.", +"MIME type of application/vnd.ms-excel.", +"MIME type of application/rtf.", +"MIME type of audio/wav.", +"MIME type of audio/mp3.", +"MIME type of application/x-html5-ad-zip." +], +"type": "string" +}, +"name": { +"description": "The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.", +"type": "string" +}, +"pixelHeight": { +"description": "Height in pixels of the full size image.", +"format": "int64", +"type": "string" +}, +"pixelWidth": { +"description": "Width in pixels of the full size image.", +"format": "int64", +"type": "string" +}, +"previewImageUrl": { +"description": "URL of the preview size image.", +"type": "string" +}, +"previewPixelHeight": { +"description": "Height in pixels of the preview size image.", +"format": "int64", +"type": "string" +}, +"previewPixelWidth": { +"description": "Width in pixels of the preview size image.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ImageAsset": { +"description": "An Image asset.", +"id": "GoogleAdsSearchads360V23Common__ImageAsset", +"properties": { +"data": { +"description": "The raw bytes data of an image. This field is mutate only.", +"format": "byte", +"type": "string" +}, +"fileSize": { +"description": "File size of the image asset in bytes.", +"format": "int64", +"type": "string" +}, +"fullSize": { +"$ref": "GoogleAdsSearchads360V23Common__ImageDimension", +"description": "Metadata for this image at its original size." +}, +"mimeType": { +"description": "MIME type of the image asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IMAGE_JPEG", +"IMAGE_GIF", +"IMAGE_PNG", +"FLASH", +"TEXT_HTML", +"PDF", +"MSWORD", +"MSEXCEL", +"RTF", +"AUDIO_WAV", +"AUDIO_MP3", +"HTML5_AD_ZIP" +], +"enumDescriptions": [ +"The mime type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"MIME type of image/jpeg.", +"MIME type of image/gif.", +"MIME type of image/png.", +"MIME type of application/x-shockwave-flash.", +"MIME type of text/html.", +"MIME type of application/pdf.", +"MIME type of application/msword.", +"MIME type of application/vnd.ms-excel.", +"MIME type of application/rtf.", +"MIME type of audio/wav.", +"MIME type of audio/mp3.", +"MIME type of application/x-html5-ad-zip." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ImageDimension": { +"description": "Metadata for an image at a certain size, either original or resized.", +"id": "GoogleAdsSearchads360V23Common__ImageDimension", +"properties": { +"heightPixels": { +"description": "Height of the image.", +"format": "int64", +"type": "string" +}, +"url": { +"description": "A URL that returns the image with this height and width.", +"type": "string" +}, +"widthPixels": { +"description": "Width of the image.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__IncomeRangeInfo": { +"description": "An income range criterion.", +"id": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", +"properties": { +"type": { +"description": "Type of the income range.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INCOME_RANGE_0_50", +"INCOME_RANGE_50_60", +"INCOME_RANGE_60_70", +"INCOME_RANGE_70_80", +"INCOME_RANGE_80_90", +"INCOME_RANGE_90_UP", +"INCOME_RANGE_UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"0%-50%.", +"50% to 60%.", +"60% to 70%.", +"70% to 80%.", +"80% to 90%.", +"Greater than 90%.", +"Undetermined income range." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__InteractionTypeInfo": { +"description": "Criterion for Interaction Type.", +"id": "GoogleAdsSearchads360V23Common__InteractionTypeInfo", +"properties": { +"type": { +"description": "The interaction type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CALLS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Calls." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__IpBlockInfo": { +"description": "An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48", +"id": "GoogleAdsSearchads360V23Common__IpBlockInfo", +"properties": { +"ipAddress": { +"description": "The IP address or the CIDR block to be excluded.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ItemAttribute": { +"description": "Item attributes of the transaction.", +"id": "GoogleAdsSearchads360V23Common__ItemAttribute", +"properties": { +"countryCode": { +"description": "Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.", +"type": "string" +}, +"itemId": { +"description": "A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.", +"type": "string" +}, +"languageCode": { +"description": "ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.", +"type": "string" +}, +"merchantId": { +"description": "ID of the Merchant Center Account. Required.", +"format": "int64", +"type": "string" +}, +"quantity": { +"description": "The number of items sold. Defaults to 1 if not set.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Keyword": { +"description": "A Keyword criterion segment.", +"id": "GoogleAdsSearchads360V23Common__Keyword", +"properties": { +"adGroupCriterion": { +"description": "The AdGroupCriterion resource name.", +"type": "string" +}, +"info": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Keyword info." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordAnnotations": { +"description": "The annotations for the keyword plan keywords.", +"id": "GoogleAdsSearchads360V23Common__KeywordAnnotations", +"properties": { +"concepts": { +"description": "The list of concepts for the keyword.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordConcept" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordConcept": { +"description": "The concept for the keyword.", +"id": "GoogleAdsSearchads360V23Common__KeywordConcept", +"properties": { +"conceptGroup": { +"$ref": "GoogleAdsSearchads360V23Common__ConceptGroup", +"description": "The concept group of the concept details." +}, +"name": { +"description": "The concept name for the keyword in the concept_group.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordInfo": { +"description": "A keyword criterion.", +"id": "GoogleAdsSearchads360V23Common__KeywordInfo", +"properties": { +"matchType": { +"description": "The match type of the keyword.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"type": "string" +}, +"text": { +"description": "The text of the keyword (at most 80 characters and 10 words).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults": { +"description": "The aggregated historical metrics for keyword plan keywords.", +"id": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", +"properties": { +"deviceSearches": { +"description": "The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics": { +"description": "The aggregate metrics specification of the request.", +"id": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", +"properties": { +"aggregateMetricTypes": { +"description": "The list of aggregate metrics to fetch data.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEVICE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The device breakdown of aggregate search volume." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches": { +"description": "The total searches for the device type during the specified time period.", +"id": "GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches", +"properties": { +"device": { +"description": "The device type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +}, +"searchCount": { +"description": "The total searches for the device.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics": { +"description": "Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details.", +"id": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", +"properties": { +"averageCpcMicros": { +"description": "Average Cost Per Click in micros for the keyword.", +"format": "int64", +"type": "string" +}, +"avgMonthlySearches": { +"description": "Approximate number of monthly searches on this query, averaged for the past 12 months.", +"format": "int64", +"type": "string" +}, +"competition": { +"description": "The competition level for the query.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LOW", +"MEDIUM", +"HIGH" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Low competition. The Competition Index range for this is [0, 33].", +"Medium competition. The Competition Index range for this is [34, 66].", +"High competition. The Competition Index range for this is [67, 100]." +], +"type": "string" +}, +"competitionIndex": { +"description": "The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned.", +"format": "int64", +"type": "string" +}, +"highTopOfPageBidMicros": { +"description": "Top of page bid high range (80th percentile) in micros for the keyword.", +"format": "int64", +"type": "string" +}, +"lowTopOfPageBidMicros": { +"description": "Top of page bid low range (20th percentile) in micros for the keyword.", +"format": "int64", +"type": "string" +}, +"monthlySearchVolumes": { +"description": "Approximate number of searches on this query for the past twelve months.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__MonthlySearchVolume" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KeywordThemeInfo": { +"description": "A Smart Campaign keyword theme.", +"id": "GoogleAdsSearchads360V23Common__KeywordThemeInfo", +"properties": { +"freeFormKeywordTheme": { +"description": "Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.", +"type": "string" +}, +"keywordThemeConstant": { +"description": "The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata": { +"description": "Metadata associated with a Knowledge Graph Entity attribute.", +"id": "GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata", +"properties": { +"entityCapabilities": { +"description": "The capabilities of the entity used in ContentCreatorInsightsService.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONTENT_TRENDING_INSIGHTS", +"CREATOR_ATTRIBUTE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"An entity that is supported to use as a trending topic in ContentCreatorInsightsService.GenerateTrendingInsights.", +"An entity that is supported to use as a creator attribute in ContentCreatorInsightsService.GenerateCreatorInsights." +], +"type": "string" +}, +"type": "array" +}, +"relatedCategories": { +"description": "A list of CATEGORY attributes related to this entity.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LanguageInfo": { +"description": "A language criterion.", +"id": "GoogleAdsSearchads360V23Common__LanguageInfo", +"properties": { +"languageConstant": { +"description": "The language constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LeadFormAsset": { +"description": "A Lead Form asset.", +"id": "GoogleAdsSearchads360V23Common__LeadFormAsset", +"properties": { +"backgroundImageAsset": { +"description": "Asset resource name of the background image. The image dimensions must be exactly 1200x628.", +"type": "string" +}, +"businessName": { +"description": "Required. The name of the business being advertised.", +"type": "string" +}, +"callToActionDescription": { +"description": "Required. Text giving a clear value proposition of what users expect once they expand the form.", +"type": "string" +}, +"callToActionType": { +"description": "Required. Pre-defined display text that encourages user to expand the form.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEARN_MORE", +"GET_QUOTE", +"APPLY_NOW", +"SIGN_UP", +"CONTACT_US", +"SUBSCRIBE", +"DOWNLOAD", +"BOOK_NOW", +"GET_OFFER", +"REGISTER", +"GET_INFO", +"REQUEST_DEMO", +"JOIN_NOW", +"GET_STARTED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Learn more.", +"Get quote.", +"Apply now.", +"Sign Up.", +"Contact us.", +"Subscribe.", +"Download.", +"Book now.", +"Get offer.", +"Register.", +"Get info.", +"Request a demo.", +"Join now.", +"Get started." +], +"type": "string" +}, +"customDisclosure": { +"description": "Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.", +"type": "string" +}, +"customQuestionFields": { +"description": "Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField" +}, +"type": "array" +}, +"deliveryMethods": { +"description": "Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod" +}, +"type": "array" +}, +"description": { +"description": "Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.", +"type": "string" +}, +"desiredIntent": { +"description": "Chosen intent for the lead form, for example, more volume or more qualified.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LOW_INTENT", +"HIGH_INTENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Deliver more leads at a potentially lower quality.", +"Deliver leads that are more qualified." +], +"type": "string" +}, +"fields": { +"description": "Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormField" +}, +"type": "array" +}, +"headline": { +"description": "Required. Headline of the expanded form to describe what the form is asking for or facilitating.", +"type": "string" +}, +"postSubmitCallToActionType": { +"description": "Pre-defined display text that encourages user action after the form is submitted.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VISIT_SITE", +"DOWNLOAD", +"LEARN_MORE", +"SHOP_NOW" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Visit site.", +"Download.", +"Learn more.", +"Shop now." +], +"type": "string" +}, +"postSubmitDescription": { +"description": "Detailed description shown after form submission that describes how the advertiser will follow up with the user.", +"type": "string" +}, +"postSubmitHeadline": { +"description": "Headline of text shown after form submission that describes how the advertiser will follow up with the user.", +"type": "string" +}, +"privacyPolicyUrl": { +"description": "Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField": { +"description": "One custom question input field instance within a form.", +"id": "GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField", +"properties": { +"customQuestionText": { +"description": "The exact custom question field text (for example, \"What kind of vehicle do you have?\").", +"type": "string" +}, +"hasLocationAnswer": { +"description": "Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for \"What is your preferred dealership?\" question, for advertisers with Location Assets setup at campaign/account level.", +"type": "boolean" +}, +"singleChoiceAnswers": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", +"description": "Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod": { +"description": "A configuration of how leads are delivered to the advertiser.", +"id": "GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod", +"properties": { +"webhook": { +"$ref": "GoogleAdsSearchads360V23Common__WebhookDelivery", +"description": "Webhook method of delivery." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LeadFormField": { +"description": "One input field instance within a form.", +"id": "GoogleAdsSearchads360V23Common__LeadFormField", +"properties": { +"hasLocationAnswer": { +"description": "Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for \"What is your preferred dealership?\" question, for advertisers with Location Assets setup at campaign/account level.", +"type": "boolean" +}, +"inputType": { +"description": "Describes the input type, which may be a predefined type such as \"full name\" or a pre-vetted question like \"What kind of vehicle do you have?\".", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FULL_NAME", +"EMAIL", +"PHONE_NUMBER", +"POSTAL_CODE", +"STREET_ADDRESS", +"CITY", +"REGION", +"COUNTRY", +"WORK_EMAIL", +"COMPANY_NAME", +"WORK_PHONE", +"JOB_TITLE", +"GOVERNMENT_ISSUED_ID_CPF_BR", +"GOVERNMENT_ISSUED_ID_DNI_AR", +"GOVERNMENT_ISSUED_ID_DNI_PE", +"GOVERNMENT_ISSUED_ID_RUT_CL", +"GOVERNMENT_ISSUED_ID_CC_CO", +"GOVERNMENT_ISSUED_ID_CI_EC", +"GOVERNMENT_ISSUED_ID_RFC_MX", +"FIRST_NAME", +"LAST_NAME", +"VEHICLE_MODEL", +"VEHICLE_TYPE", +"PREFERRED_DEALERSHIP", +"VEHICLE_PURCHASE_TIMELINE", +"VEHICLE_OWNERSHIP", +"VEHICLE_PAYMENT_TYPE", +"VEHICLE_CONDITION", +"COMPANY_SIZE", +"ANNUAL_SALES", +"YEARS_IN_BUSINESS", +"JOB_DEPARTMENT", +"JOB_ROLE", +"OVER_18_AGE", +"OVER_19_AGE", +"OVER_20_AGE", +"OVER_21_AGE", +"OVER_22_AGE", +"OVER_23_AGE", +"OVER_24_AGE", +"OVER_25_AGE", +"OVER_26_AGE", +"OVER_27_AGE", +"OVER_28_AGE", +"OVER_29_AGE", +"OVER_30_AGE", +"OVER_31_AGE", +"OVER_32_AGE", +"OVER_33_AGE", +"OVER_34_AGE", +"OVER_35_AGE", +"OVER_36_AGE", +"OVER_37_AGE", +"OVER_38_AGE", +"OVER_39_AGE", +"OVER_40_AGE", +"OVER_41_AGE", +"OVER_42_AGE", +"OVER_43_AGE", +"OVER_44_AGE", +"OVER_45_AGE", +"OVER_46_AGE", +"OVER_47_AGE", +"OVER_48_AGE", +"OVER_49_AGE", +"OVER_50_AGE", +"OVER_51_AGE", +"OVER_52_AGE", +"OVER_53_AGE", +"OVER_54_AGE", +"OVER_55_AGE", +"OVER_56_AGE", +"OVER_57_AGE", +"OVER_58_AGE", +"OVER_59_AGE", +"OVER_60_AGE", +"OVER_61_AGE", +"OVER_62_AGE", +"OVER_63_AGE", +"OVER_64_AGE", +"OVER_65_AGE", +"EDUCATION_PROGRAM", +"EDUCATION_COURSE", +"PRODUCT", +"SERVICE", +"OFFER", +"CATEGORY", +"PREFERRED_CONTACT_METHOD", +"PREFERRED_LOCATION", +"PREFERRED_CONTACT_TIME", +"PURCHASE_TIMELINE", +"YEARS_OF_EXPERIENCE", +"JOB_INDUSTRY", +"LEVEL_OF_EDUCATION", +"PROPERTY_TYPE", +"REALTOR_HELP_GOAL", +"PROPERTY_COMMUNITY", +"PRICE_RANGE", +"NUMBER_OF_BEDROOMS", +"FURNISHED_PROPERTY", +"PETS_ALLOWED_PROPERTY", +"NEXT_PLANNED_PURCHASE", +"EVENT_SIGNUP_INTEREST", +"PREFERRED_SHOPPING_PLACES", +"FAVORITE_BRAND", +"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE", +"EVENT_BOOKING_INTEREST", +"DESTINATION_COUNTRY", +"DESTINATION_CITY", +"DEPARTURE_COUNTRY", +"DEPARTURE_CITY", +"DEPARTURE_DATE", +"RETURN_DATE", +"NUMBER_OF_TRAVELERS", +"TRAVEL_BUDGET", +"TRAVEL_ACCOMMODATION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user will be asked to fill in their given and family name. This field cannot be set at the same time as GIVEN_NAME or FAMILY_NAME.", +"The user will be asked to fill in their email address.", +"The user will be asked to fill in their phone number.", +"The user will be asked to fill in their zip code.", +"The user will be asked to fill in their street address.", +"The user will be asked to fill in their city.", +"The user will be asked to fill in their region part of the address (for example, state for US, province for Canada).", +"The user will be asked to fill in their country.", +"The user will be asked to fill in their work email address.", +"The user will be asked to fill in their company name.", +"The user will be asked to fill in their work phone.", +"The user will be asked to fill in their job title.", +"The user will be asked to fill in their CPF for Brazil users.", +"The user will be asked to fill in their DNI for Argentina users.", +"The user will be asked to fill in their DNI for Peru users.", +"The user will be asked to fill in their RUT for Chile users.", +"The user will be asked to fill in their CC for Colombia users.", +"The user will be asked to fill in their CI for Ecuador users.", +"The user will be asked to fill in their RFC for Mexico users.", +"The user will be asked to fill in their first name. This field can not be set at the same time as FULL_NAME.", +"The user will be asked to fill in their last name. This field can not be set at the same time as FULL_NAME.", +"Question: \"Which model are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which type of vehicle are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred dealership?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"When do you plan on purchasing a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Do you own a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What vehicle ownership option are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What type of vehicle condition are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What size is your company?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your annual sales volume?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many years have you been in business?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your job department?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your job role?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 18 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 19 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 20 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 21 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 22 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 23 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 24 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 25 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 26 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 27 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 28 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 29 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 30 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 31 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 32 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 33 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 34 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 35 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 36 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 37 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 38 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 39 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 40 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 41 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 42 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 43 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 44 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 45 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 46 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 47 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 48 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 49 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 50 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 51 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 52 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 53 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 54 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 55 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 56 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 57 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 58 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 59 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 60 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 61 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 62 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 63 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 64 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 65 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which program are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which course are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which product are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which service are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which offer are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which category are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred method of contact?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred location?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is the best time to contact you?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"When are you looking to make a purchase?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many years of work experience do you have?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What industry do you work in?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your highest level of education?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What type of property are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What do you need a realtor's help with?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What neighborhood are you interested in?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What price range are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many bedrooms are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you looking for a fully furnished property?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you looking for properties that allow pets?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is the next product you plan to purchase?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Would you like to sign up for an event?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Where are you interested in shopping?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your favorite brand?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which type of valid commercial license do you have?\" Category: \"Transportation\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Interested in booking an event?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your destination country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your destination city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your return date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many people are you traveling with?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your travel budget?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Where do you want to stay during your travel?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields." +], +"type": "string" +}, +"singleChoiceAnswers": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", +"description": "Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers": { +"description": "Defines possible answers for a single choice question, usually presented as a single-choice drop-down list.", +"id": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", +"properties": { +"answers": { +"description": "List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo": { +"description": "A legacy app install ad that only can be used by a few select customers.", +"id": "GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo", +"properties": { +"appId": { +"description": "The ID of the mobile app.", +"type": "string" +}, +"appStore": { +"description": "The app store the mobile app is available in.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLE_APP_STORE", +"GOOGLE_PLAY", +"WINDOWS_STORE", +"WINDOWS_PHONE_STORE", +"CN_APP_STORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Apple iTunes.", +"Google Play.", +"Windows Store.", +"Windows Phone Store.", +"The app is hosted in a Chinese app store." +], +"type": "string" +}, +"description1": { +"description": "The first description line of the ad.", +"type": "string" +}, +"description2": { +"description": "The second description line of the ad.", +"type": "string" +}, +"headline": { +"description": "The headline of the ad.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo": { +"description": "A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI.", +"id": "GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo", +"properties": { +"accentColor": { +"description": "The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", +"type": "string" +}, +"allowFlexibleColor": { +"description": "Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.", +"type": "boolean" +}, +"businessName": { +"description": "The business name in the ad.", +"type": "string" +}, +"callToActionText": { +"description": "The call-to-action text for the ad.", +"type": "string" +}, +"description": { +"description": "The description of the ad.", +"type": "string" +}, +"formatSetting": { +"description": "Specifies which format the ad will be served in. Default is ALL_FORMATS.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_FORMATS", +"NON_NATIVE", +"NATIVE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Text, image and native formats.", +"Text and image formats.", +"Native format, for example, the format rendering is controlled by the publisher and not by Google." +], +"type": "string" +}, +"logoImage": { +"description": "The MediaFile resource name of the logo image used in the ad.", +"type": "string" +}, +"longHeadline": { +"description": "The long version of the ad's headline.", +"type": "string" +}, +"mainColor": { +"description": "The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", +"type": "string" +}, +"marketingImage": { +"description": "The MediaFile resource name of the marketing image used in the ad.", +"type": "string" +}, +"pricePrefix": { +"description": "Prefix before price. For example, 'as low as'.", +"type": "string" +}, +"promoText": { +"description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.", +"type": "string" +}, +"shortHeadline": { +"description": "The short version of the ad's headline.", +"type": "string" +}, +"squareLogoImage": { +"description": "The MediaFile resource name of the square logo image used in the ad.", +"type": "string" +}, +"squareMarketingImage": { +"description": "The MediaFile resource name of the square marketing image used in the ad.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LifeEventInfo": { +"description": "Represents a life event criterion.", +"id": "GoogleAdsSearchads360V23Common__LifeEventInfo", +"properties": { +"lifeEventId": { +"description": "Taxonomy id of the life event.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LifeEventSegment": { +"description": "Live event segment.", +"id": "GoogleAdsSearchads360V23Common__LifeEventSegment", +"properties": { +"lifeEvent": { +"description": "The life event resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings": { +"description": "Lifecycle goal value settings.", +"id": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", +"properties": { +"highLifetimeValue": { +"description": "High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.", +"format": "double", +"type": "number" +}, +"value": { +"description": "Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LineupAttributeMetadata": { +"description": "Metadata associated with a Lineup attribute.", +"id": "GoogleAdsSearchads360V23Common__LineupAttributeMetadata", +"properties": { +"channelCountLowerBound": { +"description": "The lower end of a range containing the number of channels in the lineup.", +"format": "int64", +"type": "string" +}, +"channelCountUpperBound": { +"description": "The upper end of a range containing the number of channels in the lineup.", +"format": "int64", +"type": "string" +}, +"inventoryCountry": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "The national market associated with the lineup." +}, +"medianMonthlyInventory": { +"description": "The median number of impressions per month on this lineup.", +"format": "int64", +"type": "string" +}, +"sampleChannels": { +"description": "Examples of channels that are included in the lineup.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ListingDimensionInfo": { +"description": "Listing dimensions for listing group criterion.", +"id": "GoogleAdsSearchads360V23Common__ListingDimensionInfo", +"properties": { +"activityCity": { +"$ref": "GoogleAdsSearchads360V23Common__ActivityCityInfo", +"description": "The city where the travel activity is available." +}, +"activityCountry": { +"$ref": "GoogleAdsSearchads360V23Common__ActivityCountryInfo", +"description": "The country where the travel activity is available." +}, +"activityId": { +"$ref": "GoogleAdsSearchads360V23Common__ActivityIdInfo", +"description": "Advertiser-specific activity ID." +}, +"activityRating": { +"$ref": "GoogleAdsSearchads360V23Common__ActivityRatingInfo", +"description": "Rating of the activity as a number 1 to 5, where 5 is the best." +}, +"activityState": { +"$ref": "GoogleAdsSearchads360V23Common__ActivityStateInfo", +"description": "The state where the travel activity is available." +}, +"hotelCity": { +"$ref": "GoogleAdsSearchads360V23Common__HotelCityInfo", +"description": "City the hotel is located in." +}, +"hotelClass": { +"$ref": "GoogleAdsSearchads360V23Common__HotelClassInfo", +"description": "Class of the hotel as a number of stars 1 to 5." +}, +"hotelCountryRegion": { +"$ref": "GoogleAdsSearchads360V23Common__HotelCountryRegionInfo", +"description": "Country or Region the hotel is located in." +}, +"hotelId": { +"$ref": "GoogleAdsSearchads360V23Common__HotelIdInfo", +"description": "Advertiser-specific hotel ID." +}, +"hotelState": { +"$ref": "GoogleAdsSearchads360V23Common__HotelStateInfo", +"description": "State the hotel is located in." +}, +"productBrand": { +"$ref": "GoogleAdsSearchads360V23Common__ProductBrandInfo", +"description": "Brand of a product offer." +}, +"productCategory": { +"$ref": "GoogleAdsSearchads360V23Common__ProductCategoryInfo", +"description": "Category of a product offer." +}, +"productChannel": { +"$ref": "GoogleAdsSearchads360V23Common__ProductChannelInfo", +"description": "Locality of a product offer." +}, +"productChannelExclusivity": { +"$ref": "GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo", +"description": "Availability of a product offer." +}, +"productCondition": { +"$ref": "GoogleAdsSearchads360V23Common__ProductConditionInfo", +"description": "Condition of a product offer." +}, +"productCustomAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo", +"description": "Custom attribute of a product offer." +}, +"productGrouping": { +"$ref": "GoogleAdsSearchads360V23Common__ProductGroupingInfo", +"description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." +}, +"productItemId": { +"$ref": "GoogleAdsSearchads360V23Common__ProductItemIdInfo", +"description": "Item id of a product offer." +}, +"productLabels": { +"$ref": "GoogleAdsSearchads360V23Common__ProductLabelsInfo", +"description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." +}, +"productLegacyCondition": { +"$ref": "GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo", +"description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." +}, +"productType": { +"$ref": "GoogleAdsSearchads360V23Common__ProductTypeInfo", +"description": "Type of a product offer." +}, +"productTypeFull": { +"$ref": "GoogleAdsSearchads360V23Common__ProductTypeFullInfo", +"description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." +}, +"unknownListingDimension": { +"$ref": "GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo", +"description": "Unknown dimension. Set when no other listing dimension is set." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ListingDimensionPath": { +"description": "The path of dimensions defining a listing group.", +"id": "GoogleAdsSearchads360V23Common__ListingDimensionPath", +"properties": { +"dimensions": { +"description": "The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ListingGroupInfo": { +"description": "A listing group criterion.", +"id": "GoogleAdsSearchads360V23Common__ListingGroupInfo", +"properties": { +"caseValue": { +"$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo", +"description": "Dimension value with which this listing group is refining its parent. Undefined for the root group." +}, +"parentAdGroupCriterion": { +"description": "Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.", +"type": "string" +}, +"path": { +"$ref": "GoogleAdsSearchads360V23Common__ListingDimensionPath", +"description": "The path of dimensions defining this listing group." +}, +"type": { +"description": "Type of the listing group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SUBDIVISION", +"UNIT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Subdivision of products along some listing dimension. These nodes are not used by serving to target listing entries, but is purely to define the structure of the tree.", +"Listing group unit that defines a bid." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ListingScopeInfo": { +"description": "A listing scope criterion.", +"id": "GoogleAdsSearchads360V23Common__ListingScopeInfo", +"properties": { +"dimensions": { +"description": "Scope of the campaign criterion.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocalAdInfo": { +"description": "A local ad.", +"id": "GoogleAdsSearchads360V23Common__LocalAdInfo", +"properties": { +"callToActions": { +"description": "List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"logoImages": { +"description": "List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"marketingImages": { +"description": "List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"path1": { +"description": "First part of optional text that can be appended to the URL in the ad.", +"type": "string" +}, +"path2": { +"description": "Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.", +"type": "string" +}, +"videos": { +"description": "List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocalServiceIdInfo": { +"description": "A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target.", +"id": "GoogleAdsSearchads360V23Common__LocalServiceIdInfo", +"properties": { +"serviceId": { +"description": "The criterion resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly": { +"description": "A Local Services Document with read only accessible data.", +"id": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", +"properties": { +"documentUrl": { +"description": "URL to access an already uploaded Local Services document.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocationAsset": { +"description": "A location asset.", +"id": "GoogleAdsSearchads360V23Common__LocationAsset", +"properties": { +"businessProfileLocations": { +"description": "The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocation" +}, +"type": "array" +}, +"locationOwnershipType": { +"description": "The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_OWNER", +"AFFILIATE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business Owner of location(legacy location extension - LE).", +"Affiliate location(Third party location extension - ALE)." +], +"type": "string" +}, +"placeId": { +"description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocationAttributeMetadata": { +"description": "Metadata associated with a Location attribute.", +"id": "GoogleAdsSearchads360V23Common__LocationAttributeMetadata", +"properties": { +"countryLocation": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "The country location that this attribute\u2019s sub country location is located in." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocationGroupInfo": { +"description": "A radius around a list of locations specified through a feed.", +"id": "GoogleAdsSearchads360V23Common__LocationGroupInfo", +"properties": { +"enableCustomerLevelLocationAssetSet": { +"description": "Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.", +"type": "boolean" +}, +"feedItemSets": { +"description": "FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"geoTargetConstants": { +"description": "Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.", +"items": { +"type": "string" +}, +"type": "array" +}, +"locationGroupAssetSets": { +"description": "AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.", +"items": { +"type": "string" +}, +"type": "array" +}, +"radius": { +"description": "Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.", +"format": "int64", +"type": "string" +}, +"radiusUnits": { +"description": "Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"METERS", +"MILES", +"MILLI_MILES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Meters", +"Miles", +"Milli Miles" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocationInfo": { +"description": "A location criterion.", +"id": "GoogleAdsSearchads360V23Common__LocationInfo", +"properties": { +"geoTargetConstant": { +"description": "The geo target constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LocationSet": { +"description": "Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified.", +"id": "GoogleAdsSearchads360V23Common__LocationSet", +"properties": { +"businessProfileLocationSet": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocationSet", +"description": "Data used to configure a location set populated from Google Business Profile locations." +}, +"chainLocationSet": { +"$ref": "GoogleAdsSearchads360V23Common__ChainSet", +"description": "Data used to configure a location on chain set populated with the specified chains." +}, +"locationOwnershipType": { +"description": "Required. Immutable. Location Ownership Type (owned location or affiliate location).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_OWNER", +"AFFILIATE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business Owner of location(legacy location extension - LE).", +"Affiliate location(Third party location extension - ALE)." +], +"type": "string" +}, +"mapsLocationSet": { +"$ref": "GoogleAdsSearchads360V23Common__MapsLocationSet", +"description": "Only set if locations are synced based on selected maps locations" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LogicalUserListInfo": { +"description": "Represents a user list that is a custom combination of user lists.", +"id": "GoogleAdsSearchads360V23Common__LogicalUserListInfo", +"properties": { +"rules": { +"description": "Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo": { +"description": "Operand of logical user list that consists of a user list.", +"id": "GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo", +"properties": { +"userList": { +"description": "Resource name of a user list as an operand.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__LookalikeUserListInfo": { +"description": "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)", +"id": "GoogleAdsSearchads360V23Common__LookalikeUserListInfo", +"properties": { +"countryCodes": { +"description": "Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166", +"items": { +"type": "string" +}, +"type": "array" +}, +"expansionLevel": { +"description": "Expansion level, reflecting the size of the lookalike audience", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NARROW", +"BALANCED", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Invalid expansion level.", +"Expansion to a small set of users that are similar to the seed lists", +"Expansion to a medium set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_NARROW, and more.", +"Expansion to a large set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_BALANCED, and more." +], +"type": "string" +}, +"seedUserListIds": { +"description": "Seed UserList ID from which this list is derived, provided by user.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ManualCpa": { +"description": "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", +"id": "GoogleAdsSearchads360V23Common__ManualCpa", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ManualCpc": { +"description": "Manual click-based bidding where user pays per click.", +"id": "GoogleAdsSearchads360V23Common__ManualCpc", +"properties": { +"enhancedCpcEnabled": { +"description": "Whether bids are to be enhanced based on conversion optimizer data.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ManualCpm": { +"description": "Manual impression-based bidding where user pays per thousand impressions.", +"id": "GoogleAdsSearchads360V23Common__ManualCpm", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ManualCpv": { +"description": "View based bidding where user pays per video view.", +"id": "GoogleAdsSearchads360V23Common__ManualCpv", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MapsLocationInfo": { +"description": "Wrapper for place ids", +"id": "GoogleAdsSearchads360V23Common__MapsLocationInfo", +"properties": { +"placeId": { +"description": "Place ID of the Maps location.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MapsLocationSet": { +"description": "Wrapper for multiple maps location sync data", +"id": "GoogleAdsSearchads360V23Common__MapsLocationSet", +"properties": { +"mapsLocations": { +"description": "Required. A list of maps location info that user manually synced in.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__MapsLocationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MaximizeConversionValue": { +"description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", +"id": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", +"format": "int64", +"type": "string" +}, +"cpcBidFloorMicros": { +"description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.", +"format": "double", +"type": "number" +}, +"targetRoasTolerancePercentMillis": { +"description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MaximizeConversions": { +"description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", +"id": "GoogleAdsSearchads360V23Common__MaximizeConversions", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", +"format": "int64", +"type": "string" +}, +"cpcBidFloorMicros": { +"description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", +"format": "int64", +"type": "string" +}, +"targetCpaMicros": { +"description": "The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MediaBundleAsset": { +"description": "A MediaBundle asset.", +"id": "GoogleAdsSearchads360V23Common__MediaBundleAsset", +"properties": { +"data": { +"description": "Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.", +"format": "byte", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MetricGoal": { +"description": "A metric goal for an experiment.", +"id": "GoogleAdsSearchads360V23Common__MetricGoal", +"properties": { +"direction": { +"description": "The metric direction of the goal. For example, increase, decrease, no change.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_CHANGE", +"INCREASE", +"DECREASE", +"NO_CHANGE_OR_INCREASE", +"NO_CHANGE_OR_DECREASE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The goal of the experiment is to not change the metric.", +"The goal of the experiment is to increate the metric.", +"The goal of the experiment is to decrease the metric.", +"The goal of the experiment is to either not change or increase the metric.", +"The goal of the experiment is to either not change or decrease the metric." +], +"type": "string" +}, +"metric": { +"description": "The metric of the goal. For example, clicks, impressions, cost, conversions, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICKS", +"IMPRESSIONS", +"COST", +"CONVERSIONS_PER_INTERACTION_RATE", +"COST_PER_CONVERSION", +"CONVERSIONS_VALUE_PER_COST", +"AVERAGE_CPC", +"CTR", +"INCREMENTAL_CONVERSIONS", +"COMPLETED_VIDEO_VIEWS", +"CUSTOM_ALGORITHMS", +"CONVERSIONS", +"CONVERSION_VALUE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The goal of the experiment is clicks.", +"The goal of the experiment is impressions.", +"The goal of the experiment is cost.", +"The goal of the experiment is conversion rate.", +"The goal of the experiment is cost per conversion.", +"The goal of the experiment is conversion value per cost.", +"The goal of the experiment is avg cpc.", +"The goal of the experiment is ctr.", +"The goal of the experiment is incremental conversions.", +"The goal of the experiment is completed video views.", +"The goal of the experiment is custom algorithms.", +"The goal of the experiment is conversions.", +"The goal of the experiment is conversion value." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Metrics": { +"description": "Metrics data.", +"id": "GoogleAdsSearchads360V23Common__Metrics", +"properties": { +"absoluteTopImpressionPercentage": { +"description": "Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.", +"format": "double", +"type": "number" +}, +"allConversions": { +"description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.", +"format": "double", +"type": "number" +}, +"allConversionsByConversionDate": { +"description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", +"format": "double", +"type": "number" +}, +"allConversionsFromClickToCall": { +"description": "The number of times people clicked the \"Call\" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromDirections": { +"description": "The number of times people clicked a \"Get directions\" button to navigate to a business after clicking an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromInteractionsRate": { +"description": "All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions.", +"format": "double", +"type": "number" +}, +"allConversionsFromInteractionsValuePerInteraction": { +"description": "The value of all conversions from interactions divided by the total number of interactions.", +"format": "double", +"type": "number" +}, +"allConversionsFromMenu": { +"description": "The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromOrder": { +"description": "The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromOtherEngagement": { +"description": "The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromStoreVisit": { +"description": "Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsFromStoreWebsite": { +"description": "The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.", +"format": "double", +"type": "number" +}, +"allConversionsValue": { +"description": "The value of all conversions.", +"format": "double", +"type": "number" +}, +"allConversionsValueByConversionDate": { +"description": "The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", +"format": "double", +"type": "number" +}, +"allConversionsValuePerCost": { +"description": "The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).", +"format": "double", +"type": "number" +}, +"averageCartSize": { +"description": "Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"averageCost": { +"description": "The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.", +"format": "double", +"type": "number" +}, +"averageCpc": { +"description": "The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "double", +"type": "number" +}, +"averageCpm": { +"description": "Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "double", +"type": "number" +}, +"averageImpressionFrequencyPerUser": { +"description": "The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.", +"format": "double", +"type": "number" +}, +"averageOrderValueMicros": { +"description": "Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.", +"format": "int64", +"type": "string" +}, +"averageQualityScore": { +"description": "The average quality score.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "The number of clicks.", +"format": "int64", +"type": "string" +}, +"clientAccountConversions": { +"description": "The number of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", +"format": "double", +"type": "number" +}, +"clientAccountConversionsValue": { +"description": "The value of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", +"format": "double", +"type": "number" +}, +"clientAccountCrossSellCostOfGoodsSoldMicros": { +"description": "Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountCrossSellGrossProfitMicros": { +"description": "Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountCrossSellRevenueMicros": { +"description": "Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountCrossSellUnitsSold": { +"description": "Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"clientAccountLeadCostOfGoodsSoldMicros": { +"description": "Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountLeadGrossProfitMicros": { +"description": "Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountLeadRevenueMicros": { +"description": "Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"clientAccountLeadUnitsSold": { +"description": "Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"clientAccountViewThroughConversions": { +"description": "The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.", +"format": "int64", +"type": "string" +}, +"contentBudgetLostImpressionShare": { +"description": "The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"contentImpressionShare": { +"description": "The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", +"format": "double", +"type": "number" +}, +"contentRankLostImpressionShare": { +"description": "The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"conversionCustomMetrics": { +"description": "The conversion custom metrics.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__Value" +}, +"type": "array" +}, +"conversions": { +"description": "The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", +"format": "double", +"type": "number" +}, +"conversionsByConversionDate": { +"description": "The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in date column means the conversion date.", +"format": "double", +"type": "number" +}, +"conversionsFromInteractionsRate": { +"description": "Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion.", +"format": "double", +"type": "number" +}, +"conversionsFromInteractionsValuePerInteraction": { +"description": "The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", +"format": "double", +"type": "number" +}, +"conversionsValue": { +"description": "The sum of conversion values for the conversions included in the \"conversions\" field. This metric is useful only if you entered a value for your conversion actions.", +"format": "double", +"type": "number" +}, +"conversionsValueByConversionDate": { +"description": "The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date.", +"format": "double", +"type": "number" +}, +"conversionsValuePerCost": { +"description": "The value of biddable conversion divided by the total cost of conversion eligible interactions.", +"format": "double", +"type": "number" +}, +"costMicros": { +"description": "The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"costOfGoodsSoldMicros": { +"description": "Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.", +"format": "int64", +"type": "string" +}, +"costPerAllConversions": { +"description": "The cost of ad interactions divided by all conversions.", +"format": "double", +"type": "number" +}, +"costPerConversion": { +"description": "Average conversion eligible cost per biddable conversion.", +"format": "double", +"type": "number" +}, +"costPerCurrentModelAttributedConversion": { +"description": "The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", +"format": "double", +"type": "number" +}, +"crossDeviceConversions": { +"description": "Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in all_conversions.", +"format": "double", +"type": "number" +}, +"crossDeviceConversionsByConversionDate": { +"description": "The number of cross-device conversions by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", +"format": "double", +"type": "number" +}, +"crossDeviceConversionsValue": { +"description": "The sum of the value of cross-device conversions.", +"format": "double", +"type": "number" +}, +"crossDeviceConversionsValueByConversionDate": { +"description": "The sum of cross-device conversions value by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", +"format": "double", +"type": "number" +}, +"crossSellCostOfGoodsSoldMicros": { +"description": "Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"crossSellGrossProfitMicros": { +"description": "Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"crossSellRevenueMicros": { +"description": "Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"crossSellUnitsSold": { +"description": "Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"ctr": { +"description": "The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).", +"format": "double", +"type": "number" +}, +"generalInvalidClickRate": { +"description": "The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.", +"format": "double", +"type": "number" +}, +"generalInvalidClicks": { +"description": "Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.", +"format": "int64", +"type": "string" +}, +"grossProfitMargin": { +"description": "Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"grossProfitMicros": { +"description": "Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.", +"format": "int64", +"type": "string" +}, +"historicalCreativeQualityScore": { +"description": "The creative historical quality score.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"type": "string" +}, +"historicalLandingPageQualityScore": { +"description": "The quality of historical landing page experience.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"type": "string" +}, +"historicalQualityScore": { +"description": "The historical quality score.", +"format": "int64", +"type": "string" +}, +"historicalSearchPredictedCtr": { +"description": "The historical search predicted click through rate (CTR).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"type": "string" +}, +"impressions": { +"description": "Count of how often your ad has appeared on a search results page or website on the Google Network.", +"format": "int64", +"type": "string" +}, +"interactionEventTypes": { +"description": "The types of payable and free interactions.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICK", +"ENGAGEMENT", +"VIDEO_VIEW", +"NONE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Click to site. In most cases, this interaction navigates to an external location, usually the advertiser's landing page. This is also the default InteractionEventType for click events.", +"The user's expressed intent to engage with the ad in-place.", +"User viewed a video ad.", +"The default InteractionEventType for ad conversion events. This is used when an ad conversion row does NOT indicate that the free interactions (for example, the ad conversions) should be 'promoted' and reported as part of the core metrics. These are simply other (ad) conversions." +], +"type": "string" +}, +"type": "array" +}, +"interactionRate": { +"description": "How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.", +"format": "double", +"type": "number" +}, +"interactions": { +"description": "The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.", +"format": "int64", +"type": "string" +}, +"invalidClickRate": { +"description": "The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.", +"format": "double", +"type": "number" +}, +"invalidClicks": { +"description": "Number of clicks Google considers illegitimate and doesn't charge you for.", +"format": "int64", +"type": "string" +}, +"leadCostOfGoodsSoldMicros": { +"description": "Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"leadGrossProfitMicros": { +"description": "Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"leadRevenueMicros": { +"description": "Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", +"format": "int64", +"type": "string" +}, +"leadUnitsSold": { +"description": "Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"mobileFriendlyClicksPercentage": { +"description": "The percentage of mobile clicks that go to a mobile-friendly page.", +"format": "double", +"type": "number" +}, +"orders": { +"description": "Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"rawEventConversionMetrics": { +"description": "The raw event conversion metrics.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__Value" +}, +"type": "array" +}, +"revenueMicros": { +"description": "Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.", +"format": "int64", +"type": "string" +}, +"searchAbsoluteTopImpressionShare": { +"description": "The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See https://support.google.com/sa360/answer/9566729 for details. Any value below 0.1 is reported as 0.0999.", +"format": "double", +"type": "number" +}, +"searchBudgetLostAbsoluteTopImpressionShare": { +"description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchBudgetLostImpressionShare": { +"description": "The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchBudgetLostTopImpressionShare": { +"description": "The number estimating how often your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchClickShare": { +"description": "The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", +"format": "double", +"type": "number" +}, +"searchExactMatchImpressionShare": { +"description": "The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", +"format": "double", +"type": "number" +}, +"searchImpressionShare": { +"description": "The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", +"format": "double", +"type": "number" +}, +"searchRankLostAbsoluteTopImpressionShare": { +"description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchRankLostImpressionShare": { +"description": "The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchRankLostTopImpressionShare": { +"description": "The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", +"format": "double", +"type": "number" +}, +"searchTopImpressionShare": { +"description": "The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.", +"format": "double", +"type": "number" +}, +"topImpressionPercentage": { +"description": "The percent of your ad impressions that are shown adjacent to the top organic search results.", +"format": "double", +"type": "number" +}, +"uniqueUsers": { +"description": "The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.", +"format": "int64", +"type": "string" +}, +"unitsSold": { +"description": "Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data.", +"format": "double", +"type": "number" +}, +"valuePerAllConversions": { +"description": "The value of all conversions divided by the number of all conversions.", +"format": "double", +"type": "number" +}, +"valuePerAllConversionsByConversionDate": { +"description": "The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", +"format": "double", +"type": "number" +}, +"valuePerConversion": { +"description": "The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth.", +"format": "double", +"type": "number" +}, +"valuePerConversionsByConversionDate": { +"description": "Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date.", +"format": "double", +"type": "number" +}, +"visits": { +"description": "Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MobileAppAsset": { +"description": "An asset representing a mobile app.", +"id": "GoogleAdsSearchads360V23Common__MobileAppAsset", +"properties": { +"appId": { +"description": "Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like \"com.android.ebay\" for Android or \"12345689\" for iOS.", +"type": "string" +}, +"appStore": { +"description": "Required. The application store that distributes this specific app.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLE_APP_STORE", +"GOOGLE_APP_STORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Mobile app vendor for Apple app store.", +"Mobile app vendor for Google app store." +], +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"linkText": { +"description": "Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MobileAppCategoryInfo": { +"description": "A mobile app category criterion.", +"id": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", +"properties": { +"mobileAppCategoryConstant": { +"description": "The mobile app category constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MobileApplicationInfo": { +"description": "A mobile application criterion.", +"id": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", +"properties": { +"appId": { +"description": "A string that uniquely identifies a mobile application to Google Ads API. The format of this string is \"{platform}-{platform_native_id}\", where platform is \"1\" for iOS apps and \"2\" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is \"http://itunes.apple.com/us/app/flood-it!-2/id476943146\"). For Android, this native identifier is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link \"https://play.google.com/store/apps/details?id=com.labpixies.colordrips\"). A well formed app id for Google Ads API would thus be \"1-476943146\" for iOS and \"2-com.labpixies.colordrips\" for Android. This field is required and must be set in CREATE operations.", +"type": "string" +}, +"name": { +"description": "Name of this mobile application.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MobileDeviceInfo": { +"description": "A mobile device criterion.", +"id": "GoogleAdsSearchads360V23Common__MobileDeviceInfo", +"properties": { +"mobileDeviceConstant": { +"description": "The mobile device constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Money": { +"description": "Represents a price in a particular currency.", +"id": "GoogleAdsSearchads360V23Common__Money", +"properties": { +"amountMicros": { +"description": "Amount in micros. One million is equivalent to one unit.", +"format": "int64", +"type": "string" +}, +"currencyCode": { +"description": "Three-character ISO 4217 currency code.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__MonthlySearchVolume": { +"description": "Monthly search volume.", +"id": "GoogleAdsSearchads360V23Common__MonthlySearchVolume", +"properties": { +"month": { +"description": "The month of the search volume.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"January.", +"February.", +"March.", +"April.", +"May.", +"June.", +"July.", +"August.", +"September.", +"October.", +"November.", +"December." +], +"type": "string" +}, +"monthlySearches": { +"description": "Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month.", +"format": "int64", +"type": "string" +}, +"year": { +"description": "The year of the search volume (for example, 2020).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__NegativeKeywordListInfo": { +"description": "A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account.", +"id": "GoogleAdsSearchads360V23Common__NegativeKeywordListInfo", +"properties": { +"sharedSet": { +"description": "The NegativeKeywordListInfo shared set resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__OfflineUserAddressInfo": { +"description": "Address identifier of offline data.", +"id": "GoogleAdsSearchads360V23Common__OfflineUserAddressInfo", +"properties": { +"city": { +"description": "City of the address. Only accepted for Store Sales.", +"type": "string" +}, +"countryCode": { +"description": "2-letter country code in ISO-3166-1 alpha-2 of the user's address.", +"type": "string" +}, +"hashedFirstName": { +"description": "First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).", +"type": "string" +}, +"hashedLastName": { +"description": "Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).", +"type": "string" +}, +"hashedStreetAddress": { +"description": "The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.", +"type": "string" +}, +"postalCode": { +"description": "Postal code of the user's address.", +"type": "string" +}, +"state": { +"description": "State code of the address. Only accepted for Store Sales.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo": { +"description": "Represents an operating system version to be targeted.", +"id": "GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo", +"properties": { +"operatingSystemVersionConstant": { +"description": "The operating system version constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PageFeedAsset": { +"description": "A Page Feed asset.", +"id": "GoogleAdsSearchads360V23Common__PageFeedAsset", +"properties": { +"labels": { +"description": "Labels used to group the page urls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageUrl": { +"description": "Required. The webpage that advertisers want to target.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ParentalStatusDimension": { +"description": "Dimension specifying users by their parental status.", +"id": "GoogleAdsSearchads360V23Common__ParentalStatusDimension", +"properties": { +"includeUndetermined": { +"description": "Include users whose parental status is undetermined.", +"type": "boolean" +}, +"parentalStatuses": { +"description": "Included parental status demographic segments.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PARENT", +"NOT_A_PARENT", +"UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Parent.", +"Not a parent.", +"Undetermined parental status." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ParentalStatusInfo": { +"description": "A parental status criterion.", +"id": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"properties": { +"type": { +"description": "Type of the parental status.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PARENT", +"NOT_A_PARENT", +"UNDETERMINED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Parent.", +"Not a parent.", +"Undetermined parental status." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PercentCpc": { +"description": "A bidding strategy where bids are a fraction of the advertised price for some good or service.", +"id": "GoogleAdsSearchads360V23Common__PercentCpc", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.", +"format": "int64", +"type": "string" +}, +"enhancedCpcEnabled": { +"description": "Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint": { +"description": "Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.", +"id": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint", +"properties": { +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions in local currency.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"percentCpcBidMicros": { +"description": "The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].", +"format": "int64", +"type": "string" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList": { +"description": "A container for simulation points for simulations of type PERCENT_CPC_BID.", +"id": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of percent CPC bid amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PlacementInfo": { +"description": "A placement criterion. This can be used to modify bids for sites when targeting the content network.", +"id": "GoogleAdsSearchads360V23Common__PlacementInfo", +"properties": { +"url": { +"description": "URL of the placement. For example, \"http://www.domain.com\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PlacementListInfo": { +"description": "A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level.", +"id": "GoogleAdsSearchads360V23Common__PlacementListInfo", +"properties": { +"sharedSet": { +"description": "The PlacementListInfo shared set resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicySummary": { +"description": "Contains policy summary information.", +"id": "GoogleAdsSearchads360V23Common__PolicySummary", +"properties": { +"approvalStatus": { +"description": "The overall approval status, which is calculated based on the status of its individual policy topic entries.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISAPPROVED", +"APPROVED_LIMITED", +"APPROVED", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Will not serve.", +"Serves with restrictions.", +"Serves without restrictions.", +"Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." +], +"type": "string" +}, +"policyTopicEntries": { +"description": "The list of policy findings.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"type": "array" +}, +"reviewStatus": { +"description": "Where in the review process the resource is.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REVIEW_IN_PROGRESS", +"REVIEWED", +"UNDER_APPEAL", +"ELIGIBLE_MAY_SERVE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Currently under review.", +"Primary review complete. Other reviews may be continuing.", +"The resource has been resubmitted for approval or its policy decision has been appealed.", +"The resource is eligible and may be serving but could still undergo further review." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicyTopicConstraint": { +"description": "Describes the effect on serving that a policy topic entry will have.", +"id": "GoogleAdsSearchads360V23Common__PolicyTopicConstraint", +"properties": { +"certificateDomainMismatchInCountryList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", +"description": "Countries where the resource's domain is not covered by the certificates associated with it." +}, +"certificateMissingInCountryList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", +"description": "Countries where a certificate is required for serving." +}, +"countryConstraintList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", +"description": "Countries where the resource cannot serve." +}, +"resellerConstraint": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint", +"description": "Reseller constraint." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicyTopicEntry": { +"description": "Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.", +"id": "GoogleAdsSearchads360V23Common__PolicyTopicEntry", +"properties": { +"constraints": { +"description": "Indicates how serving of this resource may be affected (for example, not serving in a country).", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicConstraint" +}, +"type": "array" +}, +"evidences": { +"description": "Additional information that explains policy finding (for example, the brand name for a trademark finding).", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEvidence" +}, +"type": "array" +}, +"topic": { +"description": "Policy topic this finding refers to. For example, \"ALCOHOL\", \"TRADEMARKS_IN_AD_TEXT\", or \"DESTINATION_NOT_WORKING\". The set of possible policy topics is not fixed for a particular API version and may change at any time.", +"type": "string" +}, +"type": { +"description": "Describes the negative or positive effect this policy will have on serving.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PROHIBITED", +"LIMITED", +"FULLY_LIMITED", +"DESCRIPTIVE", +"BROADENING", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The resource will not be served.", +"The resource will not be served under some circumstances.", +"The resource cannot serve at all because of the current targeting criteria.", +"May be of interest, but does not limit how the resource is served.", +"Could increase coverage beyond normal.", +"Constrained for all targeted countries, but may serve in other countries through area of interest." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicyTopicEvidence": { +"description": "Additional information that explains a policy finding.", +"id": "GoogleAdsSearchads360V23Common__PolicyTopicEvidence", +"properties": { +"destinationMismatch": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch", +"description": "Mismatch between the destinations of a resource's URLs." +}, +"destinationNotWorking": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking", +"description": "Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices." +}, +"destinationTextList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList", +"description": "The text in the destination of the resource that is causing a policy finding." +}, +"languageCode": { +"description": "The language the resource was detected to be written in. This is an IETF language tag such as \"en-US\".", +"type": "string" +}, +"textList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList", +"description": "List of evidence found in the text of a resource." +}, +"websiteList": { +"$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList", +"description": "List of websites linked with this resource." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicyValidationParameter": { +"description": "Parameter for controlling how policy exemption is done.", +"id": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", +"properties": { +"exemptPolicyViolationKeys": { +"description": "The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" +}, +"type": "array" +}, +"ignorablePolicyTopics": { +"description": "The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PolicyViolationKey": { +"description": "Key of the violation. The key is used for referring to a violation when filing an exemption request.", +"id": "GoogleAdsSearchads360V23Common__PolicyViolationKey", +"properties": { +"policyName": { +"description": "Unique ID of the violated policy.", +"type": "string" +}, +"violatingText": { +"description": "The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PriceAsset": { +"description": "An asset representing a list of price offers.", +"id": "GoogleAdsSearchads360V23Common__PriceAsset", +"properties": { +"languageCode": { +"description": "Required. The language of the price asset. Represented as BCP 47 language tag.", +"type": "string" +}, +"priceOfferings": { +"description": "The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PriceOffering" +}, +"type": "array" +}, +"priceQualifier": { +"description": "The price qualifier of the price asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FROM", +"UP_TO", +"AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"'From' qualifier for the price.", +"'Up to' qualifier for the price.", +"'Average' qualifier for the price." +], +"type": "string" +}, +"type": { +"description": "Required. The type of the price asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BRANDS", +"EVENTS", +"LOCATIONS", +"NEIGHBORHOODS", +"PRODUCT_CATEGORIES", +"PRODUCT_TIERS", +"SERVICES", +"SERVICE_CATEGORIES", +"SERVICE_TIERS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The type for showing a list of brands.", +"The type for showing a list of events.", +"The type for showing locations relevant to your business.", +"The type for showing sub-regions or districts within a city or region.", +"The type for showing a collection of product categories.", +"The type for showing a collection of related product tiers.", +"The type for showing a collection of services offered by your business.", +"The type for showing a collection of service categories.", +"The type for showing a collection of related service tiers." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PriceOffering": { +"description": "A single price offering within a PriceAsset.", +"id": "GoogleAdsSearchads360V23Common__PriceOffering", +"properties": { +"description": { +"description": "Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"finalMobileUrl": { +"description": "The final mobile URL after all cross domain redirects.", +"type": "string" +}, +"finalUrl": { +"description": "Required. The final URL after all cross domain redirects.", +"type": "string" +}, +"header": { +"description": "Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"price": { +"$ref": "GoogleAdsSearchads360V23Common__Money", +"description": "Required. The price value of the price offering." +}, +"unit": { +"description": "The price unit of the price offering.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PER_HOUR", +"PER_DAY", +"PER_WEEK", +"PER_MONTH", +"PER_YEAR", +"PER_NIGHT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Per hour.", +"Per day.", +"Per week.", +"Per month.", +"Per year.", +"Per night." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductBrandInfo": { +"description": "Brand of the product.", +"id": "GoogleAdsSearchads360V23Common__ProductBrandInfo", +"properties": { +"value": { +"description": "String value of the product brand.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductCategoryInfo": { +"description": "Category of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductCategoryInfo", +"properties": { +"categoryId": { +"description": "ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436", +"format": "int64", +"type": "string" +}, +"level": { +"description": "Level of the product category.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEVEL1", +"LEVEL2", +"LEVEL3", +"LEVEL4", +"LEVEL5" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Level 1.", +"Level 2.", +"Level 3.", +"Level 4.", +"Level 5." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo": { +"description": "Availability of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo", +"properties": { +"channelExclusivity": { +"description": "Value of the availability.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SINGLE_CHANNEL", +"MULTI_CHANNEL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", +"The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductChannelInfo": { +"description": "Locality of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductChannelInfo", +"properties": { +"channel": { +"description": "Value of the locality.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductConditionInfo": { +"description": "Condition of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductConditionInfo", +"properties": { +"condition": { +"description": "Value of the condition.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"REFURBISHED", +"USED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The product condition is new.", +"The product condition is refurbished.", +"The product condition is used." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo": { +"description": "Custom attribute of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo", +"properties": { +"index": { +"description": "Indicates the index of the custom attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INDEX0", +"INDEX1", +"INDEX2", +"INDEX3", +"INDEX4" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"First product custom attribute.", +"Second product custom attribute.", +"Third product custom attribute.", +"Fourth product custom attribute.", +"Fifth product custom attribute." +], +"type": "string" +}, +"value": { +"description": "String value of the product custom attribute.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductGroupingInfo": { +"description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", +"id": "GoogleAdsSearchads360V23Common__ProductGroupingInfo", +"properties": { +"value": { +"description": "String value of the product grouping.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductItemIdInfo": { +"description": "Item id of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductItemIdInfo", +"properties": { +"value": { +"description": "Value of the id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductLabelsInfo": { +"description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", +"id": "GoogleAdsSearchads360V23Common__ProductLabelsInfo", +"properties": { +"value": { +"description": "String value of the product labels.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo": { +"description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", +"id": "GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo", +"properties": { +"value": { +"description": "String value of the product legacy condition.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductTypeFullInfo": { +"description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", +"id": "GoogleAdsSearchads360V23Common__ProductTypeFullInfo", +"properties": { +"value": { +"description": "String value of the product full type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProductTypeInfo": { +"description": "Type of a product offer.", +"id": "GoogleAdsSearchads360V23Common__ProductTypeInfo", +"properties": { +"level": { +"description": "Level of the type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEVEL1", +"LEVEL2", +"LEVEL3", +"LEVEL4", +"LEVEL5" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Level 1.", +"Level 2.", +"Level 3.", +"Level 4.", +"Level 5." +], +"type": "string" +}, +"value": { +"description": "Value of the type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PromotionAsset": { +"description": "A Promotion asset.", +"id": "GoogleAdsSearchads360V23Common__PromotionAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"discountModifier": { +"description": "A modifier for qualification of the discount.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UP_TO" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"'Up to'." +], +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"languageCode": { +"description": "The language of the promotion. Represented as BCP 47 language tag.", +"type": "string" +}, +"moneyAmountOff": { +"$ref": "GoogleAdsSearchads360V23Common__Money", +"description": "Money amount off for discount in the promotion. Either this or percent_off is required." +}, +"occasion": { +"description": "The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW_YEARS", +"CHINESE_NEW_YEAR", +"VALENTINES_DAY", +"EASTER", +"MOTHERS_DAY", +"FATHERS_DAY", +"LABOR_DAY", +"BACK_TO_SCHOOL", +"HALLOWEEN", +"BLACK_FRIDAY", +"CYBER_MONDAY", +"CHRISTMAS", +"BOXING_DAY", +"INDEPENDENCE_DAY", +"NATIONAL_DAY", +"END_OF_SEASON", +"WINTER_SALE", +"SUMMER_SALE", +"FALL_SALE", +"SPRING_SALE", +"RAMADAN", +"EID_AL_FITR", +"EID_AL_ADHA", +"SINGLES_DAY", +"WOMENS_DAY", +"HOLI", +"PARENTS_DAY", +"ST_NICHOLAS_DAY", +"CARNIVAL", +"EPIPHANY", +"ROSH_HASHANAH", +"PASSOVER", +"HANUKKAH", +"DIWALI", +"NAVRATRI", +"SONGKRAN", +"YEAR_END_GIFT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"New Year's.", +"Chinese New Year.", +"Valentine's Day.", +"Easter.", +"Mother's Day.", +"Father's Day.", +"Labor Day.", +"Back To School.", +"Halloween.", +"Black Friday.", +"Cyber Monday.", +"Christmas.", +"Boxing Day.", +"Independence Day in any country.", +"National Day in any country.", +"End of any season.", +"Winter Sale.", +"Summer sale.", +"Fall Sale.", +"Spring Sale.", +"Ramadan.", +"Eid al-Fitr.", +"Eid al-Adha.", +"Singles Day.", +"Women's Day.", +"Holi.", +"Parent's Day.", +"St. Nicholas Day.", +"Carnival.", +"Epiphany, also known as Three Kings' Day.", +"Rosh Hashanah.", +"Passover.", +"Hanukkah.", +"Diwali.", +"Navratri.", +"Available in Thai: Songkran.", +"Available in Japanese: Year-end Gift." +], +"type": "string" +}, +"ordersOverAmount": { +"$ref": "GoogleAdsSearchads360V23Common__Money", +"description": "The amount the total order needs to be for the user to be eligible for the promotion." +}, +"percentOff": { +"description": "Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.", +"format": "int64", +"type": "string" +}, +"promotionBarcodeInfo": { +"$ref": "GoogleAdsSearchads360V23Common__PromotionBarcodeInfo", +"description": "Barcode info used to generate promotion barcode for user to be eligible for the promotion." +}, +"promotionCode": { +"description": "A code the user should use in order to be eligible for the promotion.", +"type": "string" +}, +"promotionQrCodeInfo": { +"$ref": "GoogleAdsSearchads360V23Common__PromotionQrCodeInfo", +"description": "QR code info used to generate promotion QR code for user to be eligible for the promotion." +}, +"promotionTarget": { +"description": "Required. A freeform description of what the promotion is targeting.", +"type": "string" +}, +"redemptionEndDate": { +"description": "Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.", +"type": "string" +}, +"redemptionStartDate": { +"description": "Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +}, +"termsAndConditionsText": { +"description": "Terms and conditions of the promotion.", +"type": "string" +}, +"termsAndConditionsUri": { +"description": "URI to the terms and conditions of the promotion.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PromotionBarcodeInfo": { +"description": "Barcode info to generate promotion barcode.", +"id": "GoogleAdsSearchads360V23Common__PromotionBarcodeInfo", +"properties": { +"barcodeContent": { +"description": "Promotion message to be encoded in the barcode.", +"type": "string" +}, +"type": { +"description": "Barcode type used to generate barcode with the correct format.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AZTEC", +"CODABAR", +"CODE39", +"CODE128", +"DATA_MATRIX", +"EAN8", +"EAN13", +"ITF", +"PDF417", +"UPC_A" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Aztec 2D barcode format. Max 350 characters and no links", +"CODABAR 1D format. Max 12 characters and no links. Supported characters include 0123456789-$:/.+ and optional start and end guards from ABCD.", +"Code 39 1D format. Max 8 characters and no links. Supported characters include 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%.", +"Code 128 1D format. Max 18 ASCII characters only and no links", +"Data Matrix 2D barcode format. Max 525 ISO-8859-1 characters only and no links", +"EAN-8 1D format. The barcode value should be 7 digits (the check digit will be computed automatically) or 8 digits (if you are providing your own check digit).", +"EAN-13 1D format. The barcode value should be 12 digits (the check digit will be computed automatically) or 13 digits (if you are providing your own check digit).", +"ITF (Interleaved Two of Five) 1D format. Must be 14 digits long", +"PDF417 format. Max 140 characters and no links", +"UPC-A 1D format. The barcode value should be 11 digits (the check digit will be computed automatically) or 12 digits (if you are providing your own check digit)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__PromotionQrCodeInfo": { +"description": "QR code info to generate promotion QR code.", +"id": "GoogleAdsSearchads360V23Common__PromotionQrCodeInfo", +"properties": { +"qrCodeContent": { +"description": "Promotion message to be encoded in the QR code.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ProximityInfo": { +"description": "A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated.", +"id": "GoogleAdsSearchads360V23Common__ProximityInfo", +"properties": { +"address": { +"$ref": "GoogleAdsSearchads360V23Common__AddressInfo", +"description": "Full address." +}, +"geoPoint": { +"$ref": "GoogleAdsSearchads360V23Common__GeoPointInfo", +"description": "Latitude and longitude." +}, +"radius": { +"description": "The radius of the proximity.", +"format": "double", +"type": "number" +}, +"radiusUnits": { +"description": "The unit of measurement of the radius. Default is KILOMETERS.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MILES", +"KILOMETERS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Miles", +"Kilometers" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__RealTimeBiddingSetting": { +"description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.", +"id": "GoogleAdsSearchads360V23Common__RealTimeBiddingSetting", +"properties": { +"optIn": { +"description": "Whether the campaign is opted in to real-time bidding.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec": { +"description": "Specification for various creative controls for a responsive display ad.", +"id": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec", +"properties": { +"enableAssetEnhancements": { +"description": "Whether the advertiser has opted into the asset enhancements feature.", +"type": "boolean" +}, +"enableAutogenVideo": { +"description": "Whether the advertiser has opted into auto-gen video feature.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo": { +"description": "A responsive display ad.", +"id": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo", +"properties": { +"accentColor": { +"description": "The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", +"type": "string" +}, +"allowFlexibleColor": { +"description": "Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.", +"type": "boolean" +}, +"businessName": { +"description": "The advertiser/brand name. Maximum display width is 25.", +"type": "string" +}, +"callToActionText": { +"description": "The call-to-action text for the ad. Maximum display width is 30.", +"type": "string" +}, +"controlSpec": { +"$ref": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec", +"description": "Specification for various creative controls." +}, +"descriptions": { +"description": "Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"formatSetting": { +"description": "Specifies which format the ad will be served in. Default is ALL_FORMATS.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_FORMATS", +"NON_NATIVE", +"NATIVE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Text, image and native formats.", +"Text and image formats.", +"Native format, for example, the format rendering is controlled by the publisher and not by Google." +], +"type": "string" +}, +"headlines": { +"description": "Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"logoImages": { +"description": "Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"longHeadline": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", +"description": "A required long format headline. The maximum length is 90 characters." +}, +"mainColor": { +"description": "The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", +"type": "string" +}, +"marketingImages": { +"description": "Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"pricePrefix": { +"description": "Prefix before price. For example, 'as low as'.", +"type": "string" +}, +"promoText": { +"description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.", +"type": "string" +}, +"squareLogoImages": { +"description": "Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"squareMarketingImages": { +"description": "Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" +}, +"type": "array" +}, +"youtubeVideos": { +"description": "Optional YouTube videos for the ad. A maximum of 5 videos can be specified.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo": { +"description": "A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791", +"id": "GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo", +"properties": { +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"path1": { +"description": "First part of text that can be appended to the URL in the ad.", +"type": "string" +}, +"path2": { +"description": "Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__RuleBasedUserListInfo": { +"description": "Representation of a userlist that is generated by a rule.", +"id": "GoogleAdsSearchads360V23Common__RuleBasedUserListInfo", +"properties": { +"flexibleRuleUserList": { +"$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo", +"description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands \u2013 inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands." +}, +"prepopulationStatus": { +"description": "The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUESTED", +"FINISHED", +"FAILED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Prepopoulation is being requested.", +"Prepopulation is finished.", +"Prepopulation failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo": { +"description": "An expanded dynamic search ad.", +"id": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo", +"properties": { +"adTrackingId": { +"description": "The tracking id of the ad.", +"format": "int64", +"type": "string" +}, +"description1": { +"description": "The first line of the ad's description.", +"type": "string" +}, +"description2": { +"description": "The second line of the ad's description.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo": { +"description": "A Search Ads 360 expanded text ad.", +"id": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo", +"properties": { +"adTrackingId": { +"description": "The tracking id of the ad.", +"format": "int64", +"type": "string" +}, +"description1": { +"description": "The first line of the ad's description.", +"type": "string" +}, +"description2": { +"description": "The second line of the ad's description.", +"type": "string" +}, +"headline": { +"description": "The headline of the ad.", +"type": "string" +}, +"headline2": { +"description": "The second headline of the ad.", +"type": "string" +}, +"headline3": { +"description": "The third headline of the ad.", +"type": "string" +}, +"path1": { +"description": "Text appended to the auto-generated visible URL with a delimiter.", +"type": "string" +}, +"path2": { +"description": "Text appended to path1 with a delimiter.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo": { +"description": "A Search Ads 360 product ad.", +"id": "GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo": { +"description": "A Search Ads 360 responsive search ad.", +"id": "GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo", +"properties": { +"adTrackingId": { +"description": "The tracking id of the ad.", +"format": "int64", +"type": "string" +}, +"descriptions": { +"description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"path1": { +"description": "Text appended to the auto-generated visible URL with a delimiter.", +"type": "string" +}, +"path2": { +"description": "Text appended to path1 with a delimiter.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo": { +"description": "A Search Ads 360 text ad.", +"id": "GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo", +"properties": { +"adTrackingId": { +"description": "The tracking id of the ad.", +"format": "int64", +"type": "string" +}, +"description1": { +"description": "The first line of the ad's description.", +"type": "string" +}, +"description2": { +"description": "The second line of the ad's description.", +"type": "string" +}, +"displayMobileUrl": { +"description": "The displayed mobile URL of the ad.", +"type": "string" +}, +"displayUrl": { +"description": "The displayed URL of the ad.", +"type": "string" +}, +"headline": { +"description": "The headline of the ad.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SearchThemeInfo": { +"description": "A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input.", +"id": "GoogleAdsSearchads360V23Common__SearchThemeInfo", +"properties": { +"text": { +"description": "Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Segments": { +"description": "Segment only fields.", +"id": "GoogleAdsSearchads360V23Common__Segments", +"properties": { +"adFormatType": { +"description": "Ad Format type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OTHER", +"UNSEGMENTED", +"INSTREAM_SKIPPABLE", +"INSTREAM_NON_SKIPPABLE", +"INFEED", +"BUMPER", +"OUTSTREAM", +"MASTHEAD", +"AUDIO", +"SHORTS", +"PAUSE", +"VERTICAL_ADS_PROMOTION", +"VERTICAL_ADS_BOOKING_LINK", +"TEXT" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Value assigned to formats (such as experimental formats) which don't support format segmentation in Video and Demand Gen campaigns. Note that these formats may change categories in the future, for example if an experimental format is exposed or a new format is added. We strongly recommend to not rely on this field for long term decisions.", +"Value assigned for Video TrueView for Action campaigns statistics. Note that statistics with this value may change categories in the future, for example if format segmentation support is added for new campaign types. We strongly recommend to not rely on this field for long term decisions.", +"Skippable in-stream ads.", +"Non-skippable in-stream ads.", +"In-feed YouTube or image ads served on feed surfaces (e.g. Discover Feed, YouTube Home, etc.).", +"Short (<7 secs) in-stream non-skippable YouTube ads.", +"Outstream ads.", +"Masthead ads.", +"Audio ads.", +"Vertical full-screen video or image ads served on YouTube Shorts or BrandConnect ads served as organic YouTube Shorts.", +"Image ads served when a user pauses an organic YouTube video on a TV screen. These ads are displayed directly next to the static video frame on the pause screen itself. Note that this does not include Demand Gen image ads served on the ad panel below or on top of a paused organic video. Those are reported under INFEED.", +"An ad format that promotes a specific entity within a vertical, for example, a hotel ad in the Travel vertical on Search.", +"An ad format for a booking link call-to-action within a vertical ad, for example a 'Book Now' link for a hotel ad.", +"A standard text ad format. This is currently only used for ads on the Search network." +], +"type": "string" +}, +"adNetworkType": { +"description": "Ad network type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"SEARCH_PARTNERS", +"CONTENT", +"MIXED", +"YOUTUBE", +"GOOGLE_TV", +"GOOGLE_OWNED_CHANNELS", +"GMAIL", +"DISCOVER", +"MAPS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Google search.", +"Search partners.", +"Display Network.", +"Cross-network.", +"YouTube", +"Google TV", +"", +"Gmail", +"Discover Feed", +"Maps" +], +"type": "string" +}, +"assetInteractionTarget": { +"$ref": "GoogleAdsSearchads360V23Common__AssetInteractionTarget", +"description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with." +}, +"conversionAction": { +"description": "Resource name of the conversion action.", +"type": "string" +}, +"conversionActionCategory": { +"description": "Conversion action category.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT", +"PAGE_VIEW", +"PURCHASE", +"SIGNUP", +"DOWNLOAD", +"ADD_TO_CART", +"BEGIN_CHECKOUT", +"SUBSCRIBE_PAID", +"PHONE_CALL_LEAD", +"IMPORTED_LEAD", +"SUBMIT_LEAD_FORM", +"BOOK_APPOINTMENT", +"REQUEST_QUOTE", +"GET_DIRECTIONS", +"OUTBOUND_CLICK", +"CONTACT", +"ENGAGEMENT", +"STORE_VISIT", +"STORE_SALE", +"QUALIFIED_LEAD", +"CONVERTED_LEAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Default category.", +"User visiting a page.", +"Purchase, sales, or \"order placed\" event.", +"Signup user action.", +"Software download action (as for an app).", +"The addition of items to a shopping cart or bag on an advertiser site.", +"When someone enters the checkout flow on an advertiser site.", +"The start of a paid subscription for a product or service.", +"A call to indicate interest in an advertiser's offering.", +"A lead conversion imported from an external source into Google Ads.", +"A submission of a form on an advertiser site indicating business interest.", +"A booking of an appointment with an advertiser's business.", +"A quote or price estimate request.", +"A search for an advertiser's business location with intention to visit.", +"A click to an advertiser's partner's site.", +"A call, SMS, email, chat or other type of contact to an advertiser.", +"A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", +"A visit to a physical store location.", +"A sale occurring in a physical store.", +"A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", +"A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." +], +"type": "string" +}, +"conversionActionName": { +"description": "Conversion action name.", +"type": "string" +}, +"conversionCustomDimensions": { +"description": "The conversion custom dimensions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__Value" +}, +"type": "array" +}, +"date": { +"description": "Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17.", +"type": "string" +}, +"dayOfWeek": { +"description": "Day of the week, for example, MONDAY.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MONDAY", +"TUESDAY", +"WEDNESDAY", +"THURSDAY", +"FRIDAY", +"SATURDAY", +"SUNDAY" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Monday.", +"Tuesday.", +"Wednesday.", +"Thursday.", +"Friday.", +"Saturday.", +"Sunday." +], +"type": "string" +}, +"device": { +"description": "Device to which metrics apply.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +}, +"geoTargetCity": { +"description": "Resource name of the geo target constant that represents a city.", +"type": "string" +}, +"geoTargetCountry": { +"description": "Resource name of the geo target constant that represents a country.", +"type": "string" +}, +"geoTargetMetro": { +"description": "Resource name of the geo target constant that represents a metro.", +"type": "string" +}, +"geoTargetPostalCode": { +"description": "Resource name of the geo target constant that represents a postal code.", +"type": "string" +}, +"geoTargetRegion": { +"description": "Resource name of the geo target constant that represents a region.", +"type": "string" +}, +"hour": { +"description": "Hour of day as a number between 0 and 23, inclusive.", +"format": "int32", +"type": "integer" +}, +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__Keyword", +"description": "Keyword criterion." +}, +"month": { +"description": "Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.", +"type": "string" +}, +"productBiddingCategoryLevel1": { +"description": "Bidding category (level 1) of the product.", +"type": "string" +}, +"productBiddingCategoryLevel2": { +"description": "Bidding category (level 2) of the product.", +"type": "string" +}, +"productBiddingCategoryLevel3": { +"description": "Bidding category (level 3) of the product.", +"type": "string" +}, +"productBiddingCategoryLevel4": { +"description": "Bidding category (level 4) of the product.", +"type": "string" +}, +"productBiddingCategoryLevel5": { +"description": "Bidding category (level 5) of the product.", +"type": "string" +}, +"productBrand": { +"description": "Brand of the product.", +"type": "string" +}, +"productChannel": { +"description": "Channel of the product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"type": "string" +}, +"productChannelExclusivity": { +"description": "Channel exclusivity of the product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SINGLE_CHANNEL", +"MULTI_CHANNEL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", +"The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." +], +"type": "string" +}, +"productCondition": { +"description": "Condition of the product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"REFURBISHED", +"USED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The product condition is new.", +"The product condition is refurbished.", +"The product condition is used." +], +"type": "string" +}, +"productCountry": { +"description": "Resource name of the geo target constant for the country of sale of the product.", +"type": "string" +}, +"productCustomAttribute0": { +"description": "Custom attribute 0 of the product.", +"type": "string" +}, +"productCustomAttribute1": { +"description": "Custom attribute 1 of the product.", +"type": "string" +}, +"productCustomAttribute2": { +"description": "Custom attribute 2 of the product.", +"type": "string" +}, +"productCustomAttribute3": { +"description": "Custom attribute 3 of the product.", +"type": "string" +}, +"productCustomAttribute4": { +"description": "Custom attribute 4 of the product.", +"type": "string" +}, +"productItemId": { +"description": "Item ID of the product.", +"type": "string" +}, +"productLanguage": { +"description": "Resource name of the language constant for the language of the product.", +"type": "string" +}, +"productSoldBiddingCategoryLevel1": { +"description": "Bidding category (level 1) of the product sold.", +"type": "string" +}, +"productSoldBiddingCategoryLevel2": { +"description": "Bidding category (level 2) of the product sold.", +"type": "string" +}, +"productSoldBiddingCategoryLevel3": { +"description": "Bidding category (level 3) of the product sold.", +"type": "string" +}, +"productSoldBiddingCategoryLevel4": { +"description": "Bidding category (level 4) of the product sold.", +"type": "string" +}, +"productSoldBiddingCategoryLevel5": { +"description": "Bidding category (level 5) of the product sold.", +"type": "string" +}, +"productSoldBrand": { +"description": "Brand of the product sold.", +"type": "string" +}, +"productSoldCondition": { +"description": "Condition of the product sold.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"REFURBISHED", +"USED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The product condition is new.", +"The product condition is refurbished.", +"The product condition is used." +], +"type": "string" +}, +"productSoldCustomAttribute0": { +"description": "Custom attribute 0 of the product sold.", +"type": "string" +}, +"productSoldCustomAttribute1": { +"description": "Custom attribute 1 of the product sold.", +"type": "string" +}, +"productSoldCustomAttribute2": { +"description": "Custom attribute 2 of the product sold.", +"type": "string" +}, +"productSoldCustomAttribute3": { +"description": "Custom attribute 3 of the product sold.", +"type": "string" +}, +"productSoldCustomAttribute4": { +"description": "Custom attribute 4 of the product sold.", +"type": "string" +}, +"productSoldItemId": { +"description": "Item ID of the product sold.", +"type": "string" +}, +"productSoldTitle": { +"description": "Title of the product sold.", +"type": "string" +}, +"productSoldTypeL1": { +"description": "Type (level 1) of the product sold.", +"type": "string" +}, +"productSoldTypeL2": { +"description": "Type (level 2) of the product sold.", +"type": "string" +}, +"productSoldTypeL3": { +"description": "Type (level 3) of the product sold.", +"type": "string" +}, +"productSoldTypeL4": { +"description": "Type (level 4) of the product sold.", +"type": "string" +}, +"productSoldTypeL5": { +"description": "Type (level 5) of the product sold.", +"type": "string" +}, +"productStoreId": { +"description": "Store ID of the product.", +"type": "string" +}, +"productTitle": { +"description": "Title of the product.", +"type": "string" +}, +"productTypeL1": { +"description": "Type (level 1) of the product.", +"type": "string" +}, +"productTypeL2": { +"description": "Type (level 2) of the product.", +"type": "string" +}, +"productTypeL3": { +"description": "Type (level 3) of the product.", +"type": "string" +}, +"productTypeL4": { +"description": "Type (level 4) of the product.", +"type": "string" +}, +"productTypeL5": { +"description": "Type (level 5) of the product.", +"type": "string" +}, +"quarter": { +"description": "Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.", +"type": "string" +}, +"rawEventConversionDimensions": { +"description": "The raw event conversion dimensions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__Value" +}, +"type": "array" +}, +"verticalAdsEventParticipantDisplayNames": { +"description": "The display names of participants in an event listing, like performers, speakers, or teams.", +"type": "string" +}, +"verticalAdsHotelClass": { +"description": "The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.", +"format": "int64", +"type": "string" +}, +"verticalAdsListing": { +"description": "The listing associated with a listing impression, click or conversion.", +"type": "string" +}, +"verticalAdsListingBrand": { +"description": "The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.", +"type": "string" +}, +"verticalAdsListingCity": { +"description": "The city where the vertical ads listing is located.", +"type": "string" +}, +"verticalAdsListingCountry": { +"description": "The country where the vertical ads listing is located.", +"type": "string" +}, +"verticalAdsListingRegion": { +"description": "The region where the vertical ads listing is located.", +"type": "string" +}, +"verticalAdsPartnerAccount": { +"description": "A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.", +"format": "int64", +"type": "string" +}, +"verticalAdsVertical": { +"description": "Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HOTELS", +"VACATION_RENTALS", +"RENTAL_CARS", +"EVENTS", +"THINGS_TO_DO", +"FLIGHTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Hotels travel vertical.", +"Vacation rentals travel vertical.", +"Rental cars travel vertical.", +"Events travel vertical.", +"Things to do travel vertical.", +"Flights travel vertical." +], +"type": "string" +}, +"week": { +"description": "Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd.", +"type": "string" +}, +"year": { +"description": "Year, formatted as yyyy.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo": { +"description": "A Shopping Comparison Listing ad.", +"id": "GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo", +"properties": { +"headline": { +"description": "Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ShoppingLoyalty": { +"description": "The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list.", +"id": "GoogleAdsSearchads360V23Common__ShoppingLoyalty", +"properties": { +"loyaltyTier": { +"description": "The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as \"Golden\" or \"Silver\", or even empty string \"\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ShoppingProductAdInfo": { +"description": "A standard Shopping ad.", +"id": "GoogleAdsSearchads360V23Common__ShoppingProductAdInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo": { +"description": "A Smart Shopping ad.", +"id": "GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SimilarUserListInfo": { +"description": "SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google.", +"id": "GoogleAdsSearchads360V23Common__SimilarUserListInfo", +"properties": { +"seedUserList": { +"description": "Seed UserList from which this list is derived.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SitelinkAsset": { +"description": "A Sitelink asset.", +"id": "GoogleAdsSearchads360V23Common__SitelinkAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"description1": { +"description": "First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.", +"type": "string" +}, +"description2": { +"description": "Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.", +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"linkText": { +"description": "Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SitelinkFeedItem": { +"description": "Represents a sitelink.", +"id": "GoogleAdsSearchads360V23Common__SitelinkFeedItem", +"properties": { +"finalMobileUrls": { +"description": "A list of possible final mobile URLs after all cross domain redirects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrlSuffix": { +"description": "Final URL suffix to be appended to landing page URLs served with parallel tracking.", +"type": "string" +}, +"finalUrls": { +"description": "A list of possible final URLs after all cross domain redirects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"line1": { +"description": "First line of the description for the sitelink. If this value is set, line2 must also be set. The length of this string should be between 0 and 35, inclusive.", +"type": "string" +}, +"line2": { +"description": "Second line of the description for the sitelink. If this value is set, line1 must also be set. The length of this string should be between 0 and 35, inclusive.", +"type": "string" +}, +"linkText": { +"description": "URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"trackingUrlTemplate": { +"description": "URL template for constructing a tracking URL.", +"type": "string" +}, +"urlCustomParameters": { +"description": "A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__SmartCampaignAdInfo": { +"description": "A Smart campaign ad.", +"id": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", +"properties": { +"descriptions": { +"description": "List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +}, +"headlines": { +"description": "List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__StoreAttribute": { +"description": "Store attributes of the transaction.", +"id": "GoogleAdsSearchads360V23Common__StoreAttribute", +"properties": { +"storeCode": { +"description": "Store code from https://support.google.com/business/answer/3370250#storecode", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__StoreSalesMetadata": { +"description": "Metadata for Store Sales Direct.", +"id": "GoogleAdsSearchads360V23Common__StoreSalesMetadata", +"properties": { +"customKey": { +"description": "Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.", +"type": "string" +}, +"loyaltyFraction": { +"description": "This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).", +"format": "double", +"type": "number" +}, +"thirdPartyMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata", +"description": "Metadata for a third party Store Sales upload." +}, +"transactionUploadFraction": { +"description": "This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata": { +"description": "Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration.", +"id": "GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata", +"properties": { +"advertiserUploadDateTime": { +"description": "Time the advertiser uploaded the data to the partner. Required. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"type": "string" +}, +"bridgeMapVersionId": { +"description": "Version of partner IDs to be used for uploads. Required.", +"type": "string" +}, +"partnerId": { +"description": "ID of the third party partner updating the transaction feed.", +"format": "int64", +"type": "string" +}, +"partnerMatchFraction": { +"description": "The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).", +"format": "double", +"type": "number" +}, +"partnerUploadFraction": { +"description": "The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).", +"format": "double", +"type": "number" +}, +"validTransactionFraction": { +"description": "The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__StructuredSnippetAsset": { +"description": "A Structured Snippet asset.", +"id": "GoogleAdsSearchads360V23Common__StructuredSnippetAsset", +"properties": { +"header": { +"description": "Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers", +"type": "string" +}, +"values": { +"description": "Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TagSnippet": { +"description": "The site tag and event snippet pair for a TrackingCodeType.", +"id": "GoogleAdsSearchads360V23Common__TagSnippet", +"properties": { +"eventSnippet": { +"description": "The event snippet that works with the site tag to track actions that should be counted as conversions.", +"type": "string" +}, +"globalSiteTag": { +"description": "The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.", +"type": "string" +}, +"pageFormat": { +"description": "The format of the web page where the tracking tag and snippet will be installed, for example, HTML.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HTML", +"AMP" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Standard HTML page format.", +"Google AMP page format." +], +"type": "string" +}, +"type": { +"description": "The type of the generated tag snippets for tracking conversions.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBPAGE", +"WEBPAGE_ONCLICK", +"CLICK_TO_CALL", +"WEBSITE_CALL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The snippet that is fired as a result of a website page loading.", +"The snippet contains a JavaScript function which fires the tag. This function is typically called from an onClick handler added to a link or button element on the page.", +"For embedding on a mobile webpage. The snippet contains a JavaScript function which fires the tag.", +"The snippet that is used to replace the phone number on your website with a Google forwarding number for call tracking purposes." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetCpa": { +"description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"id": "GoogleAdsSearchads360V23Common__TargetCpa", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", +"format": "int64", +"type": "string" +}, +"cpcBidFloorMicros": { +"description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", +"format": "int64", +"type": "string" +}, +"targetCpaMicros": { +"description": "Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint": { +"description": "Projected metrics for a specific target CPA amount.", +"id": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint", +"properties": { +"appInstalls": { +"description": "Projected number of app installs.", +"format": "double", +"type": "number" +}, +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"inAppActions": { +"description": "Projected number of in-app actions.", +"format": "double", +"type": "number" +}, +"interactions": { +"description": "Projected number of interactions. Only discovery advertising channel type supports this field.", +"format": "int64", +"type": "string" +}, +"requiredBudgetAmountMicros": { +"description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", +"format": "int64", +"type": "string" +}, +"targetCpaMicros": { +"description": "The simulated target CPA upon which projected metrics are based.", +"format": "int64", +"type": "string" +}, +"targetCpaScalingModifier": { +"description": "The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.", +"format": "double", +"type": "number" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList": { +"description": "A container for simulation points for simulations of type TARGET_CPA.", +"id": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of target CPA amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetCpc": { +"description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", +"id": "GoogleAdsSearchads360V23Common__TargetCpc", +"properties": { +"targetCpcMicros": { +"description": "Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetCpm": { +"description": "Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set.", +"id": "GoogleAdsSearchads360V23Common__TargetCpm", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetImpressionShare": { +"description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"id": "GoogleAdsSearchads360V23Common__TargetImpressionShare", +"properties": { +"cpcBidCeilingMicros": { +"description": "The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.", +"format": "int64", +"type": "string" +}, +"location": { +"description": "The targeted location on the search results page.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ANYWHERE_ON_PAGE", +"TOP_OF_PAGE", +"ABSOLUTE_TOP_OF_PAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Any location on the web page.", +"Top box of ads.", +"Top slot in the top box of ads." +], +"type": "string" +}, +"locationFractionMicros": { +"description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint": { +"description": "Projected metrics for a specific target impression share value.", +"id": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint", +"properties": { +"absoluteTopImpressions": { +"description": "Projected number of absolute top impressions. Only search advertising channel type supports this field.", +"format": "int64", +"type": "string" +}, +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"requiredBudgetAmountMicros": { +"description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", +"format": "int64", +"type": "string" +}, +"requiredCpcBidCeilingMicros": { +"description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency.", +"format": "int64", +"type": "string" +}, +"targetImpressionShareMicros": { +"description": "The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).", +"format": "int64", +"type": "string" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList": { +"description": "A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE.", +"id": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a specific target impression share value.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetRestriction": { +"description": "The list of per-targeting-dimension targeting settings.", +"id": "GoogleAdsSearchads360V23Common__TargetRestriction", +"properties": { +"bidOnly": { +"description": "Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.", +"type": "boolean" +}, +"targetingDimension": { +"description": "The targeting dimension that these settings apply to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"AUDIENCE", +"TOPIC", +"GENDER", +"AGE_RANGE", +"PLACEMENT", +"PARENTAL_STATUS", +"INCOME_RANGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.", +"Audience criteria, which include user list, user interest, custom affinity, and custom in market.", +"Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.", +"Criteria for targeting gender.", +"Criteria for targeting age ranges.", +"Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.", +"Criteria for parental status targeting.", +"Criteria for income range targeting." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetRestrictionOperation": { +"description": "Operation to be performed on a target restriction list in a mutate.", +"id": "GoogleAdsSearchads360V23Common__TargetRestrictionOperation", +"properties": { +"operator": { +"description": "Type of list operation to perform.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADD", +"REMOVE" +], +"enumDescriptions": [ +"Unspecified.", +"Used for return value only. Represents value unknown in this version.", +"Add the restriction to the existing restrictions.", +"Remove the restriction from the existing restrictions." +], +"type": "string" +}, +"value": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRestriction", +"description": "The target restriction being added to or removed from the list." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetRoas": { +"description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).", +"id": "GoogleAdsSearchads360V23Common__TargetRoas", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", +"format": "int64", +"type": "string" +}, +"cpcBidFloorMicros": { +"description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.", +"format": "double", +"type": "number" +}, +"targetRoasTolerancePercentMillis": { +"description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint": { +"description": "Projected metrics for a specific target ROAS amount.", +"id": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint", +"properties": { +"biddableConversions": { +"description": "Projected number of biddable conversions.", +"format": "double", +"type": "number" +}, +"biddableConversionsValue": { +"description": "Projected total value of biddable conversions.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "Projected number of clicks.", +"format": "int64", +"type": "string" +}, +"costMicros": { +"description": "Projected cost in micros.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "Projected number of impressions.", +"format": "int64", +"type": "string" +}, +"requiredBudgetAmountMicros": { +"description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "The simulated target ROAS upon which projected metrics are based.", +"format": "double", +"type": "number" +}, +"topSlotImpressions": { +"description": "Projected number of top slot impressions. Only Search advertising channel type supports this field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList": { +"description": "A container for simulation points for simulations of type TARGET_ROAS.", +"id": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", +"properties": { +"points": { +"description": "Projected metrics for a series of target ROAS amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetSpend": { +"description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.", +"id": "GoogleAdsSearchads360V23Common__TargetSpend", +"properties": { +"cpcBidCeilingMicros": { +"description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.", +"format": "int64", +"type": "string" +}, +"targetSpendMicros": { +"deprecated": true, +"description": "Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TargetingSetting": { +"description": "Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594", +"id": "GoogleAdsSearchads360V23Common__TargetingSetting", +"properties": { +"targetRestrictionOperations": { +"description": "The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRestrictionOperation" +}, +"type": "array" +}, +"targetRestrictions": { +"description": "The per-targeting-dimension setting to restrict the reach of your campaign or ad group.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRestriction" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TextAdInfo": { +"description": "A text ad.", +"id": "GoogleAdsSearchads360V23Common__TextAdInfo", +"properties": { +"description1": { +"description": "The first line of the ad's description.", +"type": "string" +}, +"description2": { +"description": "The second line of the ad's description.", +"type": "string" +}, +"headline": { +"description": "The headline of the ad.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TextAsset": { +"description": "A Text asset.", +"id": "GoogleAdsSearchads360V23Common__TextAsset", +"properties": { +"text": { +"description": "Text content of the text asset.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TextLabel": { +"description": "A type of label displaying text on a colored background.", +"id": "GoogleAdsSearchads360V23Common__TextLabel", +"properties": { +"backgroundColor": { +"description": "Background color of the label in HEX format. This string must match the regular expression '^\\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.", +"type": "string" +}, +"description": { +"description": "A short description of the label. The length must be no more than 200 characters.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData": { +"description": "Contains third party measurement partner related data for video campaigns.", +"id": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", +"properties": { +"clientId": { +"description": "The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.", +"type": "string" +}, +"thirdPartyPlacementId": { +"description": "The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TopicInfo": { +"description": "A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, \"Pets & Animals/Pets/Dogs\").", +"id": "GoogleAdsSearchads360V23Common__TopicInfo", +"properties": { +"path": { +"description": "The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, \"Pets & Animals\", \"Pets\", \"Dogs\" represents the \"Pets & Animals/Pets/Dogs\" category.", +"items": { +"type": "string" +}, +"type": "array" +}, +"topicConstant": { +"description": "The Topic Constant resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TransactionAttribute": { +"description": "Attribute of the store sales transaction.", +"id": "GoogleAdsSearchads360V23Common__TransactionAttribute", +"properties": { +"conversionAction": { +"description": "The resource name of conversion action to report conversions to. Required.", +"type": "string" +}, +"currencyCode": { +"description": "Transaction currency code. ISO 4217 three-letter code is used. Required.", +"type": "string" +}, +"customValue": { +"description": "Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.", +"type": "string" +}, +"itemAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__ItemAttribute", +"description": "Item attributes of the transaction. Accessible only to customers on the allow-list." +}, +"orderId": { +"description": "Transaction order id. Useful to group transactions which are part of the same order.", +"type": "string" +}, +"storeAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__StoreAttribute", +"description": "Store attributes of the transaction." +}, +"transactionAmountMicros": { +"description": "Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.", +"format": "double", +"type": "number" +}, +"transactionDateTime": { +"description": "Timestamp when transaction occurred. Required. The format is \"YYYY-MM-DD HH:MM:SS[+/-HH:MM]\", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30+03:00\"", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__TravelAdInfo": { +"description": "A travel ad.", +"id": "GoogleAdsSearchads360V23Common__TravelAdInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnifiedCallAsset": { +"description": "A unified call asset.", +"id": "GoogleAdsSearchads360V23Common__UnifiedCallAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"callConversionAction": { +"description": "The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.", +"type": "string" +}, +"callConversionReportingState": { +"description": "Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISABLED", +"USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", +"USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Call conversion action is disabled.", +"Call conversion action will use call conversion type set at the account level.", +"Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." +], +"readOnly": true, +"type": "string" +}, +"callOnly": { +"description": "Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.", +"type": "boolean" +}, +"callTrackingEnabled": { +"description": "Whether the call should be enabled on call tracking. Applies to Microsoft Ads.", +"type": "boolean" +}, +"countryCode": { +"description": "Two-letter country code of the phone number. Examples: 'US', 'us'.", +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"phoneNumber": { +"description": "The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +}, +"useSearcherTimeZone": { +"description": "Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnifiedCalloutAsset": { +"description": "A unified callout asset.", +"id": "GoogleAdsSearchads360V23Common__UnifiedCalloutAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"calloutText": { +"description": "The callout text. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +}, +"useSearcherTimeZone": { +"description": "Whether to show the asset in search user's time zone. Applies to Microsoft Ads.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnifiedLocationAsset": { +"description": "A unified location asset.", +"id": "GoogleAdsSearchads360V23Common__UnifiedLocationAsset", +"properties": { +"businessProfileLocations": { +"description": "The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocation" +}, +"type": "array" +}, +"locationOwnershipType": { +"description": "The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_OWNER", +"AFFILIATE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business Owner of location(legacy location extension - LE).", +"Affiliate location(Third party location extension - ALE)." +], +"type": "string" +}, +"placeId": { +"description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset": { +"description": "A Unified Page Feed asset.", +"id": "GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset", +"properties": { +"labels": { +"description": "Labels used to group the page urls.", +"items": { +"type": "string" +}, +"type": "array" +}, +"pageUrl": { +"description": "The webpage that advertisers want to target.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset": { +"description": "A unified sitelink asset.", +"id": "GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset", +"properties": { +"adScheduleTargets": { +"description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"description1": { +"description": "First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.", +"type": "string" +}, +"description2": { +"description": "Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.", +"type": "string" +}, +"endDate": { +"description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", +"type": "string" +}, +"linkText": { +"description": "URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", +"type": "string" +}, +"mobilePreferred": { +"description": "Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.", +"type": "boolean" +}, +"startDate": { +"description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", +"type": "string" +}, +"trackingId": { +"description": "ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.", +"format": "int64", +"type": "string" +}, +"useSearcherTimeZone": { +"description": "Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo": { +"description": "Unknown listing dimension.", +"id": "GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UrlCollection": { +"description": "Collection of urls that is tagged with a unique identifier.", +"id": "GoogleAdsSearchads360V23Common__UrlCollection", +"properties": { +"finalMobileUrls": { +"description": "A list of possible final mobile URLs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrls": { +"description": "A list of possible final URLs.", +"items": { +"type": "string" +}, +"type": "array" +}, +"trackingUrlTemplate": { +"description": "URL template for constructing a tracking URL.", +"type": "string" +}, +"urlCollectionId": { +"description": "Unique identifier for this UrlCollection instance.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserAttribute": { +"description": "User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type.", +"id": "GoogleAdsSearchads360V23Common__UserAttribute", +"properties": { +"acquisitionDateTime": { +"description": "Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", +"type": "string" +}, +"averagePurchaseCount": { +"description": "Advertiser defined average number of purchases that are made by the user in a 30 day period.", +"format": "int32", +"type": "integer" +}, +"averagePurchaseValueMicros": { +"description": "Advertiser defined average purchase value in micros for the user.", +"format": "int64", +"type": "string" +}, +"eventAttribute": { +"description": "Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__EventAttribute" +}, +"type": "array" +}, +"firstPurchaseDateTime": { +"description": "Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", +"type": "string" +}, +"lastPurchaseDateTime": { +"description": "Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", +"type": "string" +}, +"lifecycleStage": { +"description": "Optional. Advertiser defined lifecycle stage for the user. The accepted values are \"Lead\", \"Active\" and \"Churned\".", +"type": "string" +}, +"lifetimeValueBucket": { +"description": "Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.", +"format": "int32", +"type": "integer" +}, +"lifetimeValueMicros": { +"description": "Advertiser defined lifetime value for the user.", +"format": "int64", +"type": "string" +}, +"shoppingLoyalty": { +"$ref": "GoogleAdsSearchads360V23Common__ShoppingLoyalty", +"description": "The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserData": { +"description": "User data holding user identifiers and attributes.", +"id": "GoogleAdsSearchads360V23Common__UserData", +"properties": { +"consent": { +"$ref": "GoogleAdsSearchads360V23Common__Consent", +"description": "The consent setting for the user. If set, will override the job level consent for this user." +}, +"transactionAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__TransactionAttribute", +"description": "Additional transactions/attributes associated with the user. Required when updating store sales data." +}, +"userAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__UserAttribute", +"description": "Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days." +}, +"userIdentifiers": { +"description": "User identification info.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserIdentifier" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserIdentifier": { +"description": "identifying information.", +"id": "GoogleAdsSearchads360V23Common__UserIdentifier", +"properties": { +"addressInfo": { +"$ref": "GoogleAdsSearchads360V23Common__OfflineUserAddressInfo", +"description": "Address information." +}, +"hashedEmail": { +"description": "Hashed email address using SHA-256 hash function after normalization.", +"type": "string" +}, +"hashedPhoneNumber": { +"description": "Hashed phone number using SHA-256 hash function after normalization (E164 standard).", +"type": "string" +}, +"mobileId": { +"description": "Mobile device ID (advertising ID/IDFA).", +"type": "string" +}, +"thirdPartyUserId": { +"description": "Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for", +"type": "string" +}, +"userIdentifierSource": { +"description": "Source of the user identifier when the upload is from Store Sales", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FIRST_PARTY", +"THIRD_PARTY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version", +"Indicates that the user identifier was provided by the first party (advertiser).", +"Indicates that the user identifier was provided by the third party (partner)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata": { +"description": "Metadata associated with a User Interest attribute.", +"id": "GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata", +"properties": { +"userInterestDescription": { +"description": "English language text description of the user interest category (200 characters max).", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserInterestInfo": { +"description": "Represents a particular interest-based topic to be targeted.", +"id": "GoogleAdsSearchads360V23Common__UserInterestInfo", +"properties": { +"userInterestCategory": { +"description": "The UserInterest resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserInterestSegment": { +"description": "User interest segment.", +"id": "GoogleAdsSearchads360V23Common__UserInterestSegment", +"properties": { +"userInterestCategory": { +"description": "The user interest resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListActionInfo": { +"description": "Represents an action type used for building remarketing user lists.", +"id": "GoogleAdsSearchads360V23Common__UserListActionInfo", +"properties": { +"conversionAction": { +"description": "A conversion action that's not generated from remarketing.", +"type": "string" +}, +"remarketingAction": { +"description": "A remarketing action.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListAttributeMetadata": { +"description": "Metadata associated with a User List attribute.", +"id": "GoogleAdsSearchads360V23Common__UserListAttributeMetadata", +"properties": { +"userListType": { +"description": "The user list type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REMARKETING", +"LOGICAL", +"EXTERNAL_REMARKETING", +"RULE_BASED", +"SIMILAR", +"CRM_BASED", +"LOOKALIKE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"UserList represented as a collection of conversion types.", +"UserList represented as a combination of other user lists/interests.", +"UserList created in the Google Ad Manager platform.", +"UserList associated with a rule.", +"UserList with users similar to users of another UserList.", +"UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", +"LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo": { +"description": "A rule item composed of a date operation.", +"id": "GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo", +"properties": { +"offsetInDays": { +"description": "The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.", +"format": "int64", +"type": "string" +}, +"operator": { +"description": "Date comparison operator. This field is required and must be populated when creating new date rule item.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EQUALS", +"NOT_EQUALS", +"BEFORE", +"AFTER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Equals.", +"Not Equals.", +"Before.", +"After." +], +"type": "string" +}, +"value": { +"description": "String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListInfo": { +"description": "A User List criterion. Represents a user list that is defined by the advertiser to be targeted.", +"id": "GoogleAdsSearchads360V23Common__UserListInfo", +"properties": { +"userList": { +"description": "The User List resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo": { +"description": "A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.", +"id": "GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo", +"properties": { +"operator": { +"description": "The logical operator of the rule.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL", +"ANY", +"NONE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"And - all of the operands.", +"Or - at least one of the operands.", +"Not - none of the operands." +], +"type": "string" +}, +"ruleOperands": { +"description": "The list of operands of the rule.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo": { +"description": "A rule item composed of a number operation.", +"id": "GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo", +"properties": { +"operator": { +"description": "Number comparison operator. This field is required and must be populated when creating a new number rule item.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GREATER_THAN", +"GREATER_THAN_OR_EQUAL", +"EQUALS", +"NOT_EQUALS", +"LESS_THAN", +"LESS_THAN_OR_EQUAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Greater than.", +"Greater than or equal.", +"Equals.", +"Not equals.", +"Less than.", +"Less than or equal." +], +"type": "string" +}, +"value": { +"description": "Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListRuleInfo": { +"description": "A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser.", +"id": "GoogleAdsSearchads360V23Common__UserListRuleInfo", +"properties": { +"ruleItemGroups": { +"description": "List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo" +}, +"type": "array" +}, +"ruleType": { +"description": "Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AND_OF_ORS", +"OR_OF_ANDS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Conjunctive normal form.", +"Disjunctive normal form." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo": { +"description": "A group of rule items.", +"id": "GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo", +"properties": { +"ruleItems": { +"description": "Rule items that will be grouped together based on rule_type.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserListRuleItemInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListRuleItemInfo": { +"description": "An atomic rule item.", +"id": "GoogleAdsSearchads360V23Common__UserListRuleItemInfo", +"properties": { +"dateRuleItem": { +"$ref": "GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo", +"description": "An atomic rule item composed of a date operation." +}, +"name": { +"description": "Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.", +"type": "string" +}, +"numberRuleItem": { +"$ref": "GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo", +"description": "An atomic rule item composed of a number operation." +}, +"stringRuleItem": { +"$ref": "GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo", +"description": "An atomic rule item composed of a string operation." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListSegment": { +"description": "User list segment.", +"id": "GoogleAdsSearchads360V23Common__UserListSegment", +"properties": { +"userList": { +"description": "The user list resource.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo": { +"description": "A rule item composed of a string operation.", +"id": "GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo", +"properties": { +"operator": { +"description": "String comparison operator. This field is required and must be populated when creating a new string rule item.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONTAINS", +"EQUALS", +"STARTS_WITH", +"ENDS_WITH", +"NOT_EQUALS", +"NOT_CONTAINS", +"NOT_STARTS_WITH", +"NOT_ENDS_WITH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Contains.", +"Equals.", +"Starts with.", +"Ends with.", +"Not equals.", +"Not contains.", +"Not starts with.", +"Not ends with." +], +"type": "string" +}, +"value": { +"description": "The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__Value": { +"description": "A generic data container.", +"id": "GoogleAdsSearchads360V23Common__Value", +"properties": { +"booleanValue": { +"description": "A boolean.", +"type": "boolean" +}, +"doubleValue": { +"description": "A double.", +"format": "double", +"type": "number" +}, +"floatValue": { +"description": "A float.", +"format": "float", +"type": "number" +}, +"int64Value": { +"description": "An int64.", +"format": "int64", +"type": "string" +}, +"stringValue": { +"description": "A string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo": { +"description": "A criterion to represent a single item group rule in Vertical Ads.", +"id": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo", +"properties": { +"cityCriterionId": { +"description": "The resource name of the Geo Target Constant for the city.", +"type": "string" +}, +"countryCriterionId": { +"description": "The resource name of the Geo Target Constant for the country.", +"type": "string" +}, +"hotelClass": { +"description": "Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.", +"format": "int64", +"type": "string" +}, +"itemCode": { +"description": "The id specifying a particular Vertical Ad listing.", +"type": "string" +}, +"regionCriterionId": { +"description": "The resource name of the Geo Target Constant for the region.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo": { +"description": "A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads).", +"id": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo", +"properties": { +"sharedSet": { +"description": "The shared set resource name of the vertical ads item group rule list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__VideoLineupInfo": { +"description": "A Video lineup criterion.", +"id": "GoogleAdsSearchads360V23Common__VideoLineupInfo", +"properties": { +"videoLineupId": { +"description": "ID for a Video lineup. Contact your Google business development representative for details.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WebhookDelivery": { +"description": "Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation.", +"id": "GoogleAdsSearchads360V23Common__WebhookDelivery", +"properties": { +"advertiserWebhookUrl": { +"description": "Webhook url specified by advertiser to send the lead.", +"type": "string" +}, +"googleSecret": { +"description": "Anti-spoofing secret set by the advertiser as part of the webhook payload.", +"type": "string" +}, +"payloadSchemaVersion": { +"description": "The schema version that this delivery instance will use.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WebpageConditionInfo": { +"description": "Logical expression for targeting webpages of an advertiser's website.", +"id": "GoogleAdsSearchads360V23Common__WebpageConditionInfo", +"properties": { +"argument": { +"description": "Argument of webpage targeting condition.", +"type": "string" +}, +"operand": { +"description": "Operand of webpage targeting condition.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"URL", +"CATEGORY", +"PAGE_TITLE", +"PAGE_CONTENT", +"CUSTOM_LABEL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Operand denoting a webpage URL targeting condition.", +"Operand denoting a webpage category targeting condition.", +"Operand denoting a webpage title targeting condition.", +"Operand denoting a webpage content targeting condition.", +"Operand denoting a webpage custom label targeting condition." +], +"type": "string" +}, +"operator": { +"description": "Operator of webpage targeting condition.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EQUALS", +"CONTAINS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The argument web condition is equal to the compared web condition.", +"The argument web condition is part of the compared web condition." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WebpageInfo": { +"description": "Represents a criterion for targeting webpages of an advertiser's website.", +"id": "GoogleAdsSearchads360V23Common__WebpageInfo", +"properties": { +"conditions": { +"description": "Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageConditionInfo" +}, +"type": "array" +}, +"coveragePercentage": { +"description": "Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.", +"format": "double", +"type": "number" +}, +"criterionName": { +"description": "The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.", +"type": "string" +}, +"sample": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageSampleInfo", +"description": "List of sample urls that match the website target. This field is read-only." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WebpageListInfo": { +"description": "Represents a list of webpage criteria.", +"id": "GoogleAdsSearchads360V23Common__WebpageListInfo", +"properties": { +"sharedSet": { +"description": "Shared set resource name of the webpage list.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WebpageSampleInfo": { +"description": "List of sample urls that match the website target", +"id": "GoogleAdsSearchads360V23Common__WebpageSampleInfo", +"properties": { +"sampleUrls": { +"description": "Webpage sample urls", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo": { +"description": "Whatsapp information to use for messaging.", +"id": "GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo", +"properties": { +"countryCode": { +"description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.", +"type": "string" +}, +"phoneNumber": { +"description": "Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YearMonth": { +"description": "Year month.", +"id": "GoogleAdsSearchads360V23Common__YearMonth", +"properties": { +"month": { +"description": "The month of the year. (for example, FEBRUARY).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"January.", +"February.", +"March.", +"April.", +"May.", +"June.", +"July.", +"August.", +"September.", +"October.", +"November.", +"December." +], +"type": "string" +}, +"year": { +"description": "The year (for example, 2020).", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YearMonthRange": { +"description": "The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020).", +"id": "GoogleAdsSearchads360V23Common__YearMonthRange", +"properties": { +"end": { +"$ref": "GoogleAdsSearchads360V23Common__YearMonth", +"description": "The inclusive end year month." +}, +"start": { +"$ref": "GoogleAdsSearchads360V23Common__YearMonth", +"description": "The inclusive start year month." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata": { +"description": "Metadata associated with a YouTube channel attribute.", +"id": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", +"properties": { +"subscriberCount": { +"description": "The approximate number of subscribers to the YouTube channel.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YouTubeChannelInfo": { +"description": "A YouTube Channel criterion.", +"id": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"properties": { +"channelId": { +"description": "The YouTube uploader channel id or the channel code of a YouTube channel.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata": { +"description": "Metadata for a YouTube video attribute.", +"id": "GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata", +"properties": { +"commentsCount": { +"description": "The total number of comments.", +"format": "int64", +"type": "string" +}, +"likesCount": { +"description": "The total number of likes.", +"format": "int64", +"type": "string" +}, +"publishDate": { +"description": "The date that the video was created. Formatted as \"yyyy-mm-dd\".", +"type": "string" +}, +"thumbnailUrl": { +"description": "The URL of the video thumbnail, prefixed by \"https://img.youtube.com/\".", +"type": "string" +}, +"videoProperties": { +"description": "The properties of this video (such as shorts, live stream).", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LIVE_STREAM", +"SHORTS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Video is a live stream.", +"Video is Shorts eligible." +], +"type": "string" +}, +"type": "array" +}, +"videoUrl": { +"description": "The URL of the video, prefixed by \"https://www.youtube.com/\".", +"type": "string" +}, +"viewsCount": { +"description": "The total number of views.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YouTubeVideoInfo": { +"description": "A YouTube Video criterion.", +"id": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"properties": { +"videoId": { +"description": "YouTube video id as it appears on the YouTube watch page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__YoutubeVideoAsset": { +"description": "A YouTube asset.", +"id": "GoogleAdsSearchads360V23Common__YoutubeVideoAsset", +"properties": { +"youtubeVideoId": { +"description": "YouTube video id. This is the 11 character string value used in the YouTube video URL.", +"type": "string" +}, +"youtubeVideoTitle": { +"description": "YouTube video title.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo": { +"description": "Zalo information to use for messaging.", +"id": "GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo", +"properties": { +"customName": { +"description": "Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.", +"type": "string" +}, +"oaId": { +"description": "Zalo Official Account ID of the advertiser.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement": { +"description": "A part of a field path.", +"id": "GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement", +"properties": { +"fieldName": { +"description": "The name of a field or a oneof", +"type": "string" +}, +"index": { +"description": "If field_name is a repeated field, this is the element that failed", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails": { +"description": "Error details for a budget below per-day minimum error.", +"id": "GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails", +"properties": { +"budgetPerDayMinimumMicros": { +"description": "The minimum budget required by the campaign per day, in micros of the advertiser currency. Applies to both daily and custom budgets.", +"format": "int64", +"type": "string" +}, +"currencyCode": { +"description": "The advertiser's currency, represented as a three-letter ISO 4217 currency code (such as \"USD\").", +"type": "string" +}, +"failedBudgetAmountMicros": { +"description": "The budget amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the amount field value.", +"format": "int64", +"type": "string" +}, +"failedBudgetTotalAmountMicros": { +"description": "The budget total_amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.", +"format": "int64", +"type": "string" +}, +"minimumBudgetAmountMicros": { +"description": "The minimum value for the budget's amount field required by the campaign, in micros of the advertiser currency. Only set if this error is caused by the amount field value.", +"format": "int64", +"type": "string" +}, +"minimumBudgetTotalAmountMicros": { +"description": "The minimum value for the budget's total_amount field required by the campaign given its configured start and end time, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__ErrorCode": { +"description": "The error reason represented by type and enum.", +"id": "GoogleAdsSearchads360V23Errors__ErrorCode", +"properties": { +"accessInvitationError": { +"description": "The reasons for the access invitation error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_EMAIL_ADDRESS", +"EMAIL_ADDRESS_ALREADY_HAS_ACCESS", +"INVALID_INVITATION_STATUS", +"GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED", +"INVALID_INVITATION_ID", +"EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION", +"PENDING_INVITATIONS_LIMIT_EXCEEDED", +"EMAIL_DOMAIN_POLICY_VIOLATED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The email address is invalid for sending an invitation.", +"Email address already has access to this customer.", +"Invalid invitation status for the operation.", +"Email address cannot be like abc+foo@google.com.", +"Invalid invitation ID.", +"Email address already has a pending invitation.", +"Pending invitation limit exceeded for the customer.", +"Email address doesn't conform to the email domain policy. See https://support.google.com/google-ads/answer/2375456" +], +"type": "string" +}, +"accountBudgetProposalError": { +"description": "The reasons for account budget proposal errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FIELD_MASK_NOT_ALLOWED", +"IMMUTABLE_FIELD", +"REQUIRED_FIELD_MISSING", +"CANNOT_CANCEL_APPROVED_PROPOSAL", +"CANNOT_REMOVE_UNAPPROVED_BUDGET", +"CANNOT_REMOVE_RUNNING_BUDGET", +"CANNOT_END_UNAPPROVED_BUDGET", +"CANNOT_END_INACTIVE_BUDGET", +"BUDGET_NAME_REQUIRED", +"CANNOT_UPDATE_OLD_BUDGET", +"CANNOT_END_IN_PAST", +"CANNOT_EXTEND_END_TIME", +"PURCHASE_ORDER_NUMBER_REQUIRED", +"PENDING_UPDATE_PROPOSAL_EXISTS", +"MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP", +"CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET", +"SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED", +"UPDATE_IS_NO_OP", +"END_TIME_MUST_FOLLOW_START_TIME", +"BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP", +"NOT_AUTHORIZED", +"INVALID_BILLING_SETUP", +"OVERLAPS_EXISTING_BUDGET", +"CANNOT_CREATE_BUDGET_THROUGH_API", +"INVALID_MASTER_SERVICE_AGREEMENT", +"CANCELED_BILLING_SETUP" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The field mask must be empty for create/end/remove proposals.", +"The field cannot be set because of the proposal type.", +"The field is required because of the proposal type.", +"Proposals that have been approved cannot be cancelled.", +"Budgets that haven't been approved cannot be removed.", +"Budgets that are currently running cannot be removed.", +"Budgets that haven't been approved cannot be truncated.", +"Only budgets that are currently running can be truncated.", +"All budgets must have names.", +"Expired budgets cannot be edited after a sufficient amount of time has passed.", +"It is not permissible a propose a new budget that ends in the past.", +"An expired budget cannot be extended to overlap with the running budget.", +"A purchase order number is required.", +"Budgets that have a pending update cannot be updated.", +"Cannot propose more than one budget when the corresponding billing setup hasn't been approved.", +"Cannot update the start time of a budget that has already started.", +"Cannot update the spending limit of a budget with an amount lower than what has already been spent.", +"Cannot propose a budget update without actually changing any fields.", +"The end time must come after the start time.", +"The budget's date range must fall within the date range of its billing setup.", +"The user is not authorized to mutate budgets for the given billing setup.", +"Mutates are not allowed for the given billing setup.", +"Budget creation failed as it overlaps with a pending budget proposal or an approved budget.", +"The control setting in user's payments profile doesn't allow budget creation through API. Log in to Google Ads to create budget.", +"Master service agreement has not been signed yet for the Payments Profile.", +"Budget mutates are not allowed because the given billing setup is canceled." +], +"type": "string" +}, +"accountLinkError": { +"description": "The reasons for the account link status change error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_STATUS", +"PERMISSION_DENIED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The new link status is invalid.", +"The authenticated user doesn't have the permission to do the change." +], +"type": "string" +}, +"adCustomizerError": { +"description": "The reasons for the ad customizer error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"COUNTDOWN_INVALID_DATE_FORMAT", +"COUNTDOWN_DATE_IN_PAST", +"COUNTDOWN_INVALID_LOCALE", +"COUNTDOWN_INVALID_START_DAYS_BEFORE", +"UNKNOWN_USER_LIST" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Invalid date argument in countdown function.", +"Countdown end date is in the past.", +"Invalid locale string in countdown function.", +"Days-before argument to countdown function is not positive.", +"A user list referenced in an IF function does not exist." +], +"type": "string" +}, +"adError": { +"description": "An error with an Ad Group Ad mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE", +"APPROXIMATELY_TOO_LONG", +"APPROXIMATELY_TOO_SHORT", +"BAD_SNIPPET", +"CANNOT_MODIFY_AD", +"CANNOT_SET_BUSINESS_NAME_IF_URL_SET", +"CANNOT_SET_FIELD", +"CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET", +"CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING", +"CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE", +"CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING", +"CANNOT_SET_URL", +"CANNOT_SET_WITHOUT_FINAL_URLS", +"CANNOT_SET_WITH_FINAL_URLS", +"CANNOT_SET_WITH_URL_DATA", +"CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR", +"CUSTOMER_NOT_APPROVED_MOBILEADS", +"CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS", +"CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS", +"CUSTOMER_NOT_ELIGIBLE", +"CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL", +"DIMENSION_ALREADY_IN_UNION", +"DIMENSION_MUST_BE_SET", +"DIMENSION_NOT_IN_UNION", +"DISPLAY_URL_CANNOT_BE_SPECIFIED", +"DOMESTIC_PHONE_NUMBER_FORMAT", +"EMERGENCY_PHONE_NUMBER", +"EMPTY_FIELD", +"FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID", +"FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH", +"ILLEGAL_AD_CUSTOMIZER_TAG_USE", +"ILLEGAL_TAG_USE", +"INCONSISTENT_DIMENSIONS", +"INCONSISTENT_STATUS_IN_TEMPLATE_UNION", +"INCORRECT_LENGTH", +"INELIGIBLE_FOR_UPGRADE", +"INVALID_AD_ADDRESS_CAMPAIGN_TARGET", +"INVALID_AD_TYPE", +"INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE", +"INVALID_ATTRIBUTES_FOR_MOBILE_TEXT", +"INVALID_CALL_TO_ACTION_TEXT", +"INVALID_CHARACTER_FOR_URL", +"INVALID_COUNTRY_CODE", +"INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG", +"INVALID_INPUT", +"INVALID_MARKUP_LANGUAGE", +"INVALID_MOBILE_CARRIER", +"INVALID_MOBILE_CARRIER_TARGET", +"INVALID_NUMBER_OF_ELEMENTS", +"INVALID_PHONE_NUMBER_FORMAT", +"INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID", +"INVALID_TEMPLATE_DATA", +"INVALID_TEMPLATE_ELEMENT_FIELD_TYPE", +"INVALID_TEMPLATE_ID", +"LINE_TOO_WIDE", +"MISSING_AD_CUSTOMIZER_MAPPING", +"MISSING_ADDRESS_COMPONENT", +"MISSING_ADVERTISEMENT_NAME", +"MISSING_BUSINESS_NAME", +"MISSING_DESCRIPTION1", +"MISSING_DESCRIPTION2", +"MISSING_DESTINATION_URL_TAG", +"MISSING_LANDING_PAGE_URL_TAG", +"MISSING_DIMENSION", +"MISSING_DISPLAY_URL", +"MISSING_HEADLINE", +"MISSING_HEIGHT", +"MISSING_IMAGE", +"MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS", +"MISSING_MARKUP_LANGUAGES", +"MISSING_MOBILE_CARRIER", +"MISSING_PHONE", +"MISSING_REQUIRED_TEMPLATE_FIELDS", +"MISSING_TEMPLATE_FIELD_VALUE", +"MISSING_TEXT", +"MISSING_VISIBLE_URL", +"MISSING_WIDTH", +"MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED", +"MUST_USE_TEMP_AD_UNION_ID_ON_ADD", +"TOO_LONG", +"TOO_SHORT", +"UNION_DIMENSIONS_CANNOT_CHANGE", +"UNKNOWN_ADDRESS_COMPONENT", +"UNKNOWN_FIELD_NAME", +"UNKNOWN_UNIQUE_NAME", +"UNSUPPORTED_DIMENSIONS", +"URL_INVALID_SCHEME", +"URL_INVALID_TOP_LEVEL_DOMAIN", +"URL_MALFORMED", +"URL_NO_HOST", +"URL_NOT_EQUIVALENT", +"URL_HOST_NAME_TOO_LONG", +"URL_NO_SCHEME", +"URL_NO_TOP_LEVEL_DOMAIN", +"URL_PATH_NOT_ALLOWED", +"URL_PORT_NOT_ALLOWED", +"URL_QUERY_NOT_ALLOWED", +"URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG", +"USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE", +"INCONSISTENT_EXPANDABLE_SETTINGS", +"INVALID_FORMAT", +"INVALID_FIELD_TEXT", +"ELEMENT_NOT_PRESENT", +"IMAGE_ERROR", +"VALUE_NOT_IN_RANGE", +"FIELD_NOT_PRESENT", +"ADDRESS_NOT_COMPLETE", +"ADDRESS_INVALID", +"VIDEO_RETRIEVAL_ERROR", +"AUDIO_ERROR", +"INVALID_YOUTUBE_DISPLAY_URL", +"TOO_MANY_PRODUCT_IMAGES", +"TOO_MANY_PRODUCT_VIDEOS", +"INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE", +"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", +"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", +"DISALLOWED_NUMBER_TYPE", +"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", +"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", +"PREMIUM_RATE_NUMBER_NOT_ALLOWED", +"VANITY_PHONE_NUMBER_NOT_ALLOWED", +"INVALID_CALL_CONVERSION_TYPE_ID", +"CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID", +"CANNOT_SET_PATH2_WITHOUT_PATH1", +"MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME", +"INCOMPATIBLE_WITH_RESTRICTION_TYPE", +"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", +"MISSING_IMAGE_OR_MEDIA_BUNDLE", +"PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN", +"PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE", +"PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE", +"PLACEHOLDER_DEFAULT_VALUE_MISSING", +"UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE", +"AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT", +"UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION", +"CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN", +"CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY", +"TOO_MANY_AD_CUSTOMIZERS", +"INVALID_AD_CUSTOMIZER_FORMAT", +"NESTED_AD_CUSTOMIZER_SYNTAX", +"UNSUPPORTED_AD_CUSTOMIZER_SYNTAX", +"UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG", +"MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS", +"DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID", +"DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST", +"UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND", +"CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD", +"INVALID_CUSTOMIZER_ATTRIBUTE_NAME", +"STORE_MISMATCH", +"MISSING_REQUIRED_IMAGE_ASPECT_RATIO", +"MISMATCHED_ASPECT_RATIOS", +"DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS", +"INVALID_YOUTUBE_VIDEO_ASSET_ID_FOR_VIDEO_ADS_SEQUENCING" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Ad customizers are not supported for ad type.", +"Estimating character sizes the string is too long.", +"Estimating character sizes the string is too short.", +"There is a problem with the snippet.", +"Cannot modify an ad.", +"business name and url cannot be set at the same time", +"The specified field is incompatible with this ad's type or settings.", +"Cannot set field when originAdId is set.", +"Cannot set field when an existing ad id is set for sharing.", +"Cannot set allowFlexibleColor false if no color is provided by user.", +"When user select native, no color control is allowed because we will always respect publisher color for native format serving.", +"Cannot specify a url for the ad type", +"Cannot specify a tracking or mobile url without also setting final urls", +"Cannot specify a legacy url and a final url simultaneously", +"Cannot specify a urls in UrlData and in template fields simultaneously.", +"This operator cannot be used with a subclass of Ad.", +"Customer is not approved for mobile ads.", +"Customer is not approved for 3PAS richmedia ads.", +"Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads.", +"Not an eligible customer", +"Customer is not eligible for updating beacon url", +"There already exists an ad with the same dimensions in the union.", +"Ad's dimension must be set before setting union dimension.", +"Ad's dimension must be included in the union dimensions.", +"Display Url cannot be specified (applies to Ad Exchange Ads)", +"Telephone number contains invalid characters or invalid format. Re-enter your number using digits (0-9), dashes (-), and parentheses only.", +"Emergency telephone numbers are not allowed. Enter a valid domestic phone number to connect customers to your business.", +"A required field was not specified or is an empty string.", +"A feed attribute referenced in an ad customizer tag is not in the ad customizer mapping for the feed.", +"The ad customizer field mapping for the feed attribute does not match the expected field type.", +"The use of ad customizer tags in the ad text is disallowed. Details in trigger.", +"Tags of the form {PH_x}, where x is a number, are disallowed in ad text.", +"The dimensions of the ad are specified or derived in multiple ways and are not consistent.", +"The status cannot differ among template ads of the same union.", +"The length of the string is not valid.", +"The ad is ineligible for upgrade.", +"User cannot create mobile ad for countries targeted in specified campaign.", +"Invalid Ad type. A specific type of Ad is required.", +"Headline, description or phone cannot be present when creating mobile image ad.", +"Image cannot be present when creating mobile text ad.", +"Invalid call to action text.", +"Invalid character in URL.", +"Creative's country code is not valid.", +"Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.)", +"An input error whose real reason was not properly mapped (should not happen).", +"An invalid markup language was entered.", +"An invalid mobile carrier was entered.", +"Specified mobile carriers target a country not targeted by the campaign.", +"Wrong number of elements for given element type", +"The format of the telephone number is incorrect. Re-enter the number using the correct format.", +"The certified vendor format id is incorrect.", +"The template ad data contains validation errors.", +"The template field doesn't have have the correct type.", +"Invalid template id.", +"After substituting replacement strings, the line is too wide.", +"The feed referenced must have ad customizer mapping to be used in a customizer tag.", +"Missing address component in template element address field.", +"An ad name must be entered.", +"Business name must be entered.", +"Description (line 2) must be entered.", +"Description (line 3) must be entered.", +"The destination url must contain at least one tag (for example, {lpurl})", +"The tracking url template of ExpandedDynamicSearchAd must contain at least one tag. (for example, {lpurl})", +"A valid dimension must be specified for this ad.", +"A display URL must be entered.", +"Headline must be entered.", +"A height must be entered.", +"An image must be entered.", +"Marketing image or product videos are required.", +"The markup language in which your site is written must be entered.", +"A mobile carrier must be entered.", +"Phone number must be entered.", +"Missing required template fields", +"Missing a required field value", +"The ad must have text.", +"A visible URL must be entered.", +"A width must be entered.", +"Only 1 feed can be used as the source of ad customizer substitutions in a single ad.", +"TempAdUnionId must be use when adding template ads.", +"The string has too many characters.", +"The string has too few characters.", +"Ad union dimensions cannot change for saved ads.", +"Address component is not {country, lat, lng}.", +"Unknown unique field name", +"Unknown unique name (template element type specifier)", +"Unsupported ad dimension", +"URL starts with an invalid scheme.", +"URL ends with an invalid top-level domain name.", +"URL contains illegal characters.", +"URL must contain a host name.", +"URL not equivalent during upgrade.", +"URL host name too long to be stored as visible URL (applies to Ad Exchange ads)", +"URL must start with a scheme.", +"URL should end in a valid domain extension, such as .com or .net.", +"URL must not end with a path.", +"URL must not specify a port.", +"URL must not contain a query.", +"A url scheme is not allowed in front of tag in tracking url template (for example, http://{lpurl})", +"The user does not have permissions to create a template ad for the given template.", +"Expandable setting is inconsistent/wrong. For example, an AdX ad is invalid if it has a expandable vendor format but no expanding directions specified, or expanding directions is specified, but the vendor format is not expandable.", +"Format is invalid", +"The text of this field did not match a pattern of allowed values.", +"Template element is mising", +"Error occurred during image processing", +"The value is not within the valid range", +"Template element field is not present", +"Address is incomplete", +"Invalid address", +"Error retrieving specified video", +"Error processing audio", +"Display URL is incorrect for YouTube PYV ads", +"Too many product Images in GmailAd", +"Too many product Videos in GmailAd", +"The device preference is not compatible with the ad type", +"Call tracking is not supported for specified country.", +"Carrier specific short number is not allowed.", +"Specified phone number type is disallowed.", +"Phone number not supported for country.", +"Phone number not supported with call tracking enabled for country.", +"Premium rate phone number is not allowed.", +"Vanity phone number is not allowed.", +"Invalid call conversion type id.", +"Cannot disable call conversion and set conversion type id.", +"Cannot set path2 without path1.", +"Missing domain name in campaign setting when adding expanded dynamic search ad.", +"The associated ad is not compatible with restriction type.", +"Consent for call recording is required for creating/updating call only ads. See https://support.google.com/google-ads/answer/7412639.", +"Either an image or a media bundle is required in a display upload ad.", +"The display upload product type is not supported in this campaign.", +"The default value of an ad placeholder can not be the empty string.", +"Ad placeholders with countdown functions must not have a default value.", +"A previous ad placeholder that had a default value was found which means that all (non-countdown) placeholders must have a default value. This ad placeholder does not have a default value.", +"A previous ad placeholder that did not have a default value was found which means that no placeholders may have a default value. This ad placeholder does have a default value.", +"Two ad customizers may not be directly adjacent in an ad text. They must be separated by at least one character.", +"The ad is not associated with any enabled AdGroupAd, and cannot be updated.", +"Call Ad verification url and final url don't have same domain.", +"Final url and verification url cannot both be empty for call ads.", +"Too many ad customizers in one asset.", +"The ad customizer tag is recognized, but the format is invalid.", +"Customizer tags cannot be nested.", +"The ad customizer syntax used in the ad is not supported.", +"There exists unpaired brace in the ad customizer tag.", +"More than one type of countdown tag exists among all text lines.", +"Date time in the countdown tag is invalid.", +"Date time in the countdown tag is in the past.", +"Cannot recognize the ad customizer tag.", +"Customizer type forbidden for this field.", +"Customizer attribute name is invalid.", +"App store value does not match the value of the app store in the app specified in the campaign.", +"Missing required image aspect ratio.", +"Aspect ratios mismatch between different assets.", +"Images must be unique between different carousel card assets.", +"For video ads sequencing, YouTube video asset ID has to be defined in `campaign.video_campaign_settings.video_ad_sequence.steps.asset_id`." +], +"type": "string" +}, +"adGroupAdError": { +"description": "The reasons for the ad group ad error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_AD_LABEL_DOES_NOT_EXIST", +"AD_GROUP_AD_LABEL_ALREADY_EXISTS", +"AD_NOT_UNDER_ADGROUP", +"CANNOT_OPERATE_ON_REMOVED_ADGROUPAD", +"CANNOT_CREATE_DEPRECATED_ADS", +"CANNOT_CREATE_TEXT_ADS", +"EMPTY_FIELD", +"RESOURCE_REFERENCED_IN_MULTIPLE_OPS", +"AD_TYPE_CANNOT_BE_PAUSED", +"AD_TYPE_CANNOT_BE_REMOVED", +"CANNOT_UPDATE_DEPRECATED_ADS", +"AD_SHARING_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"No link found between the adgroup ad and the label.", +"The label has already been attached to the adgroup ad.", +"The specified ad was not found in the adgroup", +"Removed ads may not be modified", +"An ad of this type is deprecated and cannot be created. Only deletions are permitted.", +"Text ads are deprecated and cannot be created. Use expanded text ads instead.", +"A required field was not specified or is an empty string.", +"An ad may only be modified once per call", +"AdGroupAds with the given ad type cannot be paused.", +"AdGroupAds with the given ad type cannot be removed.", +"An ad of this type is deprecated and cannot be updated. Only removals are permitted.", +"Ad sharing is not allowed." +], +"type": "string" +}, +"adGroupBidModifierError": { +"description": "The reasons for the ad group bid modifier error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CRITERION_ID_NOT_SUPPORTED", +"CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The criterion ID does not support bid modification.", +"Cannot override the bid modifier for the given criterion ID if the parent campaign is opted out of the same criterion." +], +"type": "string" +}, +"adGroupCriterionCustomizerError": { +"description": "The reasons for the ad group criterion customizer error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CRITERION_IS_NOT_KEYWORD" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Only keyword type criterion is allowed to link customizer attribute." +], +"type": "string" +}, +"adGroupCriterionError": { +"description": "Indicates failure to properly authenticate user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST", +"AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS", +"CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION", +"TOO_MANY_OPERATIONS", +"CANT_UPDATE_NEGATIVE", +"CONCRETE_TYPE_REQUIRED", +"BID_INCOMPATIBLE_WITH_ADGROUP", +"CANNOT_TARGET_AND_EXCLUDE", +"ILLEGAL_URL", +"INVALID_KEYWORD_TEXT", +"INVALID_DESTINATION_URL", +"MISSING_DESTINATION_URL_TAG", +"KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM", +"INVALID_USER_STATUS", +"CANNOT_ADD_CRITERIA_TYPE", +"CANNOT_EXCLUDE_CRITERIA_TYPE", +"CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE", +"OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS", +"CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS", +"CANNOT_SET_WITHOUT_FINAL_URLS", +"CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST", +"CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST", +"CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS", +"CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST", +"CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS", +"CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE", +"FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE", +"FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"No link found between the AdGroupCriterion and the label.", +"The label has already been attached to the AdGroupCriterion.", +"Negative AdGroupCriterion cannot have labels.", +"Too many operations for a single call.", +"Negative ad group criteria are not updateable.", +"Concrete type of criterion (keyword v.s. placement) is required for ADD and SET operations.", +"Bid is incompatible with ad group's bidding settings.", +"Cannot target and exclude the same criterion at once.", +"The URL of a placement is invalid.", +"Keyword text was invalid.", +"Destination URL was invalid.", +"The destination url must contain at least one tag (for example, {lpurl})", +"Keyword-level cpm bid is not supported", +"For example, cannot add a biddable ad group criterion that had been removed.", +"Criteria type cannot be targeted for the ad group. Either the account is restricted to keywords only, the criteria type is incompatible with the campaign's bidding strategy, or the criteria type can only be applied to campaigns.", +"Criteria type cannot be excluded for the ad group. Refer to the documentation for a specific criterion to check if it is excludable.", +"Partial failure is not supported for shopping campaign mutate operations.", +"Operations in the mutate request changes too many shopping ad groups. Split requests for multiple shopping ad groups across multiple requests.", +"Not allowed to modify url fields of an ad group criterion if there are duplicate elements for that ad group criterion in the request.", +"Cannot set url fields without also setting final urls.", +"Cannot clear final urls if final mobile urls exist.", +"Cannot clear final urls if final app urls exist.", +"Cannot clear final urls if tracking url template exists.", +"Cannot clear final urls if url custom parameters exist.", +"Cannot set both destination url and final urls.", +"Cannot set both destination url and tracking url template.", +"Final urls are not supported for this criterion type.", +"Final mobile urls are not supported for this criterion type." +], +"type": "string" +}, +"adGroupCustomizerError": { +"description": "The reasons for the ad group customizer error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version." +], +"type": "string" +}, +"adGroupError": { +"description": "An error with an Ad Group mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_ADGROUP_NAME", +"INVALID_ADGROUP_NAME", +"ADVERTISER_NOT_ON_CONTENT_NETWORK", +"BID_TOO_BIG", +"BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH", +"MISSING_ADGROUP_NAME", +"ADGROUP_LABEL_DOES_NOT_EXIST", +"ADGROUP_LABEL_ALREADY_EXISTS", +"INVALID_CONTENT_BID_CRITERION_TYPE_GROUP", +"AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE", +"ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY", +"CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING", +"PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER", +"INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE", +"INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE", +"CANNOT_ADD_AD_GROUP_FOR_CAMPAIGN_TYPE", +"INVALID_STATUS", +"INVALID_STEP_ID_FOR_VIDEO_ADS_SEQUENCING", +"INVALID_AD_GROUP_TYPE_FOR_VIDEO_ADS_SEQUENCING", +"DUPLICATE_STEP_ID", +"INVALID_VERTICAL_ADS_FORMAT_SETTING", +"VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX", +"VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"AdGroup with the same name already exists for the campaign.", +"AdGroup name is not valid.", +"Advertiser is not allowed to target sites or set site bids that are not on the Google Search Network.", +"Bid amount is too big.", +"AdGroup bid does not match the campaign's bidding strategy.", +"AdGroup name is required for Add.", +"No link found between the ad group and the label.", +"The label has already been attached to the ad group.", +"The CriterionTypeGroup is not supported for the content bid dimension.", +"The ad group type is not compatible with the campaign channel type.", +"The ad group type is not supported in the country of sale of the campaign.", +"Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to campaigns that have DynamicSearchAdsSetting attached.", +"Promoted hotels ad groups are only available to customers on the allow-list.", +"The field type cannot be excluded because an active ad group-asset link of this type exists.", +"The asset set type is invalid for setting the excluded_parent_asset_set_types field.", +"Cannot add ad groups for the campaign type.", +"Invalid status for the ad group.", +"For video ads sequencing, AdGroup `step_id` has to use a `step_id` defined in `campaign.video_campaign_settings.video_ad_sequence`.", +"For video ads sequencing, AdGroup type has to use a type defined in `campaign.video_campaign_settings.video_ad_sequence`.", +"Only one AdGroup is allowed for each step ID in video ads sequencing.", +"At least one Vertical Ads format must be enabled for a campaign under Travel Ads in Search Campaigns.", +"AI max setting must be enabled to enable Vertical Ads formats for a campaign under Travel Ads in Search Campaigns.", +"An enabled travel feed must be linked to enable Vertical Ads formats for a campaign under Travel Ads in Search Campaigns." +], +"type": "string" +}, +"adGroupFeedError": { +"description": "The reasons for the ad group feed error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"CANNOT_CREATE_FOR_REMOVED_FEED", +"ADGROUP_FEED_ALREADY_EXISTS", +"CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED", +"INVALID_PLACEHOLDER_TYPE", +"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", +"NO_EXISTING_LOCATION_CUSTOMER_FEED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An active feed already exists for this ad group and place holder type.", +"The specified feed is removed.", +"The AdGroupFeed already exists. UPDATE operation should be used to modify the existing AdGroupFeed.", +"Cannot operate on removed AdGroupFeed.", +"Invalid placeholder type.", +"Feed mapping for this placeholder type does not exist.", +"Location AdGroupFeeds cannot be created unless there is a location CustomerFeed for the specified feed." +], +"type": "string" +}, +"adParameterError": { +"description": "The reasons for the ad parameter error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_CRITERION_MUST_BE_KEYWORD", +"INVALID_INSERTION_TEXT_FORMAT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The ad group criterion must be a keyword criterion.", +"The insertion text is invalid." +], +"type": "string" +}, +"adSharingError": { +"description": "The reasons for the ad sharing error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_ALREADY_CONTAINS_AD", +"INCOMPATIBLE_AD_UNDER_AD_GROUP", +"CANNOT_SHARE_INACTIVE_AD" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Error resulting in attempting to add an Ad to an AdGroup that already contains the Ad.", +"Ad is not compatible with the AdGroup it is being shared with.", +"Cannot add AdGroupAd on inactive Ad." +], +"type": "string" +}, +"adxError": { +"description": "The reasons for the adx error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNSUPPORTED_FEATURE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Attempt to use non-AdX feature by AdX customer." +], +"type": "string" +}, +"assetError": { +"description": "The reasons for the asset error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE", +"DUPLICATE_ASSET", +"DUPLICATE_ASSET_NAME", +"ASSET_DATA_IS_MISSING", +"CANNOT_MODIFY_ASSET_NAME", +"FIELD_INCOMPATIBLE_WITH_ASSET_TYPE", +"INVALID_CALL_TO_ACTION_TEXT", +"LEAD_FORM_INVALID_FIELDS_COMBINATION", +"LEAD_FORM_MISSING_AGREEMENT", +"INVALID_ASSET_STATUS", +"FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE", +"SCHEDULES_CANNOT_OVERLAP", +"PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF", +"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", +"TOO_MANY_DECIMAL_PLACES_SPECIFIED", +"DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE", +"CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", +"CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", +"CALL_DISALLOWED_NUMBER_TYPE", +"CALL_INVALID_CONVERSION_ACTION", +"CALL_INVALID_COUNTRY_CODE", +"CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", +"CALL_INVALID_PHONE_NUMBER", +"CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", +"CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED", +"CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED", +"PRICE_HEADER_SAME_AS_DESCRIPTION", +"MOBILE_APP_INVALID_APP_ID", +"MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL", +"NAME_REQUIRED_FOR_ASSET_TYPE", +"LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED", +"NAME_CONFLICT_FOR_ASSET_TYPE", +"CANNOT_MODIFY_ASSET_SOURCE", +"CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET", +"LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED", +"PAGE_FEED_INVALID_LABEL_TEXT", +"CUSTOMER_NOT_ON_ALLOWLIST_FOR_WHATSAPP_MESSAGE_ASSETS", +"CUSTOMER_NOT_ON_ALLOWLIST_FOR_APP_DEEP_LINK_ASSETS", +"PROMOTION_BARCODE_CANNOT_CONTAIN_LINKS", +"PROMOTION_BARCODE_INVALID_FORMAT", +"UNSUPPORTED_BARCODE_TYPE", +"PROMOTION_QR_CODE_CANNOT_CONTAIN_LINKS", +"PROMOTION_QR_CODE_INVALID_FORMAT", +"CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The customer is not on the allow-list for this asset type.", +"Assets are duplicated across operations.", +"The asset name is duplicated, either across operations or with an existing asset.", +"The `Asset.asset_data` oneof is empty.", +"The asset has a name which is different from an existing duplicate that represents the same content.", +"The field cannot be set for this asset type.", +"Call to action must come from the list of supported values.", +"A lead form asset is created with an invalid combination of input fields.", +"Lead forms require that the Terms of Service have been agreed to before mutates can be executed.", +"Asset status is invalid in this operation.", +"The field cannot be modified by this asset type.", +"Ad schedules for the same asset cannot overlap.", +"Cannot set both percent off and money amount off fields of promotion asset.", +"Cannot set both promotion code and orders over amount fields of promotion asset.", +"The field has too many decimal places specified.", +"Duplicate assets across operations, which have identical `Asset.asset_data` oneof, cannot have different asset level fields for asset types which are deduped.", +"Carrier-specific short number is not allowed.", +"Customer consent required for call recording Terms of Service.", +"The type of the specified phone number is not allowed.", +"If the default `call_conversion_action` is not used, the customer must have a `ConversionAction` with the same id and the `ConversionAction` must be call conversion type.", +"The country code of the phone number is invalid.", +"The format of the phone number is incorrect.", +"The input phone number is not a valid phone number.", +"The phone number is not supported for this country.", +"Premium rate phone number is not allowed.", +"Vanity phone number is not allowed.", +"`PriceOffering` cannot have the same value for header and description.", +"`AppId` is invalid.", +"Invalid App download URL in final URLs.", +"Asset name is required for the asset type.", +"Legacy qualifying questions cannot be in the same Lead Form as custom questions.", +"Unique name is required for this asset type.", +"Cannot modify asset source.", +"User can not modify the automatically created asset.", +"Lead Form is disallowed to use `LOCATION` answer type.", +"Page Feed label text contains invalid characters.", +"The customer is not in the allow-list for whatsapp message asset type.", +"Only customers on the allowlist can create `AppDeepLinkAsset`.", +"Promotion barcode cannot contain links.", +"Failed to encode promotion barcode: Invalid format.", +"Barcode type is not supported.", +"Promotion QR code cannot contain links.", +"Failed to encode promotion QR code: Invalid format.", +"The customer is not in the allow-list for Business message asset type." +], +"type": "string" +}, +"assetGenerationError": { +"description": "The reasons for the GenAI asset generation error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_ASSETS_GENERATED", +"FINAL_URL_REQUIRED", +"GENERATION_CONTEXT_MISSING_FINAL_URL", +"FINAL_URL_SENSITIVE", +"FINAL_URL_UNSUPPORTED_LANGUAGE", +"FINAL_URL_UNAVAILABLE", +"CAMPAIGN_TYPE_REQUIRED", +"UNSUPPORTED_CAMPAIGN_TYPE", +"UNSUPPORTED_FIELD_TYPE", +"UNSUPPORTED_FIELD_TYPE_FOR_CAMPAIGN_TYPE", +"FREEFORM_PROMPT_UNSUPPORTED_LANGUAGE", +"FREEFORM_PROMPT_SENSITIVE", +"INPUT_IMAGE_FILE_SIZE_TOO_LARGE", +"INPUT_IMAGE_EMPTY", +"GENERATION_TYPE_REQUIRED", +"TOO_MANY_KEYWORDS", +"KEYWORD_INVALID_LENGTH", +"NO_VALID_KEYWORDS", +"FREEFORM_PROMPT_INVALID_LENGTH", +"FREEFORM_PROMPT_REFERENCES_CHILDREN", +"FREEFORM_PROMPT_REFERENCES_SPECIFIC_PEOPLE", +"FREEFORM_PROMPT_VIOLATES_ADS_POLICY", +"FREEFORM_PROMPT_BRAND_CONTENT", +"INPUT_IMAGE_DEPICTS_CHILDREN", +"INPUT_IMAGE_CONTAINS_BRAND_CONTENT", +"INPUT_IMAGE_SENSITIVE", +"INPUT_IMAGE_VIOLATES_POLICY", +"ALL_OUTPUT_IMAGES_FILTERED_OUT_CHILDREN_DEPICTION", +"ALL_OUTPUT_IMAGES_FILTERED_OUT_SPECIFIC_PEOPLE", +"ALL_OUTPUT_IMAGES_FILTERED_OUT", +"INPUT_IMAGE_REQUIRED", +"INPUT_IMAGE_UNSUPPORTED_IMAGE_TYPE", +"CONTEXT_ASSET_GROUP_NOT_FOUND", +"CONTEXT_AD_GROUP_AD_NOT_FOUND", +"CONTEXT_CAMPAIGN_NOT_FOUND" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"No assets were generated for the given request.", +"A final URL is required but was not provided, and could not be sourced from the existing generation context because no existing generation context was provided.", +"A final URL is required but was not provided, and could not be sourced from the provided existing generation context.", +"The provided final URL is considered sensitive, and assets cannot be generated.", +"The language of the provided final URL is not supported.", +"The provided final URL was not indexed or could otherwise not be processed.", +"Campaign type is required but was not provided, and could not be sourced from the existing generation context because no existing generation context was provided.", +"The provided campaign type is not supported for this asset generation operation.", +"The provided field type is not supported for this asset generation operation.", +"The provided field type is not supported for the given campaign type.", +"The language of the provided freeform prompt is not supported.", +"The provided freeform prompt is considered sensitive, and assets cannot be generated.", +"The provided image file size exceeds the limit.", +"The provided image is empty.", +"Exactly one generation type must be provided.", +"Too many keywords provided in request.", +"A provided keyword does not have a valid length.", +"All keywords were filtered out.", +"The provided freeform prompt does not have a valid length.", +"The provided freeform prompt references children.", +"The provided freeform prompt references specific people.", +"The provided freeform prompt violates Ads Policy.", +"The provided freeform prompt contains brand content.", +"The provided image depicts children.", +"The provided image contains brand content.", +"The provided image contains sensitive subject matter.", +"The provided image may violate Google Ads policies.", +"All output images were filtered out because they included depictions of children.", +"All output images were filtered out because they included depictions of specific people.", +"All output images were filtered out for a reason not covered by a more specific error code.", +"At least one input image is required for certain requests.", +"The provided image is of an unsupported type.", +"Asset Group could not be found with the provided ID.", +"Ad Group Ad could not be found with the provided ID combination.", +"Could not find Campaign associated with the provided generation context." +], +"type": "string" +}, +"assetGroupAssetError": { +"description": "The reasons for the asset group asset error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_RESOURCE", +"EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION", +"AD_CUSTOMIZER_NOT_SUPPORTED", +"HOTEL_PROPERTY_ASSET_NOT_LINKED_TO_CAMPAIGN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot add duplicated asset group asset.", +"Expandable tags are not allowed in description assets.", +"Ad customizers are not supported in assetgroup's text assets.", +"Cannot add a HotelPropertyAsset to an AssetGroup that isn't linked to the parent campaign's hotel_property_asset_set field." +], +"type": "string" +}, +"assetGroupError": { +"description": "The reasons for the asset group error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE", +"NOT_ENOUGH_HEADLINE_ASSET", +"NOT_ENOUGH_LONG_HEADLINE_ASSET", +"NOT_ENOUGH_DESCRIPTION_ASSET", +"NOT_ENOUGH_BUSINESS_NAME_ASSET", +"NOT_ENOUGH_MARKETING_IMAGE_ASSET", +"NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET", +"NOT_ENOUGH_LOGO_ASSET", +"FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER", +"PATH1_REQUIRED_WHEN_PATH2_IS_SET", +"SHORT_DESCRIPTION_REQUIRED", +"FINAL_URL_REQUIRED", +"FINAL_URL_CONTAINS_INVALID_DOMAIN_NAME", +"AD_CUSTOMIZER_NOT_SUPPORTED", +"CANNOT_MUTATE_ASSET_GROUP_FOR_REMOVED_CAMPAIGN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Each asset group in a single campaign must have a unique name.", +"Cannot add asset group for the campaign type.", +"Not enough headline asset for a valid asset group.", +"Not enough long headline asset for a valid asset group.", +"Not enough description headline asset for a valid asset group.", +"Not enough business name asset for a valid asset group.", +"Not enough marketing image asset for a valid asset group.", +"Not enough square marketing image asset for a valid asset group.", +"Not enough logo asset for a valid asset group.", +"Final url and shopping merchant url does not have the same domain.", +"Path1 required when path2 is set.", +"At least one short description asset is required for a valid asset group.", +"Final url field is required for asset group.", +"Final url contains invalid domain name.", +"Ad customizers are not supported in asset group's text field.", +"Cannot mutate asset group for campaign with removed status." +], +"type": "string" +}, +"assetGroupListingGroupFilterError": { +"description": "The reasons for the asset group listing group filter error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TREE_TOO_DEEP", +"UNIT_CANNOT_HAVE_CHILDREN", +"SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD", +"DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS", +"SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS", +"SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS", +"MULTIPLE_ROOTS", +"INVALID_DIMENSION_VALUE", +"MUST_REFINE_HIERARCHICAL_PARENT_TYPE", +"INVALID_PRODUCT_BIDDING_CATEGORY", +"CHANGING_CASE_VALUE_WITH_CHILDREN", +"SUBDIVISION_HAS_CHILDREN", +"CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE", +"DIMENSION_TYPE_NOT_ALLOWED", +"DUPLICATE_WEBPAGE_FILTER_UNDER_ASSET_GROUP", +"LISTING_SOURCE_NOT_ALLOWED", +"FILTER_EXCLUSION_NOT_ALLOWED", +"MULTIPLE_LISTING_SOURCES", +"MULTIPLE_WEBPAGE_CONDITION_TYPES_NOT_ALLOWED", +"MULTIPLE_WEBPAGE_TYPES_PER_ASSET_GROUP", +"PAGE_FEED_FILTER_HAS_PARENT", +"MULTIPLE_OPERATIONS_ON_ONE_NODE", +"TREE_WAS_INVALID_BEFORE_MUTATION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Listing group tree is too deep.", +"Listing Group UNIT node cannot have children.", +"Listing Group SUBDIVISION node must have everything else child.", +"Dimension type of Listing Group must be the same as that of its siblings.", +"The sibling Listing Groups target exactly the same dimension value.", +"The dimension type is the same as one of the ancestor Listing Groups.", +"Each Listing Group tree must have a single root.", +"Invalid Listing Group dimension value.", +"Hierarchical dimension must refine a dimension of the same type.", +"Invalid Product Bidding Category.", +"Modifying case value is allowed only while updating the entire subtree at the same time.", +"Subdivision node has children which must be removed first.", +"Dimension can't subdivide everything-else node in its own hierarchy.", +"This dimension type is not allowed in this context.", +"All the webpage filters under an AssetGroup should be distinct.", +"Filter of the listing source type is not allowed in the context.", +"Exclusion filters are not allowed in the context.", +"All the filters under an AssetGroup should have the same listing source.", +"All the conditions in a webpage needs to be of same type.", +"All the webpage types of the filters under an AssetGroup should be of same type. Example: All the webpage types can be of type custom_label or url_contains but not both.", +"All page feed filter nodes are root nodes and they can't have a parent.", +"There cannot be more than one mutate operation per request that targets a single asset group listing group filter.", +"The tree is in an invalid state in the database. Any changes that don't fix its issues will fail validation." +], +"type": "string" +}, +"assetGroupSignalError": { +"description": "The reasons for the asset group hint error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_MANY_WORDS", +"SEARCH_THEME_POLICY_VIOLATION", +"AUDIENCE_WITH_WRONG_ASSET_GROUP_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The number of words in the Search Theme signal exceed the allowed maximum. You can add up to 10 words in a keyword. See https://support.google.com/google-ads/answer/7476658 for details.", +"The search theme requested to be added violates certain policy. See https://support.google.com/adspolicy/answer/6008942.", +"The asset group referenced by the asset group signal does not match the asset group referenced by the audience being used in the asset group signal." +], +"type": "string" +}, +"assetLinkError": { +"description": "The reasons for the asset link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PINNING_UNSUPPORTED", +"UNSUPPORTED_FIELD_TYPE", +"FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE", +"FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE", +"INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE", +"IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE", +"INVALID_PINNED_FIELD", +"MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE", +"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION", +"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK", +"NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION", +"YOUTUBE_VIDEO_REMOVED", +"YOUTUBE_VIDEO_TOO_LONG", +"YOUTUBE_VIDEO_TOO_SHORT", +"EXCLUDED_PARENT_FIELD_TYPE", +"INVALID_STATUS", +"YOUTUBE_VIDEO_DURATION_NOT_DEFINED", +"CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS", +"CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET", +"CANNOT_MODIFY_ASSET_LINK_SOURCE", +"CANNOT_LINK_LOCATION_LEAD_FORM_WITHOUT_LOCATION_ASSET", +"CUSTOMER_NOT_VERIFIED", +"UNSUPPORTED_CALL_TO_ACTION", +"BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL", +"BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Pinning is not supported for the given asset link field.", +"The given field type is not supported to be added directly through asset links.", +"The given asset's type and the specified field type are incompatible.", +"The specified field type is incompatible with the given campaign type.", +"The campaign advertising channel type cannot be associated with the given asset due to channel-based restrictions on the asset's fields.", +"The image asset provided is not within the dimension constraints specified for the submitted asset field.", +"The pinned field is not valid for the submitted asset field.", +"The media bundle asset provided is too large for the submitted asset field.", +"Not enough assets are available for use with other fields since other assets are pinned to specific fields.", +"Not enough assets with fallback are available. When validating the minimum number of assets, assets without fallback (for example, assets that contain location tag without default value \"{LOCATION(City)}\") will not be counted.", +"This is a combination of the NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION and NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK errors. Not enough assets with fallback are available since some assets are pinned.", +"The YouTube video referenced in the provided asset has been removed.", +"The YouTube video referenced in the provided asset is too long for the field submitted.", +"The YouTube video referenced in the provided asset is too short for the field submitted.", +"The specified field type is excluded for given campaign or ad group.", +"The status is invalid for the operation specified.", +"The YouTube video referenced in the provided asset has unknown duration. This might be the case for a livestream video or a video being currently uploaded to YouTube. In both cases, the video duration should eventually get resolved.", +"User cannot create automatically created links.", +"Advertiser links cannot link to automatically created asset.", +"Automatically created links cannot be changed into advertiser links or the reverse.", +"Lead Form asset with Location answer type can't be linked to the Customer/Campaign because there are no Location assets.", +"Customer is not verified.", +"Call to action value is not supported.", +"For Performance Max campaigns where brand_guidelines_enabled is false, business name and logo assets must be linked as AssetGroupAssets.", +"For Performance Max campaigns where brand_guidelines_enabled is true, business name and logo assets must be linked as CampaignAssets." +], +"type": "string" +}, +"assetSetAssetError": { +"description": "The reasons for the asset set asset error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_ASSET_TYPE", +"INVALID_ASSET_SET_TYPE", +"DUPLICATE_EXTERNAL_KEY", +"PARENT_LINKAGE_DOES_NOT_EXIST" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The asset type is not eligible to be linked to the specific type of asset set.", +"The asset set type is not eligible to contain the specified type of assets.", +"The asset contains duplicate external key with another asset in the asset set.", +"When attaching a Location typed Asset to a LocationGroup typed AssetSet, the AssetSetAsset linkage between the parent LocationSync AssetSet and the Asset doesn't exist." +], +"type": "string" +}, +"assetSetError": { +"description": "The reasons for the asset set error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_ASSET_SET_NAME", +"INVALID_PARENT_ASSET_SET_TYPE", +"ASSET_SET_SOURCE_INCOMPATIBLE_WITH_PARENT_ASSET_SET", +"ASSET_SET_TYPE_CANNOT_BE_LINKED_TO_CUSTOMER", +"INVALID_CHAIN_IDS", +"LOCATION_SYNC_ASSET_SET_DOES_NOT_SUPPORT_RELATIONSHIP_TYPE", +"NOT_UNIQUE_ENABLED_LOCATION_SYNC_TYPED_ASSET_SET", +"INVALID_PLACE_IDS", +"OAUTH_INFO_INVALID", +"OAUTH_INFO_MISSING", +"CANNOT_DELETE_AS_ENABLED_LINKAGES_EXIST" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The asset set name matches that of another enabled asset set.", +"The type of AssetSet.asset_set_source does not match the type of AssetSet.location_set.source in its parent AssetSet.", +"The asset set source doesn't match its parent AssetSet's data.", +"This AssetSet type cannot be linked to CustomerAssetSet.", +"The chain id(s) in ChainSet of a LOCATION_SYNC typed AssetSet is invalid.", +"The relationship type in ChainSet of a LOCATION_SYNC typed AssetSet is not supported.", +"There is more than one enabled LocationSync typed AssetSet under one customer.", +"The place id(s) in a LocationSync typed AssetSet is invalid and can't be decoded.", +"The Google Business Profile OAuth info is invalid.", +"The Google Business Profile OAuth info is missing.", +"Can't delete an AssetSet if it has any enabled linkages (e.g. CustomerAssetSet), or AssetSet is a parent AssetSet and has enabled child AssetSet associated." +], +"type": "string" +}, +"assetSetLinkError": { +"description": "The reasons for the asset set link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE", +"DUPLICATE_FEED_LINK", +"INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE", +"DUPLICATE_ASSET_SET_LINK", +"ASSET_SET_LINK_CANNOT_BE_REMOVED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Advertising channel type cannot be attached to the asset set due to channel-based restrictions.", +"For this asset set type, only one campaign to feed linkage is allowed.", +"The asset set type and campaign type are incompatible.", +"Cannot link duplicate asset sets to the same campaign.", +"Cannot remove the asset set link. If a campaign is linked with only one asset set and you attempt to unlink them, this error will be triggered." +], +"type": "string" +}, +"audienceError": { +"description": "The reasons for the audience error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NAME_ALREADY_IN_USE", +"DIMENSION_INVALID", +"AUDIENCE_SEGMENT_NOT_FOUND", +"AUDIENCE_SEGMENT_TYPE_NOT_SUPPORTED", +"DUPLICATE_AUDIENCE_SEGMENT", +"TOO_MANY_SEGMENTS", +"TOO_MANY_DIMENSIONS_OF_SAME_TYPE", +"IN_USE", +"MISSING_ASSET_GROUP_ID", +"CANNOT_CHANGE_FROM_CUSTOMER_TO_ASSET_GROUP_SCOPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An audience with this name already exists.", +"A dimension within the audience definition is not valid.", +"One of the audience segment added is not found.", +"One of the audience segment type is not supported.", +"The same segment already exists in this audience.", +"Audience can't have more than allowed number segments.", +"Audience can't have multiple dimensions of same type.", +"The audience cannot be removed, because it is currently used in an ad group criterion or asset group signal in an (enabled or paused) ad group or campaign.", +"Asset Group scoped audience requires an asset group ID.", +"Audience scope may not be changed from Customer to AssetGroup." +], +"type": "string" +}, +"audienceInsightsError": { +"description": "The reasons for the Audience Insights error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DIMENSION_INCOMPATIBLE_WITH_TOPIC_AUDIENCE_COMBINATIONS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The dimensions cannot be used with topic audience combinations." +], +"type": "string" +}, +"authenticationError": { +"description": "Indicates failure to properly authenticate user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AUTHENTICATION_ERROR", +"CLIENT_CUSTOMER_ID_INVALID", +"CUSTOMER_NOT_FOUND", +"GOOGLE_ACCOUNT_DELETED", +"GOOGLE_ACCOUNT_COOKIE_INVALID", +"GOOGLE_ACCOUNT_AUTHENTICATION_FAILED", +"GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH", +"LOGIN_COOKIE_REQUIRED", +"NOT_ADS_USER", +"OAUTH_TOKEN_INVALID", +"OAUTH_TOKEN_EXPIRED", +"OAUTH_TOKEN_DISABLED", +"OAUTH_TOKEN_REVOKED", +"OAUTH_TOKEN_HEADER_INVALID", +"LOGIN_COOKIE_INVALID", +"INVALID_EMAIL_ADDRESS", +"USER_ID_INVALID", +"TWO_STEP_VERIFICATION_NOT_ENROLLED", +"ADVANCED_PROTECTION_NOT_ENROLLED", +"ORGANIZATION_NOT_RECOGNIZED", +"ORGANIZATION_NOT_APPROVED", +"ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN", +"DEVELOPER_TOKEN_INVALID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Authentication of the request failed.", +"Client customer ID is not a number.", +"No customer found for the provided customer ID.", +"Client's Google account is deleted.", +"Account login token in the cookie is invalid.", +"A problem occurred during Google account authentication.", +"The user in the Google account login token does not match the user ID in the cookie.", +"Login cookie is required for authentication.", +"The Google account that generated the OAuth access token is not associated with a Search Ads 360 account. Create a new account, or add the Google account to an existing Search Ads 360 account.", +"OAuth token in the header is not valid.", +"OAuth token in the header has expired.", +"OAuth token in the header has been disabled.", +"OAuth token in the header has been revoked.", +"OAuth token HTTP header is malformed.", +"Login cookie is not valid.", +"The email address provided is invalid or does not exist.", +"User ID in the header is not a valid ID.", +"An account administrator changed this account's authentication settings. To access this account, enable 2-Step Verification in your Google account at https://www.google.com/landing/2step.", +"An account administrator changed this account's authentication settings. To access this account, enable Advanced Protection in your Google account at https://landing.google.com/advancedprotection.", +"The Cloud organization associated with the project is not recognized.", +"The Cloud organization associated with the project is not approved for prod access.", +"The Cloud organization associated with the project is not associated with the developer token.", +"The developer token is not valid." +], +"type": "string" +}, +"authorizationError": { +"description": "An error encountered when trying to authorize a user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"USER_PERMISSION_DENIED", +"DEVELOPER_TOKEN_NOT_ON_ALLOWLIST", +"DEVELOPER_TOKEN_PROHIBITED", +"PROJECT_DISABLED", +"AUTHORIZATION_ERROR", +"ACTION_NOT_PERMITTED", +"INCOMPLETE_SIGNUP", +"CUSTOMER_NOT_ENABLED", +"MISSING_TOS", +"DEVELOPER_TOKEN_NOT_APPROVED", +"INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION", +"SERVICE_ACCESS_DENIED", +"ACCESS_DENIED_FOR_ACCOUNT_TYPE", +"METRIC_ACCESS_DENIED", +"CLOUD_PROJECT_NOT_UNDER_ORGANIZATION", +"ACTION_NOT_PERMITTED_FOR_SUSPENDED_ACCOUNT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"User doesn't have permission to access customer. Note: If you're accessing a client customer, the manager's customer ID must be set in the `login-customer-id` header. Learn more at https://developers.google.com/search-ads/reporting/concepts/call-structure#login_customer_id_header", +"The developer token is not on the allow-list.", +"The developer token is not allowed with the project sent in the request.", +"The Google Cloud project sent in the request does not have permission to access the api.", +"Authorization of the client failed.", +"The user does not have permission to perform this action (for example, ADD, UPDATE, REMOVE) on the resource or call a method.", +"Signup not complete.", +"The customer account can't be accessed because it is not yet enabled or has been deactivated.", +"The developer must sign the terms of service. They can be found here: https://developers.google.com/terms", +"The developer token is only approved for use with test accounts. To access non-test accounts, apply for Basic or Standard access.", +"The login customer specified does not have access to the account specified, so the request is invalid.", +"The developer specified does not have access to the service.", +"The customer (or login customer) isn't allowed in Search Ads 360 API. It belongs to another ads system.", +"The developer does not have access to the metrics queried.", +"The Google Cloud project is not under the required organization.", +"The user does not have permission to perform this action on the resource or method because the Google Ads account is suspended." +], +"type": "string" +}, +"automaticallyCreatedAssetRemovalError": { +"description": "The reasons for error in automatically created asset removal action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_DOES_NOT_EXIST", +"INVALID_AD_TYPE", +"ASSET_DOES_NOT_EXIST", +"ASSET_FIELD_TYPE_DOES_NOT_MATCH", +"NOT_AN_AUTOMATICALLY_CREATED_ASSET" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The ad does not exist.", +"Ad type is not supported. Only Responsive Search Ad type is supported.", +"The asset does not exist.", +"The asset field type does not match.", +"Not an automatically created asset." +], +"type": "string" +}, +"batchJobError": { +"description": "The reasons for the batch job error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING", +"EMPTY_OPERATIONS", +"INVALID_SEQUENCE_TOKEN", +"RESULTS_NOT_READY", +"INVALID_PAGE_SIZE", +"CAN_ONLY_REMOVE_PENDING_JOB", +"CANNOT_LIST_RESULTS", +"ASSET_GROUP_AND_ASSET_GROUP_ASSET_TRANSACTION_FAILURE", +"ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE", +"REQUEST_TOO_LARGE", +"CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The batch job cannot add more operations or run after it has started running.", +"The operations for an AddBatchJobOperations request were empty.", +"The sequence token for an AddBatchJobOperations request was invalid.", +"Batch job results can only be retrieved once the job is finished.", +"The page size for ListBatchJobResults was invalid.", +"The batch job cannot be removed because it has started running.", +"The batch job cannot be listed due to unexpected errors such as duplicate checkpoints.", +"The request contains interdependent AssetGroup and AssetGroupAsset operations that are treated atomically as a single transaction, and one or more of the operations in that transaction failed, which caused the entire transaction, and therefore this mutate operation, to fail. The operations that caused the transaction to fail can be found in the consecutive AssetGroup or AssetGroupAsset results with the same asset group id. The mutate operation will be successful once the remaining errors in the transaction are fixed.", +"The request contains interdependent AssetGroupListingGroupFilter operations that are treated atomically as a single transaction, and one or more of the operations in that transaction failed, which caused the entire transaction, and therefore this mutate operation, to fail. The operations that caused the transaction to fail can be found in the consecutive AssetGroupListingGroupFilter results with the same asset group id. The mutate operation will be successful once the remaining errors in the transaction are fixed.", +"The AddBatchJobOperationsRequest is too large. Split the request into smaller requests. The maximum allowed request size is 10484504 bytes.", +"This error indicates a failed transaction involving interdependent Campaign and CampaignAsset operations that are treated atomically as a single transaction. Because some operations within the transaction failed, the entire set of changes was rejected. Related error details are found in the results for the Campaign and CampaignAssets sharing the same Campaign ID. The transaction will succeed after all associated errors are resolved." +], +"type": "string" +}, +"benchmarksError": { +"description": "The reasons for the Benchmarks error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MAX_QUERY_COMPLEXITY_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The combination of inputs to generate benchmarks is too complex. To reduce complexity, try selecting a more granular benchmarks source, a smaller date range, or a smaller set of products." +], +"type": "string" +}, +"biddingError": { +"description": "The reasons for the bidding errors", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED", +"CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN", +"INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE", +"INVALID_BIDDING_STRATEGY_TYPE", +"INVALID_BID", +"BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE", +"CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY", +"CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY", +"BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE", +"PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER", +"PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA", +"BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS", +"BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS", +"BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION", +"BID_TOO_SMALL", +"BID_TOO_BIG", +"BID_TOO_MANY_FRACTIONAL_DIGITS", +"INVALID_DOMAIN_NAME", +"NOT_COMPATIBLE_WITH_PAYMENT_MODE", +"BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET", +"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED", +"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ATTACHED_TO_THE_SAME_CAMPAIGNS_TO_ALIGN", +"BIDDING_STRATEGY_AND_BUDGET_MUST_BE_REMOVED_TOGETHER", +"CPC_BID_FLOOR_MICROS_GREATER_THAN_CPC_BID_CEILING_MICROS", +"TARGET_ROAS_TOLERANCE_PERCENT_MILLIS_MUST_BE_INTEGER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot transition to new bidding strategy.", +"Cannot attach bidding strategy to campaign.", +"Bidding strategy is not supported or cannot be used as anonymous.", +"The type does not match the named strategy's type.", +"The bid is invalid.", +"Bidding strategy is not available for the account type.", +"Campaign can not be created with given bidding strategy. It can be transitioned to the strategy, once eligible.", +"Cannot target content network only as campaign uses Page One Promoted bidding strategy.", +"Budget Optimizer and Target Spend bidding strategies are not supported for campaigns with AdSchedule targeting.", +"Pay per conversion is not available to all the customer, only few customers on the allow-list can use this.", +"Pay per conversion is not allowed with Target CPA.", +"Cannot set bidding strategy to Manual CPM for search network only campaigns.", +"The bidding strategy is not supported for use in drafts or experiments.", +"Bidding strategy type does not support product type ad group criterion.", +"Bid amount is too small.", +"Bid amount is too big.", +"Bid has too many fractional digit precision.", +"Invalid domain name specified.", +"The field is not compatible with the payment mode.", +"Bidding strategy type is incompatible with shared budget.", +"The attached bidding strategy and budget must be aligned with each other if alignment is specified on either entity.", +"The attached bidding strategy and budget must be attached to the same campaigns to become aligned.", +"The aligned bidding strategy and budget must be removed at the same time.", +"cpc_bid_floor_micros is greater than cpc_bid_ceiling_micros.", +"target_roas_tolerance_percent_millis must be integer." +], +"type": "string" +}, +"biddingStrategyError": { +"description": "An error with a Bidding Strategy mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"CANNOT_CHANGE_BIDDING_STRATEGY_TYPE", +"CANNOT_REMOVE_ASSOCIATED_STRATEGY", +"BIDDING_STRATEGY_NOT_SUPPORTED", +"INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Each bidding strategy must have a unique name.", +"Bidding strategy type is immutable.", +"Only bidding strategies not linked to campaigns, adgroups or adgroup criteria can be removed.", +"The specified bidding strategy is not supported.", +"The bidding strategy is incompatible with the campaign's bidding strategy goal type." +], +"type": "string" +}, +"billingSetupError": { +"description": "The reasons for the billing setup error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_USE_EXISTING_AND_NEW_ACCOUNT", +"CANNOT_REMOVE_STARTED_BILLING_SETUP", +"CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT", +"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS", +"INVALID_PAYMENTS_ACCOUNT", +"BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY", +"INVALID_START_TIME_TYPE", +"THIRD_PARTY_ALREADY_HAS_BILLING", +"BILLING_SETUP_IN_PROGRESS", +"NO_SIGNUP_PERMISSION", +"CHANGE_OF_BILL_TO_IN_PROGRESS", +"PAYMENTS_PROFILE_NOT_FOUND", +"PAYMENTS_ACCOUNT_NOT_FOUND", +"PAYMENTS_PROFILE_INELIGIBLE", +"PAYMENTS_ACCOUNT_INELIGIBLE", +"CUSTOMER_NEEDS_INTERNAL_APPROVAL", +"PAYMENTS_PROFILE_NEEDS_SERVICE_AGREEMENT_ACCEPTANCE", +"PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH", +"FUTURE_START_TIME_PROHIBITED", +"TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot specify both an existing payments account and a new payments account when setting up billing.", +"Cannot cancel an approved billing setup whose start time has passed.", +"Cannot perform a Change of Bill-To (CBT) to the same payments account.", +"Billing setups can only be used by customers with ENABLED or DRAFT status.", +"Billing setups must either include a correctly formatted existing payments account id, or a non-empty new payments account name.", +"Only billable and third-party customers can create billing setups.", +"Billing setup creations can only use NOW for start time type.", +"Billing setups can only be created for a third-party customer if they do not already have a setup.", +"Billing setups cannot be created if there is already a pending billing in progress.", +"Billing setups can only be created by customers who have permission to setup billings. Users can contact a representative for help setting up permissions.", +"Billing setups cannot be created if there is already a future-approved billing.", +"Requested payments profile not found.", +"Requested payments account not found.", +"Billing setup creation failed because the payments profile is ineligible.", +"Billing setup creation failed because the payments account is ineligible.", +"Billing setup creation failed because the payments profile needs internal approval.", +"Billing setup creation failed because the user needs to accept master service agreement on the payments profile.", +"Payments account has different currency code than the current customer and hence cannot be used to setup billing.", +"A start time in the future cannot be used because there is currently no active billing setup for this customer.", +"The payments account has maximum number of billing setups." +], +"type": "string" +}, +"brandGuidelinesMigrationError": { +"description": "The reasons for the brand guidelines migration error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BRAND_GUIDELINES_ALREADY_ENABLED", +"CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN", +"BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED", +"CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED", +"AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED", +"TOO_MANY_ENABLE_OPERATIONS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"This campaign is already enabled for Brand Guidelines.", +"Brand Guidelines can only be enabled for active or suspended campaigns.", +"Maximum of 5 square and landscape logos can be specified for Brand Guidelines.", +"Either auto_populate_brand_assets must be true or brand_assets must be provided, but not both.", +"Either auto_populate_brand_assets can be false or brand_assets can be omitted, but not both.", +"A maximum of 10 enable operations can be executed in a request." +], +"type": "string" +}, +"campaignBudgetError": { +"description": "An error with a Campaign Budget mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BUDGET_CANNOT_BE_SHARED", +"CAMPAIGN_BUDGET_REMOVED", +"CAMPAIGN_BUDGET_IN_USE", +"CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE", +"CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET", +"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED", +"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME", +"CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED", +"CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS", +"DUPLICATE_NAME", +"MONEY_AMOUNT_IN_WRONG_CURRENCY", +"MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC", +"MONEY_AMOUNT_TOO_LARGE", +"NEGATIVE_MONEY_AMOUNT", +"NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT", +"TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY", +"INVALID_PERIOD", +"CANNOT_USE_ACCELERATED_DELIVERY_MODE", +"BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD", +"BUDGET_BELOW_PER_DAY_MINIMUM" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The campaign budget cannot be shared.", +"The requested campaign budget no longer exists.", +"The campaign budget is associated with at least one campaign, and so the campaign budget cannot be removed.", +"Customer is not on the allow-list for this campaign budget period.", +"This field is not mutable on implicitly shared campaign budgets", +"Cannot change explicitly shared campaign budgets back to implicitly shared ones.", +"An implicit campaign budget without a name cannot be changed to explicitly shared campaign budget.", +"Cannot change an implicitly shared campaign budget to an explicitly shared one.", +"Only explicitly shared campaign budgets can be used with multiple campaigns.", +"A campaign budget with this name already exists.", +"A money amount was not in the expected currency.", +"A money amount was less than the minimum CPC for currency.", +"A money amount was greater than the maximum allowed.", +"A money amount was negative.", +"A money amount was not a multiple of a minimum unit.", +"Total budget amount must be unset when BudgetPeriod is DAILY.", +"The period of the budget is not allowed.", +"Cannot use accelerated delivery method on this budget.", +"Budget amount must be unset when BudgetPeriod is CUSTOM.", +"Budget amount or total amount must be above this campaign's per-day minimum. See the error's details.budget_per_day_minimum_error_details field for more information." +], +"type": "string" +}, +"campaignConversionGoalError": { +"description": "The reasons for the campaign conversion goal error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN", +"CANNOT_USE_STORE_SALE_GOAL_FOR_PERFORMANCE_MAX_CAMPAIGN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Campaign is managed by Search Ads 360 but uses Unified Goal.", +"Performance Max campaign cannot use an included store sale campaign goal." +], +"type": "string" +}, +"campaignCriterionError": { +"description": "The reasons for the campaign criterion error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONCRETE_TYPE_REQUIRED", +"INVALID_PLACEMENT_URL", +"CANNOT_EXCLUDE_CRITERIA_TYPE", +"CANNOT_SET_STATUS_FOR_CRITERIA_TYPE", +"CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA", +"CANNOT_TARGET_AND_EXCLUDE", +"TOO_MANY_OPERATIONS", +"OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE", +"SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL", +"CANNOT_ADD_EXISTING_FIELD", +"CANNOT_UPDATE_NEGATIVE_CRITERION", +"CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION", +"INVALID_KEYWORD_THEME_CONSTANT", +"MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME", +"CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN", +"CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN", +"LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN", +"LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN", +"CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN", +"LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN", +"CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN", +"AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN", +"AT_LEAST_ONE_LOCAL_SERVICE_ID_CRITERION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN", +"LOCAL_SERVICE_ID_NOT_FOUND_FOR_CATEGORY", +"CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN", +"CANNOT_REMOVE_ALL_LOCATIONS_DUE_TO_TOO_MANY_COUNTRY_EXCLUSIONS", +"INVALID_VIDEO_LINEUP_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Concrete type of criterion (keyword v.s. placement) is required for CREATE and UPDATE operations.", +"Invalid placement URL.", +"Criteria type can not be excluded for the campaign by the customer. like AOL account type cannot target site type criteria", +"Cannot set the campaign criterion status for this criteria type.", +"Cannot set the campaign criterion status for an excluded criteria.", +"Cannot target and exclude the same criterion.", +"The mutate contained too many operations.", +"This operator cannot be applied to a criterion of this type.", +"The Shopping campaign sales country is not supported for ProductSalesChannel targeting.", +"The existing field can't be updated with CREATE operation. It can be updated with UPDATE operation only.", +"Negative criteria are immutable, so updates are not allowed.", +"Only free form names are allowed for negative Smart campaign keyword theme.", +"Invalid Smart campaign keyword theme constant criterion.", +"A Smart campaign keyword theme constant or free-form Smart campaign keyword theme is required.", +"A Smart campaign may not target proximity and location criteria simultaneously.", +"A Smart campaign may not target multiple proximity criteria.", +"Location is not launched for Local Services Campaigns.", +"A Local Services campaign may not target certain criteria types.", +"Country locations are not supported for Local Services campaign.", +"Location is not within the home country of Local Services campaign.", +"Local Services profile does not exist for a particular Local Services campaign.", +"Local Services campaign must have at least one target location.", +"At least one positive local service ID criterion is required for a Local Services campaign.", +"Local service ID is not found under selected categories in local services campaign setting.", +"For search advertising channel, brand lists can only be applied to exclusive targeting, broad match campaigns for inclusive targeting or PMax generated campaigns.", +"Campaigns that target all countries and territories are limited to a certain number of top-level location exclusions. If removing a criterion causes the campaign to target all countries and territories and the campaign has more top-level location exclusions than the limit allows, then this error is returned.", +"Video lineup ID does not exist." +], +"type": "string" +}, +"campaignCustomizerError": { +"description": "The reasons for the campaign customizer error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version." +], +"type": "string" +}, +"campaignDraftError": { +"description": "The reasons for the campaign draft error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_DRAFT_NAME", +"INVALID_STATUS_TRANSITION_FROM_REMOVED", +"INVALID_STATUS_TRANSITION_FROM_PROMOTED", +"INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED", +"CUSTOMER_CANNOT_CREATE_DRAFT", +"CAMPAIGN_CANNOT_CREATE_DRAFT", +"INVALID_DRAFT_CHANGE", +"INVALID_STATUS_TRANSITION", +"MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED", +"LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A draft with this name already exists for this campaign.", +"The draft is removed and cannot be transitioned to another status.", +"The draft has been promoted and cannot be transitioned to the specified status.", +"The draft has failed to be promoted and cannot be transitioned to the specified status.", +"This customer is not allowed to create drafts.", +"This campaign is not allowed to create drafts.", +"This modification cannot be made on a draft.", +"The draft cannot be transitioned to the specified status from its current status.", +"The campaign has reached the maximum number of drafts that can be created for a campaign throughout its lifetime. No additional drafts can be created for this campaign. Removed drafts also count towards this limit.", +"ListAsyncErrors was called without first promoting the draft." +], +"type": "string" +}, +"campaignError": { +"description": "An error with a Campaign mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_TARGET_CONTENT_NETWORK", +"CANNOT_TARGET_SEARCH_NETWORK", +"CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH", +"CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN", +"CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK", +"CANNOT_TARGET_PARTNER_SEARCH_NETWORK", +"CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY", +"CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS", +"CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN", +"DUPLICATE_CAMPAIGN_NAME", +"INCOMPATIBLE_CAMPAIGN_FIELD", +"INVALID_CAMPAIGN_NAME", +"INVALID_AD_SERVING_OPTIMIZATION_STATUS", +"INVALID_TRACKING_URL", +"CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING", +"MAX_IMPRESSIONS_NOT_IN_RANGE", +"TIME_UNIT_NOT_SUPPORTED", +"INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED", +"BUDGET_CANNOT_BE_SHARED", +"CAMPAIGN_CANNOT_USE_SHARED_BUDGET", +"CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS", +"CAMPAIGN_LABEL_DOES_NOT_EXIST", +"CAMPAIGN_LABEL_ALREADY_EXISTS", +"MISSING_SHOPPING_SETTING", +"INVALID_SHOPPING_SALES_COUNTRY", +"ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE", +"INVALID_ADVERTISING_CHANNEL_SUB_TYPE", +"AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED", +"CANNOT_SET_AD_ROTATION_MODE", +"CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED", +"CANNOT_SET_DATE_TO_PAST", +"MISSING_HOTEL_CUSTOMER_LINK", +"INVALID_HOTEL_CUSTOMER_LINK", +"MISSING_HOTEL_SETTING", +"CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP", +"APP_NOT_FOUND", +"SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE", +"MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS", +"INSUFFICIENT_APP_INSTALLS_COUNT", +"SENSITIVE_CATEGORY_APP", +"HEC_AGREEMENT_REQUIRED", +"NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION", +"INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE", +"CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP", +"APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN", +"INCOMPATIBLE_BUDGET_TYPE", +"LOCAL_SERVICES_DUPLICATE_CATEGORY_BID", +"LOCAL_SERVICES_INVALID_CATEGORY_BID", +"LOCAL_SERVICES_MISSING_CATEGORY_BID", +"INVALID_STATUS_CHANGE", +"MISSING_TRAVEL_CUSTOMER_LINK", +"INVALID_TRAVEL_CUSTOMER_LINK", +"INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE", +"ASSET_SET_NOT_A_HOTEL_PROPERTY_ASSET_SET", +"HOTEL_PROPERTY_ASSET_SET_ONLY_FOR_PERFORMANCE_MAX_FOR_TRAVEL_GOALS", +"AVERAGE_DAILY_SPEND_TOO_HIGH", +"CANNOT_ATTACH_TO_REMOVED_CAMPAIGN_GROUP", +"CANNOT_ATTACH_TO_BIDDING_STRATEGY", +"CANNOT_CHANGE_BUDGET_PERIOD", +"NOT_ENOUGH_CONVERSIONS", +"CANNOT_SET_MORE_THAN_ONE_CONVERSION_ACTION", +"NOT_COMPATIBLE_WITH_BUDGET_TYPE", +"NOT_COMPATIBLE_WITH_UPLOAD_CLICKS_CONVERSION", +"APP_ID_MUST_MATCH_CONVERSION_ACTION_APP_ID", +"CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_NOT_ALLOWED", +"CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_REQUIRED", +"CONVERSION_TRACKING_NOT_ENABLED", +"NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE", +"NOT_COMPATIBLE_WITH_GOOGLE_ATTRIBUTION_CONVERSIONS", +"CONVERSION_LAG_TOO_HIGH", +"NOT_LINKED_ADVERTISING_PARTNER", +"INVALID_NUMBER_OF_ADVERTISING_PARTNER_IDS", +"CANNOT_TARGET_DISPLAY_NETWORK_WITHOUT_YOUTUBE", +"CANNOT_LINK_TO_COMPARISON_SHOPPING_SERVICE_ACCOUNT", +"CANNOT_TARGET_NETWORK_FOR_COMPARISON_SHOPPING_SERVICE_LINKED_ACCOUNTS", +"CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL", +"DYNAMIC_TEXT_ASSET_CANNOT_OPT_OUT_WITH_FINAL_URL_EXPANSION_OPT_IN", +"CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE", +"CANNOT_DISABLE_BROAD_MATCH_WHEN_KEYWORD_CONVERSION_IN_PROCESS", +"CANNOT_DISABLE_BROAD_MATCH_WHEN_TARGETING_BRANDS", +"CANNOT_ENABLE_BROAD_MATCH_FOR_BASE_CAMPAIGN_WITH_PROMOTING_TRIAL", +"CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN", +"REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED", +"REQUIRED_LOGO_ASSET_NOT_LINKED", +"BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED", +"BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN", +"BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED", +"BRAND_GUIDELINES_COLOR_INVALID_FORMAT", +"BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY", +"BRAND_GUIDELINES_UNSUPPORTED_CHANNEL", +"CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS", +"CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES", +"THIRD_PARTY_INTEGRATION_PARTNER_NOT_ALLOWED", +"THIRD_PARTY_INTEGRATION_PARTNER_SHARE_COST_NOT_ALLOWED", +"DUPLICATE_INTERACTION_TYPE", +"INVALID_INTERACTION_TYPE", +"VIDEO_SEQUENCE_ERROR_SEQUENCE_DEFINITION_REQUIRED", +"AI_MAX_MUST_BE_ENABLED", +"DURATION_TOO_LONG_FOR_TOTAL_BUDGET", +"END_DATE_TIME_REQUIRED_FOR_TOTAL_BUDGET" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot target content network.", +"Cannot target search network.", +"Cannot cover search network without google search network.", +"Cannot target Google Search network for a CPM campaign.", +"Must target at least one network.", +"Only some Google partners are allowed to target partner search network.", +"Cannot target content network only as campaign has criteria-level bidding strategy.", +"Cannot modify the start or end date such that the campaign duration would not contain the durations of all runnable trials.", +"Cannot modify dates, budget or status of a trial campaign.", +"Trying to modify the name of an active or paused campaign, where the name is already assigned to another active or paused campaign.", +"Two fields are in conflicting modes.", +"Campaign name cannot be used.", +"Given status is invalid.", +"Error in the campaign level tracking URL.", +"Cannot set both tracking URL template and tracking setting. A user has to clear legacy tracking setting in order to add tracking URL template.", +"The maximum number of impressions for Frequency Cap should be an integer greater than 0.", +"Only the Day, Week and Month time units are supported.", +"Operation not allowed on a campaign whose serving status has ended", +"This budget is exclusively linked to a Campaign that is using experiments so it cannot be shared.", +"Campaigns using experiments cannot use a shared budget.", +"A different budget cannot be assigned to a campaign when there are running or scheduled trials.", +"No link found between the campaign and the label.", +"The label has already been attached to the campaign.", +"A ShoppingSetting was not found when creating a shopping campaign.", +"The country in shopping setting is not an allowed country.", +"The requested channel type is not available according to the customer's account setting.", +"The AdvertisingChannelSubType is not a valid subtype of the primary channel type.", +"At least one conversion must be selected.", +"Setting ad rotation mode for a campaign is not allowed. Ad rotation mode at campaign is deprecated.", +"Trying to change start date on a campaign that has started.", +"Trying to modify a date into the past.", +"Hotel center id in the hotel setting does not match any customer links.", +"Hotel center id in the hotel setting must match an active customer link.", +"Hotel setting was not found when creating a hotel ads campaign.", +"A Campaign cannot use shared campaign budgets and be part of a campaign group.", +"The app ID was not found.", +"Campaign.shopping_setting.enable_local is not supported for the specified campaign type.", +"The merchant does not support the creation of campaigns for Shopping Comparison Listing Ads.", +"The App campaign for engagement cannot be created because there aren't enough installs.", +"The App campaign for engagement cannot be created because the app is sensitive.", +"Customers with Housing, Employment, or Credit ads must accept updated personalized ads policy to continue creating campaigns.", +"The field is not compatible with view through conversion optimization.", +"The field type cannot be excluded because an active campaign-asset link of this type exists.", +"The app pre-registration campaign cannot be created for non-Android applications.", +"The campaign cannot be created since the app is not available for pre-registration in any country.", +"The type of the Budget is not compatible with this Campaign.", +"Category bid list in the local services campaign setting contains multiple bids for the same category ID.", +"Category bid list in the local services campaign setting contains a bid for an invalid category ID.", +"Category bid list in the local services campaign setting is missing a bid for a category ID that must be present.", +"The requested change in status is not supported.", +"Travel Campaign's travel_account_id does not match any customer links.", +"Travel Campaign's travel_account_id matches an existing customer link but the customer link is not active.", +"The asset set type is invalid to be set in excluded_parent_asset_set_types field.", +"Campaign.hotel_property_asset_set must point to an asset set of type HOTEL_PROPERTY.", +"The hotel property asset set can only be set on Performance Max for travel goals campaigns.", +"Customer's average daily spend is too high to enable this feature.", +"Cannot attach the campaign to a deleted campaign group.", +"Cannot attach the campaign to this bidding strategy.", +"A budget with a different period cannot be assigned to the campaign.", +"Customer does not have enough conversions to enable this feature.", +"This campaign type can only have one conversion action.", +"The field is not compatible with the budget type.", +"The feature is incompatible with ConversionActionType.UPLOAD_CLICKS.", +"App campaign setting app ID must match selective optimization conversion action app ID.", +"Selective optimization conversion action with Download category is not allowed.", +"One software download for selective optimization conversion action is required for this campaign conversion action.", +"Conversion tracking is not enabled and is required for this feature.", +"The field is not compatible with the bidding strategy type.", +"Campaign is not compatible with a conversion tracker that has Google attribution enabled.", +"Customer level conversion lag is too high.", +"The advertiser set as an advertising partner is not an actively linked advertiser to this customer.", +"Invalid number of advertising partner IDs.", +"Cannot target the display network without also targeting YouTube.", +"This campaign type cannot be linked to a Comparison Shopping Service account.", +"Standard Shopping campaigns that are linked to a Comparison Shopping Service account cannot target this network.", +"Text asset automation settings can not be modified when there is an active Performance Max optimization automatically created assets experiment. End the experiment to modify these settings.", +"Dynamic text asset cannot be opted out when final URL expansion is opted in.", +"Can not set a campaign level match type.", +"The campaign level keyword match type cannot be switched to non-broad when keyword conversion to broad match is in process.", +"The campaign level keyword match type cannot be switched to non-broad when the campaign has any attached brand list or when a brand hint shared set is attached to the campaign.", +"Cannot set campaign level keyword match type to BROAD if the campaign is a base campaign with an associated trial that is currently promoting.", +"Cannot set campaign level keyword match type to BROAD if the campaign is a trial currently promoting.", +"Performance Max campaigns with Brand Guidelines enabled require at least one business name to be linked as a CampaignAsset. Performance Max campaigns for online sales with a product feed must meet this requirement only when there are assets that are linked to the campaign's asset groups.", +"Performance Max campaigns with Brand Guidelines enabled require at least one square logo to be linked as a CampaignAsset. Performance Max campaigns for online sales with a product feed must meet this requirement only when there are assets that are linked to the campaign's asset groups.", +"This campaign does not support brand targeting overrides. Brand targeting overrides are only supported for Performance Max campaigns that have a product feed.", +"Brand Guideline fields can only be set for campaigns that have Brand Guidelines enabled.", +"When a Brand Guidelines color field is set, both main color and accent color are required.", +"Brand Guidelines colors must be hex colors matching the regular expression '#[0-9a-fA-F]{6}', for example '#abc123'", +"Brand Guidelines font family must be one of the supported Google Fonts. See Campaign.brand_guidelines.predefined_font_family for the list of supported fonts.", +"Brand Guidelines cannot be set for this channel type. Brand Guidelines supports Performance Max campaigns.", +"Brand Guidelines cannot be enabled for Performance Max for travel goals campaigns.", +"This customer is not allowlisted for enabling Brand Guidelines.", +"Using campaign third-party integration partners that are not set at the customer level is not allowed.", +"Campaign third-party integration partners are not allowed to share cost if it is not enabled at the customer level.", +"Each `previous_step_interaction_type` can be used at most once for the same `previous_step_id`", +"Previous step interaction type cannot happen for previous step AdGroup type. For example, `SKIP` interaction type is not valid for non-skippable formats.", +"Campaign video ads sequence is required for `VIDEO_SEQUENCE` advertising channel sub type.", +"This feature is only available for campaigns with AI Max enabled.", +"Duration too long for total budget.", +"Campaigns with total budgets must have end date/time specified." +], +"type": "string" +}, +"campaignExperimentError": { +"description": "The reasons for the campaign experiment error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"INVALID_TRANSITION", +"CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET", +"CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN", +"CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT", +"CUSTOMER_CANNOT_CREATE_EXPERIMENT", +"CAMPAIGN_CANNOT_CREATE_EXPERIMENT", +"EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP", +"EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION", +"CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An active campaign or experiment with this name already exists.", +"Experiment cannot be updated from the current state to the requested target state. For example, an experiment can only graduate if its status is ENABLED.", +"Cannot create an experiment from a campaign using an explicitly shared budget.", +"Cannot create an experiment for a removed base campaign.", +"Cannot create an experiment from a draft, which has a status other than proposed.", +"This customer is not allowed to create an experiment.", +"This campaign is not allowed to create an experiment.", +"Trying to set an experiment duration which overlaps with another experiment.", +"All non-removed experiments must start and end within their campaign's duration.", +"The experiment cannot be modified because its status is in a terminal state, such as REMOVED." +], +"type": "string" +}, +"campaignFeedError": { +"description": "The reasons for the campaign feed error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"CANNOT_CREATE_FOR_REMOVED_FEED", +"CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED", +"CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED", +"INVALID_PLACEHOLDER_TYPE", +"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", +"NO_EXISTING_LOCATION_CUSTOMER_FEED", +"LEGACY_FEED_TYPE_READ_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An active feed already exists for this campaign and placeholder type.", +"The specified feed is removed.", +"The CampaignFeed already exists. UPDATE should be used to modify the existing CampaignFeed.", +"Cannot update removed campaign feed.", +"Invalid placeholder type.", +"Feed mapping for this placeholder type does not exist.", +"Location CampaignFeeds cannot be created unless there is a location CustomerFeed for the specified feed.", +"Feed is read only." +], +"type": "string" +}, +"campaignGoalConfigError": { +"description": "The reasons for the campaign goal config error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOAL_NOT_FOUND", +"CAMPAIGN_NOT_FOUND", +"HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT", +"HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE", +"CUSTOMER_LIFECYCLE_OPTIMIZATION_CAMPAIGN_TYPE_NOT_SUPPORTED", +"CUSTOMER_NOT_ALLOWLISTED_FOR_RETENTION_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Goal is either removed or does not exist for this account.", +"Campaign is either removed or does not exist.", +"If high lifetime value is present then value should be present.", +"High lifetime value should be greater than value.", +"When using customer lifecycle optimization goal, campaign type should be supported.", +"Customer must be allowlisted to use retention only goal." +], +"type": "string" +}, +"campaignLifecycleGoalError": { +"description": "The reasons for the campaign lifecycle goal error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_MISSING", +"INVALID_CAMPAIGN", +"CUSTOMER_ACQUISITION_INVALID_OPTIMIZATION_MODE", +"INCOMPATIBLE_BIDDING_STRATEGY", +"MISSING_PURCHASE_GOAL", +"CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE", +"CUSTOMER_ACQUISITION_UNSUPPORTED_CAMPAIGN_TYPE", +"CUSTOMER_ACQUISITION_INVALID_VALUE", +"CUSTOMER_ACQUISITION_VALUE_MISSING", +"CUSTOMER_ACQUISITION_MISSING_EXISTING_CUSTOMER_DEFINITION", +"CUSTOMER_ACQUISITION_MISSING_HIGH_VALUE_CUSTOMER_DEFINITION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Campaign is not specified.", +"Cannot find the specified campaign.", +"Optimization mode is unspecified or invalid.", +"The configured lifecycle goal setting is not compatible with the bidding strategy the campaign is using. Specifically, BID_HIGHER_FOR_NEW_CUSTOMER requires conversion-value based bidding strategy type such as MAXIMIZE_CONVERSION_VALUE.", +"Lifecycle goals require the campaign to optimize towards purchase conversion goal.", +"CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value is invalid or not allowed, such as when the specified value is smaller than 0.01, when the optimization mode is not BID_HIGHER_FOR_NEW_CUSTOMER, or when CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value is specified smaller than/without CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value.", +"Customer acquisition goal is not supported on this campaign type.", +"CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value is invalid or not allowed, such as when the specified value is smaller than 0.01, or when the optimization mode is not BID_HIGHER_FOR_NEW_CUSTOMER.", +"To use BID_HIGHER_FOR_NEW_CUSTOMER mode, either CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value or CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must have been specified. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used.", +"In order for a campaign to adopt the customer acquisition goal, CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists must include active and accessible userlist with more than 1000 members in the Search/Youtube network. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used. Also make sure that the manager account shares audience segments with sub-accounts with continuous audience sharing.", +"In order for a campaign to adopt the customer acquisition goal with high lifetime value optimization, CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists must include active and accessible userlist with more than 1000 members in the Search/Youtube network. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used. Also make sure that the manager account shares audience segments with sub-accounts using continuous audience sharing." +], +"type": "string" +}, +"campaignSharedSetError": { +"description": "The reasons for the campaign shared set error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SHARED_SET_ACCESS_DENIED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The shared set belongs to another customer and permission isn't granted." +], +"type": "string" +}, +"changeEventError": { +"description": "The reasons for the change event error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"START_DATE_TOO_OLD", +"CHANGE_DATE_RANGE_INFINITE", +"CHANGE_DATE_RANGE_NEGATIVE", +"LIMIT_NOT_SPECIFIED", +"INVALID_LIMIT_CLAUSE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The requested start date is too old. It cannot be older than 30 days.", +"The change_event search request must specify a finite range filter on change_date_time.", +"The change event search request has specified invalid date time filters that can never logically produce any valid results (for example, start time after end time).", +"The change_event search request must specify a LIMIT.", +"The LIMIT specified by change_event request should be less than or equal to 10K." +], +"type": "string" +}, +"changeStatusError": { +"description": "The reasons for the change status error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"START_DATE_TOO_OLD", +"CHANGE_DATE_RANGE_INFINITE", +"CHANGE_DATE_RANGE_NEGATIVE", +"LIMIT_NOT_SPECIFIED", +"INVALID_LIMIT_CLAUSE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The requested start date is too old.", +"The change_status search request must specify a finite range filter on last_change_date_time.", +"The change status search request has specified invalid date time filters that can never logically produce any valid results (for example, start time after end time).", +"The change_status search request must specify a LIMIT.", +"The LIMIT specified by change_status request should be less than or equal to 10K." +], +"type": "string" +}, +"clickViewError": { +"description": "The reasons for the click view error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXPECTED_FILTER_ON_A_SINGLE_DAY", +"DATE_TOO_OLD" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Missing filter on a single day.", +"The requested date is too old." +], +"type": "string" +}, +"collectionSizeError": { +"description": "The reasons for the collection size error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_FEW", +"TOO_MANY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Too few.", +"Too many." +], +"type": "string" +}, +"contextError": { +"description": "The reasons for the context error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPERATION_NOT_PERMITTED_FOR_CONTEXT", +"OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The operation is not allowed for the given context.", +"The operation is not allowed for removed resources." +], +"type": "string" +}, +"conversionActionError": { +"description": "The reasons for the conversion action error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"DUPLICATE_APP_ID", +"TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD", +"BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION", +"DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED", +"DATA_DRIVEN_MODEL_EXPIRED", +"DATA_DRIVEN_MODEL_STALE", +"DATA_DRIVEN_MODEL_UNKNOWN", +"CREATION_NOT_SUPPORTED", +"UPDATE_NOT_SUPPORTED", +"CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified conversion action name already exists.", +"Another conversion action with the specified app id already exists.", +"Android first open action conflicts with Google play codeless download action tracking the same app.", +"Android first open action conflicts with Google play codeless download action tracking the same app.", +"The attribution model cannot be set to DATA_DRIVEN because a data-driven model has never been generated.", +"The attribution model cannot be set to DATA_DRIVEN because the data-driven model is expired.", +"The attribution model cannot be set to DATA_DRIVEN because the data-driven model is stale.", +"The attribution model cannot be set to DATA_DRIVEN because the data-driven model is unavailable or the conversion action was newly added.", +"Creation of this conversion action type isn't supported by Google Ads API.", +"Update of this conversion action isn't supported by Google Ads API.", +"Rule-based attribution models are deprecated and not allowed to be set by conversion action." +], +"type": "string" +}, +"conversionAdjustmentUploadError": { +"description": "The reasons for the conversion adjustment upload error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_RECENT_CONVERSION_ACTION", +"CONVERSION_ALREADY_RETRACTED", +"CONVERSION_NOT_FOUND", +"CONVERSION_EXPIRED", +"ADJUSTMENT_PRECEDES_CONVERSION", +"MORE_RECENT_RESTATEMENT_FOUND", +"TOO_RECENT_CONVERSION", +"CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE", +"TOO_MANY_ADJUSTMENTS_IN_REQUEST", +"TOO_MANY_ADJUSTMENTS", +"RESTATEMENT_ALREADY_EXISTS", +"DUPLICATE_ADJUSTMENT_IN_REQUEST", +"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", +"CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT", +"INVALID_USER_IDENTIFIER", +"UNSUPPORTED_USER_IDENTIFIER", +"GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET", +"CONVERSION_ALREADY_ENHANCED", +"DUPLICATE_ENHANCEMENT_IN_REQUEST", +"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT", +"MISSING_ORDER_ID_FOR_WEBPAGE", +"ORDER_ID_CONTAINS_PII", +"INVALID_JOB_ID", +"NO_CONVERSION_ACTION_FOUND", +"INVALID_CONVERSION_ACTION_TYPE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Can't import events to a conversion action that was just created. Try importing again in 6 hours.", +"The conversion was already retracted. This adjustment was not processed.", +"The conversion for this conversion action and conversion identifier can't be found. Make sure your conversion identifiers are associated with the correct conversion action and try again.", +"Adjustment can't be made to a conversion that occurred more than 54 days ago.", +"Adjustment has an `adjustment_date_time` that occurred before the associated conversion. Make sure your `adjustment_date_time` is correct and try again.", +"More recent adjustment `adjustment_date_time` has already been reported for the associated conversion. Make sure your adjustment `adjustment_date_time` is correct and try again.", +"Adjustment can't be recorded because the conversion occurred too recently. Try adjusting a conversion that occurred at least 24 hours ago.", +"Can't make an adjustment to a conversion that is set up to use the default value. Check your conversion action value setting and try again.", +"Try uploading fewer than 2001 adjustments in a single API request.", +"The conversion has already been adjusted the maximum number of times. Make sure you're only making necessary adjustment to existing conversion.", +"The conversion has prior a restatement with the same `adjustment_date_time`. Make sure your adjustment has the correct and unique `adjustment_date_time` and try again.", +"Imported adjustment has a duplicate conversion adjustment with same `adjustment_date_time`. Make sure your adjustment has the correct `adjustment_date_time` and try again.", +"Make sure you agree to the customer data processing terms in conversion settings and try again.", +"Can't use enhanced conversions with the specified conversion action.", +"Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", +"Use user provided data such as emails or phone numbers hashed using SHA-256 and try again.", +"Cannot set both gclid_date_time_pair and order_id. Use only 1 type and try again.", +"Conversion already has enhancements with the same Order ID and conversion action. Make sure your data is correctly configured and try again.", +"Multiple enhancements have the same conversion action and Order ID. Make sure your data is correctly configured and try again.", +"Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", +"Adjustment for website conversion requires Order ID (ie, transaction ID). Make sure your website tags capture Order IDs and you send the same Order IDs with your adjustment.", +"Can't use adjustment with Order IDs containing personally-identifiable information (PII).", +"The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", +"The conversion action specified in the adjustment request cannot be found. Make sure it's available in this account.", +"The type of the conversion action specified in the adjustment request isn't supported for uploading adjustments. A conversion adjustment of type `RETRACTION` or `RESTATEMENT` is only permitted for conversion actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion adjustment of type `ENHANCEMENT` is only permitted for conversion actions of type `WEBPAGE`." +], +"type": "string" +}, +"conversionCustomVariableError": { +"description": "The reasons for the conversion custom variable error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_NAME", +"DUPLICATE_TAG", +"RESERVED_TAG" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A conversion custom variable with the specified name already exists.", +"A conversion custom variable with the specified tag already exists.", +"A conversion custom variable with the specified tag is reserved for other uses." +], +"type": "string" +}, +"conversionGoalCampaignConfigError": { +"description": "The reasons for the conversion goal campaign config error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN", +"CUSTOM_GOAL_DOES_NOT_BELONG_TO_GOOGLE_ADS_CONVERSION_CUSTOMER", +"CAMPAIGN_CANNOT_USE_UNIFIED_GOALS", +"EMPTY_CONVERSION_GOALS", +"STORE_SALE_STORE_VISIT_CANNOT_BE_BOTH_INCLUDED", +"PERFORMANCE_MAX_CAMPAIGN_CANNOT_USE_CUSTOM_GOAL_WITH_STORE_SALES" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Campaign is managed by Search Ads 360 but uses Unified Goal.", +"The campaign is using a custom goal that does not belong to its Google Ads conversion customer (conversion tracking customer).", +"The campaign is not allowed to use unified goals.", +"The campaign is using campaign override goals but has no goals configured.", +"STORE_SALE and STORE_VISIT conversion types cannot be both included in campaign level goal.", +"Performance Max campaign is not allowed to use custom goal with store sales conversion type." +], +"type": "string" +}, +"conversionUploadError": { +"description": "The reasons for the conversion upload error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_MANY_CONVERSIONS_IN_REQUEST", +"UNPARSEABLE_GCLID", +"CONVERSION_PRECEDES_EVENT", +"EXPIRED_EVENT", +"TOO_RECENT_EVENT", +"EVENT_NOT_FOUND", +"UNAUTHORIZED_CUSTOMER", +"TOO_RECENT_CONVERSION_ACTION", +"CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME", +"EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"ORDER_ID_ALREADY_IN_USE", +"DUPLICATE_ORDER_ID", +"TOO_RECENT_CALL", +"EXPIRED_CALL", +"CALL_NOT_FOUND", +"CONVERSION_PRECEDES_CALL", +"CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME", +"UNPARSEABLE_CALLERS_PHONE_NUMBER", +"CLICK_CONVERSION_ALREADY_EXISTS", +"CALL_CONVERSION_ALREADY_EXISTS", +"DUPLICATE_CLICK_CONVERSION_IN_REQUEST", +"DUPLICATE_CALL_CONVERSION_IN_REQUEST", +"CUSTOM_VARIABLE_NOT_ENABLED", +"CUSTOM_VARIABLE_VALUE_CONTAINS_PII", +"INVALID_CUSTOMER_FOR_CLICK", +"INVALID_CUSTOMER_FOR_CALL", +"CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY", +"CLICK_NOT_FOUND", +"INVALID_USER_IDENTIFIER", +"EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER", +"UNSUPPORTED_USER_IDENTIFIER", +"GBRAID_WBRAID_BOTH_SET", +"UNPARSEABLE_WBRAID", +"UNPARSEABLE_GBRAID", +"ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", +"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS", +"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", +"ORDER_ID_CONTAINS_PII", +"CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS", +"INVALID_JOB_ID", +"NO_CONVERSION_ACTION_FOUND", +"INVALID_CONVERSION_ACTION_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"Used for return value only. Represents value unknown in this version.", +"Upload fewer than 2001 events in a single request.", +"The imported gclid could not be decoded.", +"The imported event has a `conversion_date_time` that precedes the click. Make sure your `conversion_date_time` is correct and try again.", +"The imported event can't be recorded because its click occurred before this conversion's click-through window. Make sure you import the most recent data.", +"The click associated with the given identifier or iOS URL parameter occurred less than 6 hours ago. Retry after 6 hours have passed.", +"The imported event could not be attributed to a click. This may be because the event did not come from a Google Ads campaign.", +"The click ID or call is associated with an Ads account you don't have access to. Make sure you import conversions for accounts managed by your manager account.", +"Can't import events to a conversion action that was just created. Try importing again in 6 hours.", +"At the time of the click, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", +"The imported event includes external attribution data, but the conversion action isn't set up to use an external attribution model. Make sure the conversion action is correctly configured and try again.", +"The conversion action is set up to use an external attribution model, but the imported event is missing data. Make sure imported events include the external attribution credit and all necessary fields.", +"Order IDs can't be used for a conversion measured with an external attribution model. Make sure the conversion is correctly configured and imported events include only necessary data and try again.", +"The imported event includes an order ID that was previously recorded, so the event was not processed.", +"Imported events include multiple conversions with the same order ID and were not processed. Make sure order IDs are unique and try again.", +"Can't import calls that occurred less than 6 hours ago. Try uploading again in 6 hours.", +"The call can't be recorded because it occurred before this conversion action's lookback window. Make sure your import is configured to get the most recent data.", +"The call or click leading to the imported event can't be found. Make sure your data source is set up to include correct identifiers.", +"The call has a `conversion_date_time` that precedes the associated click. Make sure your `conversion_date_time` is correct.", +"At the time of the imported call, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", +"Make sure phone numbers are formatted as E.164 (+16502531234), International (+64 3-331 6005), or US national number (6502531234).", +"The imported event has the same click and `conversion_date_time` as an existing conversion. Use a unique `conversion_date_time` or order ID for each unique event and try again.", +"The imported call has the same `conversion_date_time` as an existing conversion. Make sure your `conversion_date_time` correctly configured and try again.", +"Multiple events have the same click and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", +"Multiple events have the same call and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", +"Enable the custom variable in your conversion settings and try again.", +"Can't import events with custom variables containing personally-identifiable information (PII). Remove these variables and try again.", +"The click from the imported event is associated with a different Google Ads account. Make sure you're importing to the correct account.", +"The click from the call is associated with a different Google Ads account. Make sure you're importing to the correct account. Query conversion_tracking_setting.google_ads_conversion_customer on Customer to identify the correct account.", +"The connversion can't be imported because the conversion source didn't comply with Apple App Transparency Tracking (ATT) policies or because the customer didn't consent to tracking.", +"The email address or phone number for this event can't be matched to a click. This may be because it didn't come from a Google Ads campaign, and you can safely ignore this warning. If this includes more imported events than is expected, you may need to check your setup.", +"Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", +"User provided data can't be used with external attribution models. Use a different attribution model or omit user identifiers and try again.", +"The provided user identifiers are not supported. Use only hashed email or phone number and try again.", +"Can't use both gbraid and wbraid parameters. Use only 1 and try again.", +"Can't parse event import data. Check if your wbraid parameter was not modified and try again.", +"Can't parse event import data. Check if your gbraid parameter was not modified and try again.", +"Conversion actions that use one-per-click counting can't be used with gbraid or wbraid parameters.", +"Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", +"Make sure you agree to the customer data processing terms in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.accepted_customer_data_terms on Customer.", +"Can't import events with order IDs containing personally-identifiable information (PII).", +"Make sure you've turned on enhanced conversions for leads in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.enhanced_conversions_for_leads_enabled on Customer.", +"The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", +"The conversion action specified in the upload request cannot be found. Make sure it's available in this account.", +"The conversion action specified in the upload request isn't set up for uploading conversions." +], +"type": "string" +}, +"conversionValueRuleError": { +"description": "The reasons for the conversion value rule error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_GEO_TARGET_CONSTANT", +"CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET", +"CONFLICTING_CONDITIONS", +"CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET", +"CONDITION_NOT_ALLOWED", +"FIELD_MUST_BE_UNSET", +"CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED", +"UNTARGETABLE_GEO_TARGET", +"INVALID_AUDIENCE_USER_LIST", +"INACCESSIBLE_USER_LIST", +"INVALID_AUDIENCE_USER_INTEREST", +"CANNOT_ADD_RULE_WITH_STATUS_REMOVED", +"NO_DAY_OF_WEEK_SELECTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The value rule's geo location condition contains invalid geo target constant(s), for example, there's no matching geo target.", +"The value rule's geo location condition contains conflicting included and excluded geo targets. Specifically, some of the excluded geo target(s) are the same as or contain some of the included geo target(s). For example, the geo location condition includes California but excludes U.S.", +"User specified conflicting conditions for two value rules in the same value rule set.", +"The value rule cannot be removed because it's still included in some value rule set.", +"The value rule contains a condition that's not allowed by the value rule set including this value rule.", +"The value rule contains a field that should be unset.", +"Pausing the value rule requires pausing the value rule set because the value rule is (one of) the last enabled in the value rule set.", +"The value rule's geo location condition contains untargetable geo target constant(s).", +"The value rule's audience condition contains invalid user list(s). In another word, there's no matching user list.", +"The value rule's audience condition contains inaccessible user list(s).", +"The value rule's audience condition contains invalid user_interest(s). This might be because there is no matching user interest, or the user interest is not visible.", +"When a value rule is created, it shouldn't have REMOVED status.", +"The value rule's itinerary condition contains invalid travel start day, it contains no day of week." +], +"type": "string" +}, +"conversionValueRuleSetError": { +"description": "The reasons for the conversion value rule set error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONFLICTING_VALUE_RULE_CONDITIONS", +"INVALID_VALUE_RULE", +"DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND", +"CONDITION_TYPE_NOT_ALLOWED", +"DUPLICATE_DIMENSIONS", +"INVALID_CAMPAIGN_ID", +"CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED", +"SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED", +"VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE", +"INELIGIBLE_CONVERSION_ACTION_CATEGORIES", +"DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS", +"DIMENSION_NO_CONDITION_NOT_ALLOWED", +"UNSUPPORTED_CONVERSION_ACTION_CATEGORIES", +"DIMENSION_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Two value rules in this value rule set contain conflicting conditions.", +"This value rule set includes a value rule that cannot be found, has been permanently removed or belongs to a different customer.", +"An error that's thrown when a mutate operation is trying to replace/remove some existing elements in the dimensions field. In other words, ADD op is always fine and UPDATE op is fine if it's only appending new elements into dimensions list.", +"An error that's thrown when a mutate is adding new value rule(s) into a value rule set and the added value rule(s) include conditions that are not specified in the dimensions of the value rule set.", +"The dimensions field contains duplicate elements.", +"This value rule set is attached to an invalid campaign id. Either a campaign with this campaign id doesn't exist or it belongs to a different customer.", +"When a mutate request tries to pause a value rule set, the enabled value rules in this set must be paused in the same command, or this error will be thrown.", +"When a mutate request tries to pause all the value rules in a value rule set, the value rule set must be paused, or this error will be thrown.", +"This value rule set is attached to a campaign that does not support value rules. Currently, campaign level value rule sets can only be created on Search, or Display campaigns.", +"To add a value rule set that applies on Store Visits/Store Sales conversion action categories, the customer must have valid Store Visits/ Store Sales conversion actions.", +"If NO_CONDITION is used as a dimension of a value rule set, it must be the only dimension.", +"Dimension NO_CONDITION can only be used by Store Visits/Store Sales value rule set.", +"Value rule sets defined on the specified conversion action categories are not supported. The list of conversion action categories must be an empty list, only STORE_VISIT, or only STORE_SALE.", +"Dimension ITINERARY can only be used on campaigns with an advertising channel type of PERFORMANCE_MAX or HOTEL." +], +"type": "string" +}, +"countryCodeError": { +"description": "The reasons for the country code error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_COUNTRY_CODE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The country code is invalid." +], +"type": "string" +}, +"criterionError": { +"description": "The reasons for the criterion error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONCRETE_TYPE_REQUIRED", +"INVALID_EXCLUDED_CATEGORY", +"INVALID_KEYWORD_TEXT", +"KEYWORD_TEXT_TOO_LONG", +"KEYWORD_HAS_TOO_MANY_WORDS", +"KEYWORD_HAS_INVALID_CHARS", +"INVALID_PLACEMENT_URL", +"INVALID_USER_LIST", +"INVALID_USER_INTEREST", +"INVALID_FORMAT_FOR_PLACEMENT_URL", +"PLACEMENT_URL_IS_TOO_LONG", +"PLACEMENT_URL_HAS_ILLEGAL_CHAR", +"PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE", +"PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION", +"INVALID_TOPIC_PATH", +"INVALID_YOUTUBE_CHANNEL_ID", +"INVALID_YOUTUBE_VIDEO_ID", +"YOUTUBE_VERTICAL_CHANNEL_DEPRECATED", +"YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED", +"YOUTUBE_URL_UNSUPPORTED", +"CANNOT_EXCLUDE_CRITERIA_TYPE", +"CANNOT_ADD_CRITERIA_TYPE", +"CANNOT_EXCLUDE_SIMILAR_USER_LIST", +"CANNOT_ADD_CLOSED_USER_LIST", +"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS", +"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS", +"CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS", +"CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS", +"CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS", +"CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE", +"INVALID_COMBINED_AUDIENCE", +"INVALID_CUSTOM_AFFINITY", +"INVALID_CUSTOM_INTENT", +"INVALID_CUSTOM_AUDIENCE", +"INVALID_IP_ADDRESS", +"INVALID_IP_FORMAT", +"INVALID_MOBILE_APP", +"INVALID_MOBILE_APP_CATEGORY", +"INVALID_CRITERION_ID", +"CANNOT_TARGET_CRITERION", +"CANNOT_TARGET_OBSOLETE_CRITERION", +"CRITERION_ID_AND_TYPE_MISMATCH", +"INVALID_PROXIMITY_RADIUS", +"INVALID_PROXIMITY_RADIUS_UNITS", +"INVALID_STREETADDRESS_LENGTH", +"INVALID_CITYNAME_LENGTH", +"INVALID_REGIONCODE_LENGTH", +"INVALID_REGIONNAME_LENGTH", +"INVALID_POSTALCODE_LENGTH", +"INVALID_COUNTRY_CODE", +"INVALID_LATITUDE", +"INVALID_LONGITUDE", +"PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL", +"INVALID_PROXIMITY_ADDRESS", +"INVALID_USER_DOMAIN_NAME", +"CRITERION_PARAMETER_TOO_LONG", +"AD_SCHEDULE_TIME_INTERVALS_OVERLAP", +"AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS", +"AD_SCHEDULE_INVALID_TIME_INTERVAL", +"AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT", +"AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS", +"CANNOT_BID_MODIFY_CRITERION_TYPE", +"CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT", +"CANNOT_BID_MODIFY_NEGATIVE_CRITERION", +"BID_MODIFIER_ALREADY_EXISTS", +"FEED_ID_NOT_ALLOWED", +"ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE", +"CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY", +"CANNOT_EXCLUDE_CRITERION", +"CANNOT_REMOVE_CRITERION", +"INVALID_PRODUCT_BIDDING_CATEGORY", +"MISSING_SHOPPING_SETTING", +"INVALID_MATCHING_FUNCTION", +"LOCATION_FILTER_NOT_ALLOWED", +"INVALID_FEED_FOR_LOCATION_FILTER", +"LOCATION_FILTER_INVALID", +"CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS", +"CANNOT_SET_BOTH_ASSET_SET_AND_FEED", +"CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER", +"CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER", +"CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS", +"CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS", +"INVALID_LOCATION_GROUP_ASSET_SET", +"INVALID_LOCATION_GROUP_RADIUS", +"INVALID_LOCATION_GROUP_RADIUS_UNIT", +"CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP", +"HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION", +"HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION", +"FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING", +"INVALID_WEBPAGE_CONDITION", +"INVALID_WEBPAGE_CONDITION_URL", +"WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY", +"WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL", +"WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS", +"WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING", +"WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX", +"WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX", +"WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED", +"WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION", +"WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP", +"CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS", +"CANNOT_TARGET_PLACEMENTS_FOR_SEARCH_CAMPAIGNS", +"LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES", +"LISTING_SCOPE_TOO_MANY_IN_OPERATORS", +"LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED", +"DUPLICATE_LISTING_DIMENSION_TYPE", +"DUPLICATE_LISTING_DIMENSION_VALUE", +"CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION", +"LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION", +"INVALID_LISTING_GROUP_HIERARCHY", +"LISTING_GROUP_TREE_WAS_INVALID_BEFORE_MUTATION", +"LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN", +"LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE", +"LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS", +"LISTING_GROUP_ALREADY_EXISTS", +"LISTING_GROUP_DOES_NOT_EXIST", +"LISTING_GROUP_CANNOT_BE_REMOVED", +"INVALID_LISTING_GROUP_TYPE", +"LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID", +"LISTING_SCOPE_TOO_LONG", +"LISTING_SCOPE_TOO_MANY_DIMENSIONS", +"LISTING_GROUP_TOO_LONG", +"LISTING_GROUP_TREE_TOO_DEEP", +"INVALID_LISTING_DIMENSION", +"INVALID_LISTING_DIMENSION_TYPE", +"ADVERTISER_NOT_ON_ALLOWLIST_FOR_COMBINED_AUDIENCE_ON_DISPLAY", +"CANNOT_TARGET_REMOVED_COMBINED_AUDIENCE", +"INVALID_COMBINED_AUDIENCE_ID", +"CANNOT_TARGET_REMOVED_CUSTOM_AUDIENCE", +"HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION", +"HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY", +"HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE", +"HOTEL_CHECK_IN_DATE_RANGE_REVERSED", +"BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED", +"ONE_AUDIENCE_ALLOWED_PER_ASSET_GROUP", +"AUDIENCE_NOT_ELIGIBLE_FOR_CAMPAIGN_TYPE", +"AUDIENCE_NOT_ALLOWED_TO_ATTACH_WHEN_AUDIENCE_GROUPED_SET_TO_FALSE", +"CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST", +"NEGATIVE_KEYWORD_SHARED_SET_DOES_NOT_EXIST", +"CANNOT_ADD_REMOVED_NEGATIVE_KEYWORD_SHARED_SET", +"CANNOT_HAVE_MULTIPLE_NEGATIVE_KEYWORD_LIST_PER_ACCOUNT", +"CUSTOMER_CANNOT_ADD_CRITERION_OF_THIS_TYPE", +"CANNOT_TARGET_SIMILAR_USER_LIST", +"CANNOT_ADD_AUDIENCE_SEGMENT_CRITERION_WHEN_AUDIENCE_GROUPED_IS_SET", +"ONE_AUDIENCE_ALLOWED_PER_AD_GROUP", +"INVALID_DETAILED_DEMOGRAPHIC", +"CANNOT_RECOGNIZE_BRAND", +"BRAND_SHARED_SET_DOES_NOT_EXIST", +"CANNOT_ADD_REMOVED_BRAND_SHARED_SET", +"ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE", +"LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN", +"ONLY_INCLUSION_BRAND_LIST_ALLOWED_FOR_AD_GROUPS", +"CANNOT_ADD_REMOVED_PLACEMENT_LIST_SHARED_SET", +"PLACEMENT_LIST_SHARED_SET_DOES_NOT_EXIST", +"AI_MAX_MUST_BE_ENABLED", +"NOT_AVAILABLE_FOR_AI_MAX_CAMPAIGNS", +"MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION", +"INVALID_CAMPAIGN_TYPE_FOR_THIRD_PARTY_PARTNER_DATA_LIST", +"CANNOT_ADD_USER_LIST_PENDING_PRIVACY_REVIEW", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST", +"CANNOT_ADD_REMOVED_VERTICAL_ADS_ITEM_GROUP_RULE_LIST_SHARED_SET", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX", +"VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Concrete type of criterion is required for CREATE and UPDATE operations.", +"The category requested for exclusion is invalid.", +"Invalid keyword criteria text.", +"Keyword text should be less than 80 chars.", +"Keyword text has too many words.", +"Keyword text has invalid characters or symbols.", +"Invalid placement URL.", +"Invalid user list criterion.", +"Invalid user interest criterion.", +"Placement URL has wrong format.", +"Placement URL is too long.", +"Indicates the URL contains an illegal character.", +"Indicates the URL contains multiple comma separated URLs.", +"Indicates the domain is blocked.", +"Invalid topic path.", +"The YouTube Channel Id is invalid.", +"The YouTube Video Id is invalid.", +"Indicates the placement is a YouTube vertical channel, which is no longer supported.", +"Indicates the placement is a YouTube demographic channel, which is no longer supported.", +"YouTube urls are not supported in Placement criterion. Use YouTubeChannel and YouTubeVideo criterion instead.", +"Criteria type can not be excluded by the customer, like AOL account type cannot target site type criteria.", +"Criteria type can not be targeted.", +"Not allowed to exclude similar user list.", +"Not allowed to target a closed user list.", +"Not allowed to add display only UserLists to search only campaigns.", +"Not allowed to add display only UserLists to search plus campaigns.", +"Not allowed to add display only UserLists to shopping campaigns.", +"Not allowed to add User interests to search only campaigns.", +"Not allowed to set bids for this criterion type in search campaigns", +"Final URLs, URL Templates and CustomParameters cannot be set for the criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and MobileAppCategory in search campaigns and shopping campaigns.", +"Invalid combined audience criterion.", +"Invalid custom affinity criterion.", +"Invalid custom intent criterion.", +"Invalid custom audience criterion.", +"IP address is not valid.", +"IP format is not valid.", +"Mobile application is not valid.", +"Mobile application category is not valid.", +"The CriterionId does not exist or is of the incorrect type.", +"The Criterion is not allowed to be targeted.", +"The criterion is not allowed to be targeted as it is deprecated.", +"The CriterionId is not valid for the type.", +"Distance for the radius for the proximity criterion is invalid.", +"Units for the distance for the radius for the proximity criterion is invalid.", +"Street address in the address is not valid.", +"City name in the address is not valid.", +"Region code in the address is not valid.", +"Region name in the address is not valid.", +"Postal code in the address is not valid.", +"Country code in the address is not valid.", +"Latitude for the GeoPoint is not valid.", +"Longitude for the GeoPoint is not valid.", +"The Proximity input is not valid. Both address and geoPoint cannot be null.", +"The Proximity address cannot be geocoded to a valid lat/long.", +"User domain name is not valid.", +"Length of serialized criterion parameter exceeded size limit.", +"Time interval in the AdSchedule overlaps with another AdSchedule.", +"AdSchedule time interval cannot span multiple days.", +"AdSchedule time interval specified is invalid, endTime cannot be earlier than startTime.", +"The number of AdSchedule entries in a day exceeds the limit.", +"CriteriaId does not match the interval of the AdSchedule specified.", +"Cannot set bid modifier for this criterion type.", +"Cannot bid modify criterion, since it is opted out of the campaign.", +"Cannot set bid modifier for a negative criterion.", +"Bid Modifier already exists. Use SET operation to update.", +"Feed Id is not allowed in these Location Groups.", +"The account may not use the requested criteria type. For example, some accounts are restricted to keywords only.", +"The requested criteria type cannot be used with campaign or ad group bidding strategy.", +"The Criterion is not allowed to be excluded.", +"The criterion is not allowed to be removed. For example, we cannot remove any of the device criterion.", +"Bidding categories do not form a valid path in the Shopping bidding category taxonomy.", +"ShoppingSetting must be added to the campaign before ProductScope criteria can be added.", +"Matching function is invalid.", +"Filter parameters not allowed for location groups targeting.", +"Feed not found, or the feed is not an enabled location feed.", +"Given location filter parameter is invalid for location groups targeting.", +"Cannot set geo target constants and feed item sets at the same time.", +"Cannot set both assetset and feed at the same time.", +"Cannot set feed or feed item sets for Customer.", +"Cannot set AssetSet criteria for customer.", +"Cannot set geo target constants and asset sets at the same time.", +"Cannot set asset sets and feed item sets at the same time.", +"The location group asset set id is invalid", +"The location group radius is in the range but not at the valid increment.", +"The location group radius unit is invalid.", +"Criteria type cannot be associated with a campaign and its ad group(s) simultaneously.", +"Range represented by hotel length of stay's min nights and max nights overlaps with an existing criterion.", +"Range represented by hotel advance booking window's min days and max days overlaps with an existing criterion.", +"The field is not allowed to be set when the negative field is set to true, for example, we don't allow bids in negative ad group or campaign criteria.", +"The combination of operand and operator in webpage condition is invalid.", +"The URL of webpage condition is invalid.", +"The URL of webpage condition cannot be empty or contain white space.", +"The URL of webpage condition contains an unsupported protocol.", +"The URL of webpage condition cannot be an IP address.", +"The domain of the URL is not consistent with the domain in campaign setting.", +"The URL of webpage condition cannot be a public suffix itself.", +"The URL of webpage condition has an invalid public suffix.", +"Value track parameter is not supported in webpage condition URL.", +"Only one URL-EQUALS webpage condition is allowed in a webpage criterion and it cannot be combined with other conditions.", +"A webpage criterion cannot be added to a non-DSA ad group.", +"Cannot add positive user list criteria in Smart Display campaigns.", +"Cannot add positive placement criterion types in search campaigns.", +"Listing scope contains too many dimension types.", +"Listing scope has too many IN operators.", +"Listing scope contains IN operator on an unsupported dimension type.", +"There are dimensions with duplicate dimension type.", +"There are dimensions with duplicate dimension value.", +"Listing group SUBDIVISION nodes cannot have bids.", +"Product group operation is invalid because another operation targeting the same AdGroupId is failing.", +"Ad group is invalid due to the listing groups it contains.", +"Tree was invalid before the mutation.", +"Listing group unit cannot have children.", +"Subdivided listing groups must have an \"others\" case.", +"Dimension type of listing group must be the same as that of its siblings.", +"Listing group cannot be added to the ad group because it already exists.", +"Listing group referenced in the operation was not found in the ad group.", +"Recursive removal failed because listing group subdivision is being created or modified in this request.", +"Listing group type is not allowed for specified ad group criterion type.", +"Listing group in an ADD operation specifies a non temporary criterion id.", +"The combined length of dimension values of the Listing scope criterion is too long.", +"Listing scope contains too many dimensions.", +"The combined length of dimension values of the Listing group criterion is too long.", +"Listing group tree is too deep.", +"Listing dimension is invalid (for example, dimension contains illegal value, dimension type is represented with wrong class, etc). Listing dimension value can not contain \"==\" or \"&+\".", +"Listing dimension type is either invalid for campaigns of this type or cannot be used in the current context. BIDDING_CATEGORY_Lx and PRODUCT_TYPE_Lx dimensions must be used in ascending order of their levels: L1, L2, L3, L4, L5... The levels must be specified sequentially and start from L1. Furthermore, an \"others\" Listing group cannot be subdivided with a dimension of the same type but of a higher level (\"others\" BIDDING_CATEGORY_L3 can be subdivided with BRAND but not with BIDDING_CATEGORY_L4).", +"Customer is not on allowlist for composite audience in display campaigns.", +"Cannot target on a removed combined audience.", +"Combined audience ID is invalid.", +"Can not target removed combined audience.", +"Range represented by hotel check-in date's start date and end date overlaps with an existing criterion.", +"Start date is earlier than earliest allowed value of yesterday UTC.", +"End date later is than latest allowed day of 330 days in the future UTC.", +"Start date is after end date.", +"Broad match modifier (BMM) keywords can no longer be created. See https://ads-developers.googleblog.com/2021/06/broad-match-modifier-upcoming-changes.html.", +"Only one audience is allowed in an asset group.", +"Audience is not supported for the specified campaign type.", +"Audience is not allowed to attach when use_audience_grouped bit is set to false.", +"Targeting is not allowed for Customer Match lists as per Customer Match policy. See https://support.google.com/google-ads/answer/6299717.", +"Cannot create a negative keyword list criterion with a shared set that does not exist.", +"Cannot create a negative keyword list with deleted shared set.", +"Can only have one Negative Keyword List per account.", +"Only allowlisted customers can add criteria of this type.", +"Targeting for Similar audiences is not supported, since this feature has been deprecated. See https://support.google.com/google-ads/answer/12463119 to learn more.", +"Audience segment criteria cannot be added when use_audience_grouped bit is set.", +"Only one audience is allowed in an ad group.", +"Invalid detailed demographics criterion.", +"The brand criteria has a brand input that is not recognized as a valid brand.", +"The brand_list.shared_set_id references a shared set that does not exist.", +"Cannot create a brand list with deleted shared set.", +"Brand list can only be negatively targeted for the campaign type.", +"Cannot positively target locations outside of restricted area for campaign.", +"Ad group level brand list criteria only support inclusionary targeting. Negative targeting at this level is not supported.", +"Cannot create a placement list with deleted shared set.", +"The placement_list.shared_set_id references a shared set that does not exist.", +"This feature is only available for AI Max campaigns.", +"This feature is not available for AI Max campaigns.", +"The operation failed because the campaign is missing the self-declaration on political advertising status in the EU.", +"Targeting this UserList is not allowed for this campaign type.", +"The user list cannot be used while it is pending privacy review.", +"The referenced Vertical Ads item group rule list shared set does not exist.", +"Cannot add Vertical Ads Item Group Rule List with deleted shared set.", +"Vertical Ads Item Group Rule List is not supported for campaigns that do not have an active travel feed.", +"Vertical Ads Item Group Rule List is not supported for campaigns that do not have AI max enabled.", +"The dimension of the Vertical Ads Item Group Rule criterion is not supported for the shared set vertical type." +], +"type": "string" +}, +"currencyCodeError": { +"description": "The reasons for the currency code error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNSUPPORTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The currency code is not supported." +], +"type": "string" +}, +"currencyError": { +"description": "The reasons for the currency errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VALUE_NOT_MULTIPLE_OF_BILLABLE_UNIT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Bid must be a multiple of billable unit." +], +"type": "string" +}, +"customAudienceError": { +"description": "The reasons for the custom audience error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NAME_ALREADY_USED", +"CANNOT_REMOVE_WHILE_IN_USE", +"RESOURCE_ALREADY_REMOVED", +"MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED", +"INVALID_MEMBER_TYPE", +"MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH", +"POLICY_VIOLATION", +"INVALID_TYPE_CHANGE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"New name in the custom audience is duplicated ignoring cases.", +"Cannot remove a custom audience while it's still being used as targeting.", +"Cannot update or remove a custom audience that is already removed.", +"The pair of [type, value] already exists in members.", +"Member type is invalid.", +"Member type does not have associated value.", +"Custom audience contains a member that violates policy.", +"Change in custom audience type is not allowed." +], +"type": "string" +}, +"customColumnError": { +"description": "The reasons for the custom column error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOM_COLUMN_NOT_FOUND", +"CUSTOM_COLUMN_NOT_AVAILABLE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The custom column has not been found.", +"The custom column is not available." +], +"type": "string" +}, +"customConversionGoalError": { +"description": "The reasons for the custom conversion goal error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_CONVERSION_ACTION", +"CONVERSION_ACTION_NOT_ENABLED", +"CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL", +"CUSTOM_GOAL_DUPLICATE_NAME", +"DUPLICATE_CONVERSION_ACTION_LIST", +"NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot find a conversion action with the specified id.", +"The conversion action is not enabled so it cannot be included in a custom conversion goal.", +"The custom conversion goal cannot be removed because it's linked to a campaign.", +"Custom goal with the same name already exists.", +"Custom goal with the same conversion action list already exists.", +"Conversion types that cannot be biddable should not be included in custom goal." +], +"type": "string" +}, +"customInterestError": { +"description": "The reasons for the custom interest error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NAME_ALREADY_USED", +"CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE", +"TYPE_AND_PARAMETER_NOT_FOUND", +"TYPE_AND_PARAMETER_ALREADY_EXISTED", +"INVALID_CUSTOM_INTEREST_MEMBER_TYPE", +"CANNOT_REMOVE_WHILE_IN_USE", +"CANNOT_CHANGE_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Duplicate custom interest name ignoring case.", +"In the remove custom interest member operation, both member ID and pair [type, parameter] are not present.", +"The pair of [type, parameter] does not exist.", +"The pair of [type, parameter] already exists.", +"Unsupported custom interest member type.", +"Cannot remove a custom interest while it's still being targeted.", +"Cannot mutate custom interest type." +], +"type": "string" +}, +"customerClientLinkError": { +"description": "The reasons for the customer client link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLIENT_ALREADY_INVITED_BY_THIS_MANAGER", +"CLIENT_ALREADY_MANAGED_IN_HIERARCHY", +"CYCLIC_LINK_NOT_ALLOWED", +"CUSTOMER_HAS_TOO_MANY_ACCOUNTS", +"CLIENT_HAS_TOO_MANY_INVITATIONS", +"CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS", +"CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER", +"CLIENT_HAS_TOO_MANY_MANAGERS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Trying to manage a client that already in being managed by customer.", +"Already managed by some other manager in the hierarchy.", +"Attempt to create a cycle in the hierarchy.", +"Managed accounts has the maximum number of linked accounts.", +"Invitor has the maximum pending invitations.", +"Attempt to change hidden status of a link that is not active.", +"Parent manager account has the maximum number of linked accounts.", +"Client has too many managers." +], +"type": "string" +}, +"customerCustomizerError": { +"description": "The reasons for the customer customizer error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version." +], +"type": "string" +}, +"customerError": { +"description": "The reasons for the customer error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STATUS_CHANGE_DISALLOWED", +"ACCOUNT_NOT_SET_UP", +"CREATION_DENIED_FOR_POLICY_VIOLATION", +"CREATION_DENIED_INELIGIBLE_MCC" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Customer status is not allowed to be changed from DRAFT and CLOSED. Currency code and at least one of country code and time zone needs to be set when status is changed to ENABLED.", +"CustomerService cannot get a customer that has not been fully set up.", +"Customer creation is denied for policy violation.", +"Manager account is ineligible to create new accounts." +], +"type": "string" +}, +"customerFeedError": { +"description": "The reasons for the customer feed error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"CANNOT_CREATE_FOR_REMOVED_FEED", +"CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED", +"CANNOT_MODIFY_REMOVED_CUSTOMER_FEED", +"INVALID_PLACEHOLDER_TYPE", +"MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", +"PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An active feed already exists for this customer and place holder type.", +"The specified feed is removed.", +"The CustomerFeed already exists. Update should be used to modify the existing CustomerFeed.", +"Cannot update removed customer feed.", +"Invalid placeholder type.", +"Feed mapping for this placeholder type does not exist.", +"Placeholder not allowed at the account level." +], +"type": "string" +}, +"customerLifecycleGoalError": { +"description": "The reasons for the customer lifecycle goal error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_ACQUISITION_VALUE_MISSING", +"CUSTOMER_ACQUISITION_INVALID_VALUE", +"CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE", +"CUSTOMER_ACQUISITION_VALUE_CANNOT_BE_CLEARED", +"CUSTOMER_ACQUISITION_HIGH_LIFETIME_VALUE_CANNOT_BE_CLEARED", +"INVALID_EXISTING_USER_LIST", +"INVALID_HIGH_LIFETIME_VALUE_USER_LIST" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must be set.", +"CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must be no less than 0.01.", +"CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value must be no less than 0.01. Also, to set this field, CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must also be present, and high_lifetime_value must be greater than value.", +"CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value cannot be cleared. This value would have no effect as long as none of your campaigns adopt the customer acquisitiong goal.", +"CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value cannot be cleared. This value would have no effect as long as none of your campaigns adopt the high value optimization of customer acquisitiong goal.", +"Found invalid value in CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists. The userlist must be accessible, active and belong to one of the following types: CRM_BASED, RULE_BASED, REMARKETING.", +"Found invalid value in CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists. The userlist must be accessible, active and belong to one of the following types: CRM_BASED, RULE_BASED, REMARKETING." +], +"type": "string" +}, +"customerManagerLinkError": { +"description": "The reasons for the customer manager link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_PENDING_INVITE", +"SAME_CLIENT_MORE_THAN_ONCE_PER_CALL", +"MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS", +"CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER", +"CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER", +"CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER", +"CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT", +"DUPLICATE_CHILD_FOUND", +"TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"No pending invitation.", +"Attempt to operate on the same client more than once in the same call.", +"Manager account has the maximum number of linked accounts.", +"If no active user on account it cannot be unlinked from its manager.", +"Account should have at least one active owner on it before being unlinked.", +"Only account owners may change their permission role.", +"When a client's link to its manager is not active, the link role cannot be changed.", +"Attempt to link a child to a parent that contains or will contain duplicate children.", +"The authorized customer is a test account. It can add no more than the allowed number of accounts" +], +"type": "string" +}, +"customerSkAdNetworkConversionValueSchemaError": { +"description": "The reasons for the customer SK Ad network conversion value schema error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_LINK_ID", +"INVALID_APP_ID", +"INVALID_SCHEMA", +"LINK_CODE_NOT_FOUND", +"INVALID_EVENT_COUNTER", +"INVALID_EVENT_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The customer link ID provided is invalid.", +"The app ID provided is invalid.", +"The conversion value schema provided is invalid.", +"The customer link id provided could not be found.", +"The SkAdNetwork event counter provided is invalid.", +"The SkAdNetwork event name provided is invalid." +], +"type": "string" +}, +"customerUserAccessError": { +"description": "The reasons for the customer user access mutate error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_USER_ID", +"REMOVAL_DISALLOWED", +"DISALLOWED_ACCESS_ROLE", +"LAST_ADMIN_USER_OF_SERVING_CUSTOMER", +"LAST_ADMIN_USER_OF_MANAGER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"There is no user associated with the user id specified.", +"Unable to remove the access between the user and customer.", +"Unable to add or update the access role as specified.", +"The user can't remove itself from an active serving customer if it's the last admin user and the customer doesn't have any owner manager", +"Last admin user cannot be removed from a manager." +], +"type": "string" +}, +"customizerAttributeError": { +"description": "The reasons for the customizer attribute error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"CustomizerAttribute name matches that of another active CustomizerAttribute." +], +"type": "string" +}, +"dataLinkError": { +"description": "The reasons for the data link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"YOUTUBE_CHANNEL_ID_INVALID", +"YOUTUBE_VIDEO_ID_INVALID", +"YOUTUBE_VIDEO_FROM_DIFFERENT_CHANNEL", +"PERMISSION_DENIED", +"INVALID_STATUS", +"INVALID_UPDATE_STATUS", +"INVALID_RESOURCE_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The requested YouTube Channel ID is invalid.", +"The requested YouTube Video ID is invalid.", +"The requested YouTube Video ID doesn't belong to the requested YouTube Channel ID.", +"A link cannot be created because the customer doesn't have the permission.", +"A link can not be removed or updated because the status is invalid.", +"The input status in the update request is invalid.", +"The input resource name is invalid." +], +"type": "string" +}, +"databaseError": { +"description": "The reasons for the database error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONCURRENT_MODIFICATION", +"DATA_CONSTRAINT_VIOLATION", +"REQUEST_TOO_LARGE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Multiple requests were attempting to modify the same resource at once. Retry the request.", +"The request conflicted with existing data. This error will usually be replaced with a more specific error if the request is retried.", +"The data written is too large. Split the request into smaller requests." +], +"type": "string" +}, +"dateError": { +"description": "The reasons for the date error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_FIELD_VALUES_IN_DATE", +"INVALID_FIELD_VALUES_IN_DATE_TIME", +"INVALID_STRING_DATE", +"INVALID_STRING_DATE_TIME_MICROS", +"INVALID_STRING_DATE_TIME_SECONDS", +"INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", +"EARLIER_THAN_MINIMUM_DATE", +"LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL", +"DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY", +"DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Given field values do not correspond to a valid date.", +"Given field values do not correspond to a valid date time.", +"The string date's format should be yyyy-mm-dd.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", +"Date is before allowed minimum.", +"Date is after allowed maximum.", +"Date range bounds are not in order.", +"Both dates in range are null.", +"This campaign type doesn't support a start date time that isn't the start of the day.", +"This campaign type doesn't support an end date time that isn't the end of the day." +], +"type": "string" +}, +"dateRangeError": { +"description": "The reasons for the date range error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_DATE", +"START_DATE_AFTER_END_DATE", +"CANNOT_SET_DATE_TO_PAST", +"AFTER_MAXIMUM_ALLOWABLE_DATE", +"CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Invalid date.", +"The start date was after the end date.", +"Cannot set date to past time", +"A date was used that is past the system \"last\" date.", +"Trying to change start date on a resource that has started." +], +"type": "string" +}, +"distinctError": { +"description": "The reasons for the distinct error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_ELEMENT", +"DUPLICATE_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Duplicate element.", +"Duplicate type." +], +"type": "string" +}, +"enumError": { +"description": "The reason for enum error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENUM_VALUE_NOT_PERMITTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The enum value is not permitted." +], +"type": "string" +}, +"experimentArmError": { +"description": "The reasons for the experiment arm error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXPERIMENT_ARM_COUNT_LIMIT_EXCEEDED", +"INVALID_CAMPAIGN_STATUS", +"DUPLICATE_EXPERIMENT_ARM_NAME", +"CANNOT_SET_TREATMENT_ARM_CAMPAIGN", +"CANNOT_MODIFY_CAMPAIGN_IDS", +"CANNOT_MODIFY_CAMPAIGN_WITHOUT_SUFFIX_SET", +"CANNOT_MUTATE_TRAFFIC_SPLIT_AFTER_START", +"CANNOT_ADD_CAMPAIGN_WITH_SHARED_BUDGET", +"CANNOT_ADD_CAMPAIGN_WITH_CUSTOM_BUDGET", +"CANNOT_ADD_CAMPAIGNS_WITH_DYNAMIC_ASSETS_ENABLED", +"UNSUPPORTED_CAMPAIGN_ADVERTISING_CHANNEL_SUB_TYPE", +"CANNOT_ADD_BASE_CAMPAIGN_WITH_DATE_RANGE", +"BIDDING_STRATEGY_NOT_SUPPORTED_IN_EXPERIMENTS", +"TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Number of experiment arms is above limit.", +"Cannot add campaign with invalid status to the experiment arm.", +"Cannot add duplicate experiment arm name in one experiment.", +"Cannot set campaigns of treatment experiment arm.", +"Cannot edit campaign ids in trial arms in non SETUP experiment.", +"Cannot modify the campaigns in the control arm if there is not a suffix set in the trial.", +"Traffic split related settings (like traffic share bounds) can't be modified after the trial has started.", +"Cannot use shared budget on experiment's control campaign.", +"Cannot use custom budget on experiment's control campaigns.", +"Cannot have enable_dynamic_assets turned on in experiment's campaigns.", +"Cannot use campaign's advertising channel sub type in experiment.", +"Experiment date range must be within base campaign's date range.", +"Bidding strategy is not supported in experiments.", +"Traffic split is not supported for some channel types." +], +"type": "string" +}, +"experimentError": { +"description": "The reasons for the experiment error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_SET_START_DATE_IN_PAST", +"END_DATE_BEFORE_START_DATE", +"START_DATE_TOO_FAR_IN_FUTURE", +"DUPLICATE_EXPERIMENT_NAME", +"CANNOT_MODIFY_REMOVED_EXPERIMENT", +"START_DATE_ALREADY_PASSED", +"CANNOT_SET_END_DATE_IN_PAST", +"CANNOT_SET_STATUS_TO_REMOVED", +"CANNOT_MODIFY_PAST_END_DATE", +"INVALID_STATUS", +"INVALID_CAMPAIGN_CHANNEL_TYPE", +"OVERLAPPING_MEMBERS_AND_DATE_RANGE", +"INVALID_TRIAL_ARM_TRAFFIC_SPLIT", +"TRAFFIC_SPLIT_OVERLAPPING", +"SUM_TRIAL_ARM_TRAFFIC_UNEQUALS_TO_TRIAL_TRAFFIC_SPLIT_DENOMINATOR", +"CANNOT_MODIFY_TRAFFIC_SPLIT_AFTER_START", +"EXPERIMENT_NOT_FOUND", +"EXPERIMENT_NOT_YET_STARTED", +"CANNOT_HAVE_MULTIPLE_CONTROL_ARMS", +"IN_DESIGN_CAMPAIGNS_NOT_SET", +"CANNOT_SET_STATUS_TO_GRADUATED", +"CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_SHARED_BUDGET", +"CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_CUSTOM_BUDGET", +"STATUS_TRANSITION_INVALID", +"DUPLICATE_EXPERIMENT_CAMPAIGN_NAME", +"CANNOT_REMOVE_IN_CREATION_EXPERIMENT", +"CANNOT_ADD_CAMPAIGN_WITH_DEPRECATED_AD_TYPES", +"CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE", +"INVALID_DURATION_FOR_AN_EXPERIMENT", +"MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The start date of an experiment cannot be set in the past. Use a start date in the future.", +"The end date of an experiment is before its start date. Use an end date after the start date.", +"The start date of an experiment is too far in the future. Use a start date no more than 1 year in the future.", +"The experiment has the same name as an existing active experiment.", +"Experiments can only be modified when they are ENABLED.", +"The start date of an experiment cannot be modified if the existing start date has already passed.", +"The end date of an experiment cannot be set in the past.", +"The status of an experiment cannot be set to REMOVED.", +"The end date of an expired experiment cannot be modified.", +"The status is invalid.", +"Experiment arm contains campaigns with invalid advertising channel type.", +"A pair of trials share members and have overlapping date ranges.", +"Experiment arm contains invalid traffic split.", +"Experiment contains trial arms with overlapping traffic split.", +"The total traffic split of trial arms is not equal to 100.", +"Traffic split related settings (like traffic share bounds) can't be modified after the experiment has started.", +"The experiment could not be found.", +"Experiment has not begun.", +"The experiment cannot have more than one control arm.", +"The experiment doesn't set in-design campaigns.", +"Clients must use the graduate action to graduate experiments and cannot set the status to GRADUATED directly.", +"Cannot use shared budget on base campaign when scheduling an experiment.", +"Cannot use custom budget on base campaign when scheduling an experiment.", +"Invalid status transition.", +"The experiment campaign name conflicts with a pre-existing campaign.", +"Cannot remove in creation experiments.", +"Cannot add campaign with deprecated ad types. Deprecated ad types: ENHANCED_DISPLAY, GALLERY, GMAIL, KEYWORDLESS, TEXT.", +"Sync can only be enabled for supported experiment types. Supported experiment types: SEARCH_CUSTOM, DISPLAY_CUSTOM, DISPLAY_AUTOMATED_BIDDING_STRATEGY, SEARCH_AUTOMATED_BIDDING_STRATEGY.", +"Experiment length cannot be longer than max length.", +"The experiment's campaigns must self-declare whether they contain political advertising that targets the European Union." +], +"type": "string" +}, +"extensionFeedItemError": { +"description": "The reasons for the extension feed item error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VALUE_OUT_OF_RANGE", +"URL_LIST_TOO_LONG", +"CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING", +"CANNOT_SET_WITH_FINAL_URLS", +"CANNOT_SET_WITHOUT_FINAL_URLS", +"INVALID_PHONE_NUMBER", +"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", +"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", +"PREMIUM_RATE_NUMBER_NOT_ALLOWED", +"DISALLOWED_NUMBER_TYPE", +"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", +"VANITY_PHONE_NUMBER_NOT_ALLOWED", +"INVALID_CALL_CONVERSION_ACTION", +"CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING", +"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", +"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", +"INVALID_APP_ID", +"QUOTES_IN_REVIEW_EXTENSION_SNIPPET", +"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", +"REVIEW_EXTENSION_SOURCE_INELIGIBLE", +"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", +"INCONSISTENT_CURRENCY_CODES", +"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", +"PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", +"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", +"PRICE_EXTENSION_HAS_TOO_MANY_ITEMS", +"UNSUPPORTED_VALUE", +"UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE", +"INVALID_DEVICE_PREFERENCE", +"INVALID_SCHEDULE_END", +"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", +"INVALID_SNIPPETS_HEADER", +"CANNOT_OPERATE_ON_REMOVED_FEED_ITEM", +"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", +"CONFLICTING_CALL_CONVERSION_SETTINGS", +"EXTENSION_TYPE_MISMATCH", +"EXTENSION_SUBTYPE_REQUIRED", +"EXTENSION_TYPE_UNSUPPORTED", +"CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS", +"CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES", +"INVALID_PRICE_FORMAT", +"PROMOTION_INVALID_TIME", +"TOO_MANY_DECIMAL_PLACES_SPECIFIED", +"CONCRETE_EXTENSION_TYPE_REQUIRED", +"SCHEDULE_END_NOT_AFTER_START" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Value is not within the accepted range.", +"Url list is too long.", +"Cannot have a geo targeting restriction without having geo targeting.", +"Cannot simultaneously set sitelink field with final urls.", +"Must set field with final urls.", +"Phone number for a call extension is invalid.", +"Phone number for a call extension is not supported for the given country code.", +"A carrier specific number in short format is not allowed for call extensions.", +"Premium rate numbers are not allowed for call extensions.", +"Phone number type for a call extension is not allowed. For example, personal number is not allowed for a call extension in most regions.", +"Phone number for a call extension does not meet domestic format requirements.", +"Vanity phone numbers (for example, those including letters) are not allowed for call extensions.", +"Call conversion action provided for a call extension is invalid.", +"For a call extension, the customer is not on the allow-list for call tracking.", +"Call tracking is not supported for the given country for a call extension.", +"Customer hasn't consented for call recording, which is required for creating/updating call feed items. See https://support.google.com/google-ads/answer/7412639.", +"App id provided for an app extension is invalid.", +"Quotation marks present in the review text for a review extension.", +"Hyphen character present in the review text for a review extension.", +"A denylisted review source name or url was provided for a review extension.", +"Review source name should not be found in the review text.", +"Inconsistent currency codes.", +"Price extension cannot have duplicated headers.", +"Price item cannot have duplicated header and description.", +"Price extension has too few items.", +"Price extension has too many items.", +"The input value is not currently supported.", +"The input value is not currently supported in the selected language of an extension.", +"Unknown or unsupported device preference.", +"Invalid feed item schedule end time (for example, endHour = 24 and endMinute != 0).", +"Date time zone does not match the account's time zone.", +"Invalid structured snippet header.", +"Cannot operate on removed feed item.", +"Phone number not supported when call tracking enabled for country.", +"Cannot set call_conversion_action while call_conversion_tracking_enabled is set to true.", +"The type of the input extension feed item doesn't match the existing extension feed item.", +"The oneof field extension for example, subtype of extension feed item is required.", +"The referenced feed item is not mapped to a supported extension type.", +"Cannot operate on a Feed with more than one active FeedMapping.", +"Cannot operate on a Feed that has key attributes.", +"Input price is not in a valid format.", +"The promotion time is invalid.", +"This field has too many decimal places specified.", +"Concrete sub type of ExtensionFeedItem is required for this operation.", +"Feed item schedule end time must be after start time." +], +"type": "string" +}, +"extensionSettingError": { +"description": "The reasons for the extension setting error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXTENSIONS_REQUIRED", +"FEED_TYPE_EXTENSION_TYPE_MISMATCH", +"INVALID_FEED_TYPE", +"INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING", +"CANNOT_CHANGE_FEED_ITEM_ON_CREATE", +"CANNOT_UPDATE_NEWLY_CREATED_EXTENSION", +"NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE", +"NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE", +"NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE", +"AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS", +"CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS", +"CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS", +"AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", +"VALUE_OUT_OF_RANGE", +"CANNOT_SET_FIELD_WITH_FINAL_URLS", +"FINAL_URLS_NOT_SET", +"INVALID_PHONE_NUMBER", +"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", +"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", +"PREMIUM_RATE_NUMBER_NOT_ALLOWED", +"DISALLOWED_NUMBER_TYPE", +"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", +"VANITY_PHONE_NUMBER_NOT_ALLOWED", +"INVALID_COUNTRY_CODE", +"INVALID_CALL_CONVERSION_TYPE_ID", +"CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING", +"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", +"INVALID_APP_ID", +"QUOTES_IN_REVIEW_EXTENSION_SNIPPET", +"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", +"REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE", +"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", +"MISSING_FIELD", +"INCONSISTENT_CURRENCY_CODES", +"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", +"PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", +"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", +"PRICE_EXTENSION_HAS_TOO_MANY_ITEMS", +"UNSUPPORTED_VALUE", +"INVALID_DEVICE_PREFERENCE", +"INVALID_SCHEDULE_END", +"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", +"OVERLAPPING_SCHEDULES_NOT_ALLOWED", +"SCHEDULE_END_NOT_AFTER_START", +"TOO_MANY_SCHEDULES_PER_DAY", +"DUPLICATE_EXTENSION_FEED_ITEM_EDIT", +"INVALID_SNIPPETS_HEADER", +"PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", +"CAMPAIGN_TARGETING_MISMATCH", +"CANNOT_OPERATE_ON_REMOVED_FEED", +"EXTENSION_TYPE_REQUIRED", +"INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION", +"START_DATE_AFTER_END_DATE", +"INVALID_PRICE_FORMAT", +"PROMOTION_INVALID_TIME", +"PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT", +"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", +"TOO_MANY_DECIMAL_PLACES_SPECIFIED", +"INVALID_LANGUAGE_CODE", +"UNSUPPORTED_LANGUAGE", +"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", +"EXTENSION_SETTING_UPDATE_IS_A_NOOP", +"DISALLOWED_TEXT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A platform restriction was provided without input extensions or existing extensions.", +"The provided feed type does not correspond to the provided extensions.", +"The provided feed type cannot be used.", +"The provided feed type cannot be used at the customer level.", +"Cannot change a feed item field on a CREATE operation.", +"Cannot update an extension that is not already in this setting.", +"There is no existing AdGroupExtensionSetting for this type.", +"There is no existing CampaignExtensionSetting for this type.", +"There is no existing CustomerExtensionSetting for this type.", +"The AdGroupExtensionSetting already exists. UPDATE should be used to modify the existing AdGroupExtensionSetting.", +"The CampaignExtensionSetting already exists. UPDATE should be used to modify the existing CampaignExtensionSetting.", +"The CustomerExtensionSetting already exists. UPDATE should be used to modify the existing CustomerExtensionSetting.", +"An active ad group feed already exists for this place holder type.", +"An active campaign feed already exists for this place holder type.", +"An active customer feed already exists for this place holder type.", +"Value is not within the accepted range.", +"Cannot simultaneously set specified field with final urls.", +"Must set field with final urls.", +"Phone number for a call extension is invalid.", +"Phone number for a call extension is not supported for the given country code.", +"A carrier specific number in short format is not allowed for call extensions.", +"Premium rate numbers are not allowed for call extensions.", +"Phone number type for a call extension is not allowed.", +"Phone number for a call extension does not meet domestic format requirements.", +"Vanity phone numbers (for example, those including letters) are not allowed for call extensions.", +"Country code provided for a call extension is invalid.", +"Call conversion type id provided for a call extension is invalid.", +"For a call extension, the customer is not on the allow-list for call tracking.", +"Call tracking is not supported for the given country for a call extension.", +"App id provided for an app extension is invalid.", +"Quotation marks present in the review text for a review extension.", +"Hyphen character present in the review text for a review extension.", +"A blocked review source name or url was provided for a review extension.", +"Review source name should not be found in the review text.", +"Field must be set.", +"Inconsistent currency codes.", +"Price extension cannot have duplicated headers.", +"Price item cannot have duplicated header and description.", +"Price extension has too few items", +"Price extension has too many items", +"The input value is not currently supported.", +"Unknown or unsupported device preference.", +"Invalid feed item schedule end time (for example, endHour = 24 and endMinute != 0).", +"Date time zone does not match the account's time zone.", +"Overlapping feed item schedule times (for example, 7-10AM and 8-11AM) are not allowed.", +"Feed item schedule end time must be after start time.", +"There are too many feed item schedules per day.", +"Cannot edit the same extension feed item more than once in the same request.", +"Invalid structured snippet header.", +"Phone number with call tracking enabled is not supported for the specified country.", +"The targeted adgroup must belong to the targeted campaign.", +"The feed used by the ExtensionSetting is removed and cannot be operated on. Remove the ExtensionSetting to allow a new one to be created using an active feed.", +"The ExtensionFeedItem type is required for this operation.", +"The matching function that links the extension feed to the customer, campaign, or ad group is not compatible with the ExtensionSetting services.", +"Start date must be before end date.", +"Input price is not in a valid format.", +"The promotion time is invalid.", +"Cannot set both percent discount and money discount fields.", +"Cannot set both promotion code and orders over amount fields.", +"This field has too many decimal places specified.", +"The language code is not valid.", +"The language is not supported.", +"Customer hasn't consented for call recording, which is required for adding/updating call extensions. See https://support.google.com/google-ads/answer/7412639.", +"The UPDATE operation does not specify any fields other than the resource name in the update mask.", +"The extension contains text which has been prohibited on policy grounds." +], +"type": "string" +}, +"feedAttributeReferenceError": { +"description": "The reasons for the feed attribute reference error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_REFERENCE_REMOVED_FEED", +"INVALID_FEED_NAME", +"INVALID_FEED_ATTRIBUTE_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A feed referenced by ID has been removed.", +"There is no enabled feed with the given name.", +"There is no feed attribute in an enabled feed with the given name." +], +"type": "string" +}, +"feedError": { +"description": "The reasons for the feed error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ATTRIBUTE_NAMES_NOT_UNIQUE", +"ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES", +"CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED", +"CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED", +"CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED", +"CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE", +"FEED_REMOVED", +"INVALID_ORIGIN_VALUE", +"FEED_ORIGIN_IS_NOT_USER", +"INVALID_AUTH_TOKEN_FOR_EMAIL", +"INVALID_EMAIL", +"DUPLICATE_FEED_NAME", +"INVALID_FEED_NAME", +"MISSING_OAUTH_INFO", +"NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY", +"TOO_MANY_ATTRIBUTES", +"INVALID_BUSINESS_ACCOUNT", +"BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT", +"INVALID_AFFILIATE_CHAIN_ID", +"DUPLICATE_SYSTEM_FEED", +"GMB_ACCESS_ERROR", +"CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS", +"LEGACY_EXTENSION_TYPE_READ_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The names of the FeedAttributes must be unique.", +"The attribute list must be an exact copy of the existing list if the attribute ID's are present.", +"Cannot specify USER origin for a system generated feed.", +"Cannot specify GOOGLE origin for a non-system generated feed.", +"Cannot specify feed attributes for system feed.", +"Cannot update FeedAttributes on feed with origin GOOGLE.", +"The given ID refers to a removed Feed. Removed Feeds are immutable.", +"The origin of the feed is not valid for the client.", +"A user can only create and modify feeds with USER origin.", +"Invalid auth token for the given email.", +"Invalid email specified.", +"Feed name matches that of another active Feed.", +"Name of feed is not allowed.", +"Missing OAuthInfo.", +"New FeedAttributes must not affect the unique key.", +"Too many FeedAttributes for a Feed.", +"The business account is not valid.", +"Business account cannot access Business Profile.", +"Invalid chain ID provided for affiliate location feed.", +"There is already a feed with the given system feed generation data.", +"An error occurred accessing Business Profile.", +"A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds.", +"Feed-based extension is read-only for this extension type." +], +"type": "string" +}, +"feedItemError": { +"description": "The reasons for the feed item error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING", +"CANNOT_OPERATE_ON_REMOVED_FEED_ITEM", +"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", +"KEY_ATTRIBUTES_NOT_FOUND", +"INVALID_URL", +"MISSING_KEY_ATTRIBUTES", +"KEY_ATTRIBUTES_NOT_UNIQUE", +"CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE", +"SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE", +"LEGACY_FEED_TYPE_READ_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot convert the feed attribute value from string to its real type.", +"Cannot operate on removed feed item.", +"Date time zone does not match the account's time zone.", +"Feed item with the key attributes could not be found.", +"Url feed attribute value is not valid.", +"Some key attributes are missing.", +"Feed item has same key attributes as another feed item.", +"Cannot modify key attributes on an existing feed item.", +"The feed attribute value is too large.", +"Feed is read only." +], +"type": "string" +}, +"feedItemSetError": { +"description": "The reasons for the feed item set error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FEED_ITEM_SET_REMOVED", +"CANNOT_CLEAR_DYNAMIC_FILTER", +"CANNOT_CREATE_DYNAMIC_FILTER", +"INVALID_FEED_TYPE", +"DUPLICATE_NAME", +"WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE", +"DYNAMIC_FILTER_INVALID_CHAIN_IDS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The given ID refers to a removed FeedItemSet.", +"The dynamic filter of a feed item set cannot be cleared on UPDATE if it exists. A set is either static or dynamic once added, and that cannot change.", +"The dynamic filter of a feed item set cannot be created on UPDATE if it does not exist. A set is either static or dynamic once added, and that cannot change.", +"FeedItemSets can only be made for location or affiliate location feeds.", +"FeedItemSets duplicate name. Name should be unique within an account.", +"The feed type of the parent Feed is not compatible with the type of dynamic filter being set. For example, you can only set dynamic_location_set_filter for LOCATION feed item sets.", +"Chain ID specified for AffiliateLocationFeedData is invalid." +], +"type": "string" +}, +"feedItemSetLinkError": { +"description": "The reasons for the feed item set link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FEED_ID_MISMATCH", +"NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems in a given Feed can be linked to a FeedItemSet in that Feed.", +"Cannot add or remove links to a dynamic set." +], +"type": "string" +}, +"feedItemTargetError": { +"description": "The reasons for the feed item target error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MUST_SET_TARGET_ONEOF_ON_CREATE", +"FEED_ITEM_TARGET_ALREADY_EXISTS", +"FEED_ITEM_SCHEDULES_CANNOT_OVERLAP", +"TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE", +"TOO_MANY_SCHEDULES_PER_DAY", +"CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS", +"DUPLICATE_AD_SCHEDULE", +"DUPLICATE_KEYWORD" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"On CREATE, the FeedItemTarget must have a populated field in the oneof target.", +"The specified feed item target already exists, so it cannot be added.", +"The schedules for a given feed item cannot overlap.", +"Too many targets of a given type were added for a single feed item.", +"Too many AdSchedules are enabled for the feed item for the given day.", +"A feed item may either have an enabled campaign target or an enabled ad group target.", +"Duplicate ad schedules aren't allowed.", +"Duplicate keywords aren't allowed." +], +"type": "string" +}, +"feedItemValidationError": { +"description": "The reasons for the feed item validation error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STRING_TOO_SHORT", +"STRING_TOO_LONG", +"VALUE_NOT_SPECIFIED", +"INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", +"INVALID_PHONE_NUMBER", +"PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", +"PREMIUM_RATE_NUMBER_NOT_ALLOWED", +"DISALLOWED_NUMBER_TYPE", +"VALUE_OUT_OF_RANGE", +"CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", +"CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING", +"INVALID_COUNTRY_CODE", +"INVALID_APP_ID", +"MISSING_ATTRIBUTES_FOR_FIELDS", +"INVALID_TYPE_ID", +"INVALID_EMAIL_ADDRESS", +"INVALID_HTTPS_URL", +"MISSING_DELIVERY_ADDRESS", +"START_DATE_AFTER_END_DATE", +"MISSING_FEED_ITEM_START_TIME", +"MISSING_FEED_ITEM_END_TIME", +"MISSING_FEED_ITEM_ID", +"VANITY_PHONE_NUMBER_NOT_ALLOWED", +"INVALID_REVIEW_EXTENSION_SNIPPET", +"INVALID_NUMBER_FORMAT", +"INVALID_DATE_FORMAT", +"INVALID_PRICE_FORMAT", +"UNKNOWN_PLACEHOLDER_FIELD", +"MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE", +"REVIEW_EXTENSION_SOURCE_INELIGIBLE", +"HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", +"DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET", +"QUOTES_IN_REVIEW_EXTENSION_SNIPPET", +"INVALID_FORM_ENCODED_PARAMS", +"INVALID_URL_PARAMETER_NAME", +"NO_GEOCODING_RESULT", +"SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", +"CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", +"INVALID_PLACEHOLDER_FIELD_ID", +"INVALID_URL_TAG", +"LIST_TOO_LONG", +"INVALID_ATTRIBUTES_COMBINATION", +"DUPLICATE_VALUES", +"INVALID_CALL_CONVERSION_ACTION_ID", +"CANNOT_SET_WITHOUT_FINAL_URLS", +"APP_ID_DOESNT_EXIST_IN_APP_STORE", +"INVALID_FINAL_URL", +"INVALID_TRACKING_URL", +"INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL", +"LIST_TOO_SHORT", +"INVALID_USER_ACTION", +"INVALID_TYPE_NAME", +"INVALID_EVENT_CHANGE_STATUS", +"INVALID_SNIPPETS_HEADER", +"INVALID_ANDROID_APP_LINK", +"NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", +"RESERVED_KEYWORD_OTHER", +"DUPLICATE_OPTION_LABELS", +"DUPLICATE_OPTION_PREFILLS", +"UNEQUAL_LIST_LENGTHS", +"INCONSISTENT_CURRENCY_CODES", +"PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", +"ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", +"PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", +"UNSUPPORTED_VALUE", +"INVALID_FINAL_MOBILE_URL", +"INVALID_KEYWORDLESS_AD_RULE_LABEL", +"VALUE_TRACK_PARAMETER_NOT_SUPPORTED", +"UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE", +"INVALID_IOS_APP_LINK", +"MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID", +"PROMOTION_INVALID_TIME", +"PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF", +"PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", +"TOO_MANY_DECIMAL_PLACES_SPECIFIED", +"AD_CUSTOMIZERS_NOT_ALLOWED", +"INVALID_LANGUAGE_CODE", +"UNSUPPORTED_LANGUAGE", +"IF_FUNCTION_NOT_ALLOWED", +"INVALID_FINAL_URL_SUFFIX", +"INVALID_TAG_IN_FINAL_URL_SUFFIX", +"INVALID_FINAL_URL_SUFFIX_FORMAT", +"CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", +"ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED", +"NO_DELIVERY_OPTION_IS_SET", +"INVALID_CONVERSION_REPORTING_STATE", +"IMAGE_SIZE_WRONG", +"EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY", +"AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY", +"INVALID_LATITUDE_VALUE", +"INVALID_LONGITUDE_VALUE", +"TOO_MANY_LABELS", +"INVALID_IMAGE_URL", +"MISSING_LATITUDE_VALUE", +"MISSING_LONGITUDE_VALUE", +"ADDRESS_NOT_FOUND", +"ADDRESS_NOT_TARGETABLE", +"INVALID_ASSET_ID", +"INCOMPATIBLE_ASSET_TYPE", +"IMAGE_ERROR_UNEXPECTED_SIZE", +"IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED", +"IMAGE_ERROR_FILE_TOO_LARGE", +"IMAGE_ERROR_FORMAT_NOT_ALLOWED", +"IMAGE_ERROR_CONSTRAINTS_VIOLATED", +"IMAGE_ERROR_SERVER_ERROR" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"String is too short.", +"String is too long.", +"Value is not provided.", +"Phone number format is invalid for region.", +"String does not represent a phone number.", +"Phone number format is not compatible with country code.", +"Premium rate number is not allowed.", +"Phone number type is not allowed.", +"Specified value is outside of the valid range.", +"Call tracking is not supported in the selected country.", +"Customer is not on the allow-list for call tracking.", +"Country code is invalid.", +"The specified mobile app id is invalid.", +"Some required field attributes are missing.", +"Invalid email button type for email extension.", +"Email address is invalid.", +"The HTTPS URL in email extension is invalid.", +"Delivery address is missing from email extension.", +"FeedItem scheduling start date comes after end date.", +"FeedItem scheduling start time is missing.", +"FeedItem scheduling end time is missing.", +"Cannot compute system attributes on a FeedItem that has no FeedItemId.", +"Call extension vanity phone numbers are not supported.", +"Invalid review text.", +"Invalid format for numeric value in ad parameter.", +"Invalid format for date value in ad parameter.", +"Invalid format for price value in ad parameter.", +"Unrecognized type given for value in ad parameter.", +"Enhanced sitelinks must have both description lines specified.", +"Review source is ineligible.", +"Review text cannot contain hyphens or dashes.", +"Review text cannot contain double quote characters.", +"Review text cannot contain quote characters.", +"Parameters are encoded in the wrong format.", +"URL parameter name must contain only letters, numbers, underscores, and dashes.", +"Cannot find address location.", +"Review extension text has source name.", +"Some phone numbers can be shorter than usual. Some of these short numbers are carrier-specific, and we disallow those in ad extensions because they will not be available to all users.", +"Triggered when a request references a placeholder field id that does not exist.", +"URL contains invalid ValueTrack tags or format.", +"Provided list exceeds acceptable size.", +"Certain combinations of attributes aren't allowed to be specified in the same feed item.", +"An attribute has the same value repeatedly.", +"Advertisers can link a conversion action with a phone number to indicate that sufficiently long calls forwarded to that phone number should be counted as conversions of the specified type. This is an error message indicating that the conversion action specified is invalid (for example, the conversion action does not exist within the appropriate Google Ads account, or it is a type of conversion not appropriate to phone call conversions).", +"Tracking template requires final url to be set.", +"An app id was provided that doesn't exist in the given app store.", +"Invalid U2 final url.", +"Invalid U2 tracking url.", +"Final URL should start from App download URL.", +"List provided is too short.", +"User Action field has invalid value.", +"Type field has invalid value.", +"Change status for event is invalid.", +"The header of a structured snippets extension is not one of the valid headers.", +"Android app link is not formatted correctly", +"Phone number incompatible with call tracking for country.", +"The input is identical to a reserved keyword", +"Each option label in the message extension must be unique.", +"Each option prefill in the message extension must be unique.", +"In message extensions, the number of optional labels and optional prefills must be the same.", +"All currency codes in an ad extension must be the same.", +"Headers in price extension are not unique.", +"Header and description in an item are the same.", +"Price extension has too few items.", +"The given value is not supported.", +"Invalid final mobile url.", +"The given string value of Label contains invalid characters", +"The given URL contains value track parameters.", +"The given value is not supported in the selected language of an extension.", +"The iOS app link is not formatted correctly.", +"iOS app link or iOS app store id is missing.", +"Promotion time is invalid.", +"Both the percent off and money amount off fields are set.", +"Both the promotion code and orders over amount fields are set.", +"Too many decimal places are specified.", +"Ad Customizers are present and not allowed.", +"Language code is not valid.", +"Language is not supported.", +"IF Function is present and not allowed.", +"Final url suffix is not valid.", +"Final url suffix contains an invalid tag.", +"Final url suffix is formatted incorrectly.", +"Consent for call recording, which is required for the use of call extensions, was not provided by the advertiser. See https://support.google.com/google-ads/answer/7412639.", +"Multiple message delivery options are set.", +"No message delivery option is set.", +"String value of conversion reporting state field is not valid.", +"Image size is not right.", +"Email delivery is not supported in the country specified in the country code field.", +"Auto reply is not supported in the country specified in the country code field.", +"Invalid value specified for latitude.", +"Invalid value specified for longitude.", +"Too many label fields provided.", +"Invalid image url.", +"Latitude value is missing.", +"Longitude value is missing.", +"Unable to find address.", +"Cannot target provided address.", +"The specified asset ID does not exist.", +"The asset type cannot be set for the field.", +"The image has unexpected size.", +"The image aspect ratio is not allowed.", +"The image file is too large.", +"The image format is unsupported.", +"Image violates constraints without more details.", +"An error occurred when validating image." +], +"type": "string" +}, +"feedMappingError": { +"description": "The reasons for the feed mapping error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_PLACEHOLDER_FIELD", +"INVALID_CRITERION_FIELD", +"INVALID_PLACEHOLDER_TYPE", +"INVALID_CRITERION_TYPE", +"NO_ATTRIBUTE_FIELD_MAPPINGS", +"FEED_ATTRIBUTE_TYPE_MISMATCH", +"CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED", +"MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE", +"MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE", +"MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD", +"MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD", +"UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS", +"LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS", +"CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED", +"INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED", +"INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE", +"ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD", +"LEGACY_FEED_TYPE_READ_ONLY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The given placeholder field does not exist.", +"The given criterion field does not exist.", +"The given placeholder type does not exist.", +"The given criterion type does not exist.", +"A feed mapping must contain at least one attribute field mapping.", +"The type of the feed attribute referenced in the attribute field mapping must match the type of the placeholder field.", +"A feed mapping for a system generated feed cannot be operated on.", +"Only one feed mapping for a placeholder type is allowed per feed or customer (depending on the placeholder type).", +"Only one feed mapping for a criterion type is allowed per customer.", +"Only one feed attribute mapping for a placeholder field is allowed (depending on the placeholder type).", +"Only one feed attribute mapping for a criterion field is allowed (depending on the criterion type).", +"This feed mapping may not contain any explicit attribute field mappings.", +"Location placeholder feed mappings can only be created for Places feeds.", +"Mappings for typed feeds cannot be modified.", +"The given placeholder type can only be mapped to system generated feeds.", +"The given placeholder type cannot be mapped to a system generated feed with the given type.", +"The \"field\" oneof was not set in an AttributeFieldMapping.", +"Feed is read only." +], +"type": "string" +}, +"fieldError": { +"description": "The reasons for the field error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUIRED", +"IMMUTABLE_FIELD", +"INVALID_VALUE", +"VALUE_MUST_BE_UNSET", +"REQUIRED_NONEMPTY_LIST", +"FIELD_CANNOT_BE_CLEARED", +"BLOCKED_VALUE", +"FIELD_CAN_ONLY_BE_CLEARED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The required field was not present.", +"The field attempted to be mutated is immutable.", +"The field's value is invalid.", +"The field cannot be set.", +"The required repeated field was empty.", +"The field cannot be cleared.", +"The field's value is on a deny-list for this field.", +"The field's value cannot be modified, except for clearing." +], +"type": "string" +}, +"fieldMaskError": { +"description": "An error with a field mask", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FIELD_MASK_MISSING", +"FIELD_MASK_NOT_ALLOWED", +"FIELD_NOT_FOUND", +"FIELD_HAS_SUBFIELDS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The field mask must be provided for update operations.", +"The field mask must be empty for create and remove operations.", +"The field mask contained an invalid field.", +"The field mask updated a field with subfields. Fields with subfields may be cleared, but not updated. To fix this, the field mask should select all the subfields of the invalid field." +], +"type": "string" +}, +"finalUrlExpansionAssetViewError": { +"description": "The reasons for the final url expansion asset view error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MISSING_REQUIRED_FILTER", +"REQUIRES_ADVERTISING_CHANNEL_TYPE_FILTER", +"INVALID_ADVERTISING_CHANNEL_TYPE_IN_FILTER", +"CANNOT_SELECT_ASSET_GROUP", +"CANNOT_SELECT_AD_GROUP", +"REQUIRES_FILTER_BY_SINGLE_RESOURCE", +"CANNOT_SELECT_BOTH_AD_GROUP_AND_ASSET_GROUP", +"CANNOT_FILTER_BY_BOTH_AD_GROUP_AND_ASSET_GROUP" +], +"enumDescriptions": [ +"Name unspecified.", +"The received error code is not known in this version.", +"At least one required filter has to be applied in the query.", +"Advertising channel type filter is required.", +"Advertising channel type filter has an invalid value.", +"Asset group cannot be selected in the query.", +"Ad group cannot be selected in the query.", +"A selected field/resource requires filtering by a single resource.", +"Both ad group and asset group cannot be selected in the query.", +"Both ad group and asset group cannot be filtered in the query." +], +"type": "string" +}, +"functionError": { +"description": "The reasons for the function error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_FUNCTION_FORMAT", +"DATA_TYPE_MISMATCH", +"INVALID_CONJUNCTION_OPERANDS", +"INVALID_NUMBER_OF_OPERANDS", +"INVALID_OPERAND_TYPE", +"INVALID_OPERATOR", +"INVALID_REQUEST_CONTEXT_TYPE", +"INVALID_FUNCTION_FOR_CALL_PLACEHOLDER", +"INVALID_FUNCTION_FOR_PLACEHOLDER", +"INVALID_OPERAND", +"MISSING_CONSTANT_OPERAND_VALUE", +"INVALID_CONSTANT_OPERAND_VALUE", +"INVALID_NESTING", +"MULTIPLE_FEED_IDS_NOT_SUPPORTED", +"INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA", +"INVALID_ATTRIBUTE_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The format of the function is not recognized as a supported function format.", +"Operand data types do not match.", +"The operands cannot be used together in a conjunction.", +"Invalid numer of Operands.", +"Operand Type not supported.", +"Operator not supported.", +"Request context type not supported.", +"The matching function is not allowed for call placeholders", +"The matching function is not allowed for the specified placeholder", +"Invalid operand.", +"Missing value for the constant operand.", +"The value of the constant operand is invalid.", +"Invalid function nesting.", +"The Feed ID was different from another Feed ID in the same function.", +"The matching function is invalid for use with a feed with a fixed schema.", +"Invalid attribute name." +], +"type": "string" +}, +"functionParsingError": { +"description": "The reasons for the function parsing error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_MORE_INPUT", +"EXPECTED_CHARACTER", +"UNEXPECTED_SEPARATOR", +"UNMATCHED_LEFT_BRACKET", +"UNMATCHED_RIGHT_BRACKET", +"TOO_MANY_NESTED_FUNCTIONS", +"MISSING_RIGHT_HAND_OPERAND", +"INVALID_OPERATOR_NAME", +"FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER", +"NO_OPERANDS", +"TOO_MANY_OPERANDS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Unexpected end of function string.", +"Could not find an expected character.", +"Unexpected separator character.", +"Unmatched left bracket or parenthesis.", +"Unmatched right bracket or parenthesis.", +"Functions are nested too deeply.", +"Missing right-hand-side operand.", +"Invalid operator/function name.", +"Feed attribute operand's argument is not an integer.", +"Missing function operands.", +"Function had too many operands." +], +"type": "string" +}, +"geoTargetConstantSuggestionError": { +"description": "The reasons for the geo target constant suggestion error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LOCATION_NAME_SIZE_LIMIT", +"LOCATION_NAME_LIMIT", +"INVALID_COUNTRY_CODE", +"REQUEST_PARAMETERS_UNSET" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A location name cannot be greater than 300 characters.", +"At most 25 location names can be specified in a SuggestGeoTargetConstants method.", +"The country code is invalid.", +"Geo target constant resource names or location names must be provided in the request." +], +"type": "string" +}, +"goalError": { +"description": "The reasons for the goal error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RETENTION_GOAL_ALREADY_EXISTS", +"HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT", +"HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE", +"CUSTOMER_LIFECYCLE_OPTIMIZATION_ACCOUNT_TYPE_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Retention goal already exists.", +"When using customer lifecycle optimization goal, if high lifetime value is present then value should be present.", +"When using customer lifecycle optimization goal, high lifetime value should be greater than value.", +"Only Google Ads account can have customer lifecycle optimization goal." +], +"type": "string" +}, +"headerError": { +"description": "The reasons for the header error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_LOGIN_CUSTOMER_ID", +"INVALID_LINKED_CUSTOMER_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The login customer ID could not be validated.", +"The linked customer ID could not be validated." +], +"type": "string" +}, +"idError": { +"description": "The reasons for the id error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_FOUND" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"ID not found" +], +"type": "string" +}, +"identityVerificationError": { +"description": "The reasons for an identity verification error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_EFFECTIVE_BILLING", +"BILLING_NOT_ON_MONTHLY_INVOICING", +"VERIFICATION_ALREADY_STARTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"No effective billing linked to this customer.", +"Customer is not on monthly invoicing.", +"Verification for this program type was already started." +], +"type": "string" +}, +"imageError": { +"description": "The reasons for the image error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_IMAGE", +"STORAGE_ERROR", +"BAD_REQUEST", +"UNEXPECTED_SIZE", +"ANIMATED_NOT_ALLOWED", +"ANIMATION_TOO_LONG", +"SERVER_ERROR", +"CMYK_JPEG_NOT_ALLOWED", +"FLASH_NOT_ALLOWED", +"FLASH_WITHOUT_CLICKTAG", +"FLASH_ERROR_AFTER_FIXING_CLICK_TAG", +"ANIMATED_VISUAL_EFFECT", +"FLASH_ERROR", +"LAYOUT_PROBLEM", +"PROBLEM_READING_IMAGE_FILE", +"ERROR_STORING_IMAGE", +"ASPECT_RATIO_NOT_ALLOWED", +"FLASH_HAS_NETWORK_OBJECTS", +"FLASH_HAS_NETWORK_METHODS", +"FLASH_HAS_URL", +"FLASH_HAS_MOUSE_TRACKING", +"FLASH_HAS_RANDOM_NUM", +"FLASH_SELF_TARGETS", +"FLASH_BAD_GETURL_TARGET", +"FLASH_VERSION_NOT_SUPPORTED", +"FLASH_WITHOUT_HARD_CODED_CLICK_URL", +"INVALID_FLASH_FILE", +"FAILED_TO_FIX_CLICK_TAG_IN_FLASH", +"FLASH_ACCESSES_NETWORK_RESOURCES", +"FLASH_EXTERNAL_JS_CALL", +"FLASH_EXTERNAL_FS_CALL", +"FILE_TOO_LARGE", +"IMAGE_DATA_TOO_LARGE", +"IMAGE_PROCESSING_ERROR", +"IMAGE_TOO_SMALL", +"INVALID_INPUT", +"PROBLEM_READING_FILE", +"IMAGE_CONSTRAINTS_VIOLATED", +"FORMAT_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The image is not valid.", +"The image could not be stored.", +"There was a problem with the request.", +"The image is not of legal dimensions.", +"Animated image are not permitted.", +"Animation is too long.", +"There was an error on the server.", +"Image cannot be in CMYK color format.", +"Flash images are not permitted.", +"Flash images must support clickTag.", +"A flash error has occurred after fixing the click tag.", +"Unacceptable visual effects.", +"There was a problem with the flash image.", +"Incorrect image layout.", +"There was a problem reading the image file.", +"There was an error storing the image.", +"The aspect ratio of the image is not allowed.", +"Flash cannot have network objects.", +"Flash cannot have network methods.", +"Flash cannot have a Url.", +"Flash cannot use mouse tracking.", +"Flash cannot have a random number.", +"Ad click target cannot be '_self'.", +"GetUrl method should only use '_blank'.", +"Flash version is not supported.", +"Flash movies need to have hard coded click URL or clickTAG", +"Uploaded flash file is corrupted.", +"Uploaded flash file can be parsed, but the click tag can not be fixed properly.", +"Flash movie accesses network resources", +"Flash movie attempts to call external javascript code", +"Flash movie attempts to call flash system commands", +"Image file is too large.", +"Image data is too large.", +"Error while processing the image.", +"Image is too small.", +"Input was invalid.", +"There was a problem reading the image file.", +"Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED can't be provided. This happens when asset spec contains more than one constraint and different criteria of different constraints are violated.", +"Image format is not allowed." +], +"type": "string" +}, +"incentiveError": { +"description": "The reasons for the incentive error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_INCENTIVE_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The incentive ID is either invalid or not supported for the given country." +], +"type": "string" +}, +"internalError": { +"description": "An unexpected server-side error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INTERNAL_ERROR", +"ERROR_CODE_NOT_PUBLISHED", +"TRANSIENT_ERROR", +"DEADLINE_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"API encountered unexpected internal error.", +"The intended error code doesn't exist in specified API version. It will be released in a future API version.", +"API encountered an unexpected transient error. The user should retry their request in these cases.", +"The request took longer than a deadline." +], +"type": "string" +}, +"invalidParameterError": { +"description": "The reasons for invalid parameter errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_CURRENCY_CODE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified currency code is invalid." +], +"type": "string" +}, +"invoiceError": { +"description": "The reasons for the invoice error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"YEAR_MONTH_TOO_OLD", +"NOT_INVOICED_CUSTOMER", +"BILLING_SETUP_NOT_APPROVED", +"BILLING_SETUP_NOT_ON_MONTHLY_INVOICING", +"NON_SERVING_CUSTOMER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot request invoices issued before 2019-01-01.", +"Cannot request invoices for customer who doesn't receive invoices.", +"Cannot request invoices for a non approved billing setup.", +"Cannot request invoices for a billing setup that is not on monthly invoicing.", +"Cannot request invoices for a non serving customer." +], +"type": "string" +}, +"keywordPlanAdGroupError": { +"description": "The reason for keyword plan ad group error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_NAME", +"DUPLICATE_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The keyword plan ad group name is missing, empty, longer than allowed limit or contains invalid chars.", +"The keyword plan ad group name is duplicate to an existing keyword plan AdGroup name or other keyword plan AdGroup name in the request." +], +"type": "string" +}, +"keywordPlanAdGroupKeywordError": { +"description": "The reason for keyword plan ad group keyword error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_KEYWORD_MATCH_TYPE", +"DUPLICATE_KEYWORD", +"KEYWORD_TEXT_TOO_LONG", +"KEYWORD_HAS_INVALID_CHARS", +"KEYWORD_HAS_TOO_MANY_WORDS", +"INVALID_KEYWORD_TEXT", +"NEGATIVE_KEYWORD_HAS_CPC_BID", +"NEW_BMM_KEYWORDS_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A keyword or negative keyword has invalid match type.", +"A keyword or negative keyword with same text and match type already exists.", +"Keyword or negative keyword text exceeds the allowed limit.", +"Keyword or negative keyword text has invalid characters or symbols.", +"Keyword or negative keyword text has too many words.", +"Keyword or negative keyword has invalid text.", +"Cpc Bid set for negative keyword.", +"New broad match modifier (BMM) KpAdGroupKeywords are not allowed." +], +"type": "string" +}, +"keywordPlanCampaignError": { +"description": "The reason for keyword plan campaign error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_NAME", +"INVALID_LANGUAGES", +"INVALID_GEOS", +"DUPLICATE_NAME", +"MAX_GEOS_EXCEEDED", +"MAX_LANGUAGES_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A keyword plan campaign name is missing, empty, longer than allowed limit or contains invalid chars.", +"A keyword plan campaign contains one or more untargetable languages.", +"A keyword plan campaign contains one or more invalid geo targets.", +"The keyword plan campaign name is duplicate to an existing keyword plan campaign name or other keyword plan campaign name in the request.", +"The number of geo targets in the keyword plan campaign exceeds limits.", +"The number of languages in the keyword plan campaign exceeds limits." +], +"type": "string" +}, +"keywordPlanCampaignKeywordError": { +"description": "The reason for keyword plan campaign keyword error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_KEYWORD_IS_POSITIVE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Keyword plan campaign keyword is positive." +], +"type": "string" +}, +"keywordPlanError": { +"description": "The reason for keyword plan error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BID_MULTIPLIER_OUT_OF_RANGE", +"BID_TOO_HIGH", +"BID_TOO_LOW", +"BID_TOO_MANY_FRACTIONAL_DIGITS", +"DAILY_BUDGET_TOO_LOW", +"DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS", +"INVALID_VALUE", +"KEYWORD_PLAN_HAS_NO_KEYWORDS", +"KEYWORD_PLAN_NOT_ENABLED", +"KEYWORD_PLAN_NOT_FOUND", +"MISSING_BID", +"MISSING_FORECAST_PERIOD", +"INVALID_FORECAST_DATE_RANGE", +"INVALID_NAME" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The plan's bid multiplier value is outside the valid range.", +"The plan's bid value is too high.", +"The plan's bid value is too low.", +"The plan's cpc bid is not a multiple of the minimum billable unit.", +"The plan's daily budget value is too low.", +"The plan's daily budget is not a multiple of the minimum billable unit.", +"The input has an invalid value.", +"The plan has no keyword.", +"The plan is not enabled and API cannot provide mutation, forecast or stats.", +"The requested plan cannot be found for providing forecast or stats.", +"The plan is missing a cpc bid.", +"The plan is missing required forecast_period field.", +"The plan's forecast_period has invalid forecast date range.", +"The plan's name is invalid." +], +"type": "string" +}, +"keywordPlanIdeaError": { +"description": "The reason for keyword idea error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"URL_CRAWL_ERROR", +"INVALID_VALUE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Error when crawling the input URL.", +"The input has an invalid value." +], +"type": "string" +}, +"labelError": { +"description": "The reason for the label error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_APPLY_INACTIVE_LABEL", +"CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION", +"CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION", +"EXCEEDED_LABEL_LIMIT_PER_TYPE", +"INVALID_RESOURCE_FOR_MANAGER_LABEL", +"DUPLICATE_NAME", +"INVALID_LABEL_NAME", +"CANNOT_ATTACH_LABEL_TO_DRAFT", +"CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"An inactive label cannot be applied.", +"A label cannot be applied to a disabled ad group criterion.", +"A label cannot be applied to a negative ad group criterion.", +"Cannot apply more than 50 labels per resource.", +"Labels from a manager account cannot be applied to campaign, ad group, ad group ad, or ad group criterion resources.", +"Label names must be unique.", +"Label names cannot be empty.", +"Labels cannot be applied to a draft.", +"Labels not from a manager account cannot be applied to the customer resource." +], +"type": "string" +}, +"languageCodeError": { +"description": "The reasons for the language code error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LANGUAGE_CODE_NOT_FOUND", +"INVALID_LANGUAGE_CODE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The input language code is not recognized.", +"The language code is not supported." +], +"type": "string" +}, +"listOperationError": { +"description": "An error with a list operation.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUIRED_FIELD_MISSING", +"DUPLICATE_VALUES" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Field required in value is missing.", +"Duplicate or identical value is sent in multiple list operations." +], +"type": "string" +}, +"managerLinkError": { +"description": "The reasons for the manager link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING", +"TOO_MANY_MANAGERS", +"TOO_MANY_INVITES", +"ALREADY_INVITED_BY_THIS_MANAGER", +"ALREADY_MANAGED_BY_THIS_MANAGER", +"ALREADY_MANAGED_IN_HIERARCHY", +"DUPLICATE_CHILD_FOUND", +"CLIENT_HAS_NO_ADMIN_USER", +"MAX_DEPTH_EXCEEDED", +"CYCLE_NOT_ALLOWED", +"TOO_MANY_ACCOUNTS", +"TOO_MANY_ACCOUNTS_AT_MANAGER", +"NON_OWNER_USER_CANNOT_MODIFY_LINK", +"SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS", +"CLIENT_OUTSIDE_TREE", +"INVALID_STATUS_CHANGE", +"INVALID_CHANGE", +"CUSTOMER_CANNOT_MANAGE_SELF", +"CREATING_ENABLED_LINK_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The manager and client have incompatible account types.", +"Client is already linked to too many managers.", +"Manager has too many pending invitations.", +"Client is already invited by this manager.", +"The client is already managed by this manager.", +"Client is already managed in hierarchy.", +"Manager and sub-manager to be linked have duplicate client.", +"Client has no active user that can access the client account.", +"Adding this link would exceed the maximum hierarchy depth.", +"Adding this link will create a cycle.", +"Manager account has the maximum number of linked clients.", +"Parent manager account has the maximum number of linked clients.", +"The account is not authorized owner.", +"Your manager account is suspended, and you are no longer allowed to link to clients.", +"You are not allowed to move a client to a manager that is not under your current hierarchy.", +"The changed status for mutate link is invalid.", +"The change for mutate link is invalid.", +"You are not allowed to link a manager account to itself.", +"The link was created with status ACTIVE and not PENDING." +], +"type": "string" +}, +"mediaBundleError": { +"description": "The reasons for the media bundle error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BAD_REQUEST", +"DOUBLECLICK_BUNDLE_NOT_ALLOWED", +"EXTERNAL_URL_NOT_ALLOWED", +"FILE_TOO_LARGE", +"GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED", +"INVALID_INPUT", +"INVALID_MEDIA_BUNDLE", +"INVALID_MEDIA_BUNDLE_ENTRY", +"INVALID_MIME_TYPE", +"INVALID_PATH", +"INVALID_URL_REFERENCE", +"MEDIA_DATA_TOO_LARGE", +"MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY", +"SERVER_ERROR", +"STORAGE_ERROR", +"SWIFFY_BUNDLE_NOT_ALLOWED", +"TOO_MANY_FILES", +"UNEXPECTED_SIZE", +"UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT", +"UNSUPPORTED_HTML5_FEATURE", +"URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT", +"CUSTOM_EXIT_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"There was a problem with the request.", +"HTML5 ads using DoubleClick Studio created ZIP files are not supported.", +"Cannot reference URL external to the media bundle.", +"Media bundle file is too large.", +"ZIP file from Google Web Designer is not published.", +"Input was invalid.", +"There was a problem with the media bundle.", +"There was a problem with one or more of the media bundle entries.", +"The media bundle contains a file with an unknown mime type", +"The media bundle contain an invalid asset path.", +"HTML5 ad is trying to reference an asset not in .ZIP file", +"Media data is too large.", +"The media bundle contains no primary entry.", +"There was an error on the server.", +"The image could not be stored.", +"Media bundle created with the Swiffy tool is not allowed.", +"The media bundle contains too many files.", +"The media bundle is not of legal dimensions.", +"Google Web Designer not created for \"Google Ads\" environment.", +"Unsupported HTML5 feature in HTML5 asset.", +"URL in HTML5 entry is not ssl compliant.", +"Custom exits not allowed in HTML5 entry." +], +"type": "string" +}, +"mediaFileError": { +"description": "The reasons for the media file error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_CREATE_STANDARD_ICON", +"CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES", +"CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA", +"DUPLICATE_MEDIA", +"EMPTY_FIELD", +"RESOURCE_REFERENCED_IN_MULTIPLE_OPS", +"FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE", +"INVALID_MEDIA_FILE_ID", +"INVALID_MEDIA_SUB_TYPE", +"INVALID_MEDIA_FILE_TYPE", +"INVALID_MIME_TYPE", +"INVALID_REFERENCE_ID", +"INVALID_YOU_TUBE_ID", +"MEDIA_FILE_FAILED_TRANSCODING", +"MEDIA_NOT_TRANSCODED", +"MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE", +"NO_FIELDS_SPECIFIED", +"NULL_REFERENCE_ID_AND_MEDIA_ID", +"TOO_LONG", +"UNSUPPORTED_TYPE", +"YOU_TUBE_SERVICE_UNAVAILABLE", +"YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION", +"YOU_TUBE_VIDEO_NOT_FOUND" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot create a standard icon type.", +"May only select Standard Icons alone.", +"Image contains both a media file ID and data.", +"A media file with given type and reference ID already exists.", +"A required field was not specified or is an empty string.", +"A media file may only be modified once per call.", +"Field is not supported for the media sub type.", +"The media file ID is invalid.", +"The media subtype is invalid.", +"The media file type is invalid.", +"The mimetype is invalid.", +"The media reference ID is invalid.", +"The YouTube video ID is invalid.", +"Media file has failed transcoding", +"Media file has not been transcoded.", +"The media type does not match the actual media file's type.", +"None of the fields have been specified.", +"One of reference ID or media file ID must be specified.", +"The string has too many characters.", +"The specified type is not supported.", +"YouTube is unavailable for requesting video data.", +"The YouTube video has a non positive duration.", +"The YouTube video ID is syntactically valid but the video was not found." +], +"type": "string" +}, +"mediaUploadError": { +"description": "The reasons for media uploading errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FILE_TOO_BIG", +"UNPARSEABLE_IMAGE", +"ANIMATED_IMAGE_NOT_ALLOWED", +"FORMAT_NOT_ALLOWED", +"EXTERNAL_URL_NOT_ALLOWED", +"INVALID_URL_REFERENCE", +"MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY", +"ANIMATED_VISUAL_EFFECT", +"ANIMATION_TOO_LONG", +"ASPECT_RATIO_NOT_ALLOWED", +"AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE", +"CMYK_JPEG_NOT_ALLOWED", +"FLASH_NOT_ALLOWED", +"FRAME_RATE_TOO_HIGH", +"GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED", +"IMAGE_CONSTRAINTS_VIOLATED", +"INVALID_MEDIA_BUNDLE", +"INVALID_MEDIA_BUNDLE_ENTRY", +"INVALID_MIME_TYPE", +"INVALID_PATH", +"LAYOUT_PROBLEM", +"MALFORMED_URL", +"MEDIA_BUNDLE_NOT_ALLOWED", +"MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE", +"MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS", +"TOO_MANY_FILES_IN_MEDIA_BUNDLE", +"UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT", +"UNSUPPORTED_HTML5_FEATURE", +"URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT", +"VIDEO_FILE_NAME_TOO_LONG", +"VIDEO_MULTIPLE_FILES_WITH_SAME_NAME", +"VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE", +"CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API", +"DIMENSIONS_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The uploaded file is too big.", +"Image data is unparseable.", +"Animated images are not allowed.", +"The image or media bundle format is not allowed.", +"Cannot reference URL external to the media bundle.", +"HTML5 ad is trying to reference an asset not in .ZIP file.", +"The media bundle contains no primary entry.", +"Animation has disallowed visual effects.", +"Animation longer than the allowed 30 second limit.", +"The aspect ratio of the image does not match the expected aspect ratios provided in the asset spec.", +"Audio files are not allowed in bundle.", +"CMYK jpegs are not supported.", +"Flash movies are not allowed.", +"The frame rate of the video is higher than the allowed 5fps.", +"ZIP file from Google Web Designer is not published.", +"Image constraints are violated, but more details (like DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. This happens when asset spec contains more than one constraint and criteria of different constraints are violated.", +"Media bundle data is unrecognizable.", +"There was a problem with one or more of the media bundle entries.", +"The asset has an invalid mime type.", +"The media bundle contains an invalid asset path.", +"Image has layout problem.", +"An asset had a URL reference that is malformed per RFC 1738 convention.", +"The uploaded media bundle format is not allowed.", +"The media bundle is not compatible with the asset spec product type. (For example, Gmail, dynamic remarketing, etc.)", +"A bundle being uploaded that is incompatible with multiple assets for different reasons.", +"The media bundle contains too many files.", +"Google Web Designer not created for \"Google Ads\" environment.", +"Unsupported HTML5 feature in HTML5 asset.", +"URL in HTML5 entry is not SSL compliant.", +"Video file name is longer than the 50 allowed characters.", +"Multiple videos with same name in a bundle.", +"Videos are not allowed in media bundle.", +"This type of media cannot be uploaded through the Google Ads API.", +"The dimensions of the image are not allowed." +], +"type": "string" +}, +"merchantCenterError": { +"description": "Container for enum describing possible merchant center errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MERCHANT_ID_CANNOT_BE_ACCESSED", +"CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Merchant ID is either not found or not linked to the Google Ads customer.", +"Customer not allowlisted for Shopping in Performance Max Campaign." +], +"type": "string" +}, +"multiplierError": { +"description": "The reasons for the multiplier error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MULTIPLIER_TOO_HIGH", +"MULTIPLIER_TOO_LOW", +"TOO_MANY_FRACTIONAL_DIGITS", +"MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY", +"MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING", +"NO_MULTIPLIER_SPECIFIED", +"MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET", +"MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET", +"MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET", +"MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID", +"BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER", +"MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Multiplier value is too high", +"Multiplier value is too low", +"Too many fractional digits", +"A multiplier cannot be set for this bidding strategy", +"A multiplier cannot be set when there is no base bid (for example, content max cpc)", +"A bid multiplier must be specified", +"Multiplier causes bid to exceed daily budget", +"Multiplier causes bid to exceed monthly budget", +"Multiplier causes bid to exceed custom budget", +"Multiplier causes bid to exceed maximum allowed bid", +"Multiplier causes bid to become less than the minimum bid allowed", +"Multiplier type (cpc versus cpm) needs to match campaign's bidding strategy" +], +"type": "string" +}, +"mutateError": { +"description": "An error with a mutate", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_NOT_FOUND", +"ID_EXISTS_IN_MULTIPLE_MUTATES", +"INCONSISTENT_FIELD_VALUES", +"MUTATE_NOT_ALLOWED", +"RESOURCE_NOT_IN_GOOGLE_ADS", +"RESOURCE_ALREADY_EXISTS", +"RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY", +"OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE", +"RESOURCE_READ_ONLY", +"EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Requested resource was not found.", +"Cannot mutate the same resource twice in one request.", +"The field's contents don't match another field that represents the same data.", +"Mutates are not allowed for the requested resource.", +"The resource isn't in Google Ads. It belongs to another ads system.", +"The resource being created already exists.", +"This resource cannot be used with \"validate_only\".", +"This operation cannot be used with \"partial_failure\".", +"Attempt to write to read-only fields.", +"Mutates are generally not allowed if the customer contains non-exempt campaigns without the EU political advertising declaration." +], +"type": "string" +}, +"newResourceCreationError": { +"description": "The reasons for the new resource creation error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CANNOT_SET_ID_FOR_CREATE", +"DUPLICATE_TEMP_IDS", +"TEMP_ID_RESOURCE_HAD_ERRORS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Do not set the id field while creating new resources.", +"Creating more than one resource with the same temp ID is not allowed.", +"Parent resource with specified temp ID failed validation, so no validation will be done for this child resource." +], +"type": "string" +}, +"notAllowlistedError": { +"description": "The reasons for the not allowlisted error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Customer is not allowlisted for accessing this feature." +], +"type": "string" +}, +"notEmptyError": { +"description": "The reasons for the not empty error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EMPTY_LIST" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Empty list." +], +"type": "string" +}, +"nullError": { +"description": "The reasons for the null error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NULL_CONTENT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Specified list/container must not contain any null elements" +], +"type": "string" +}, +"offlineUserDataJobError": { +"description": "The reasons for the offline user data job error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_USER_LIST_ID", +"INVALID_USER_LIST_TYPE", +"NOT_ON_ALLOWLIST_FOR_USER_ID", +"INCOMPATIBLE_UPLOAD_KEY_TYPE", +"MISSING_USER_IDENTIFIER", +"INVALID_MOBILE_ID_FORMAT", +"TOO_MANY_USER_IDENTIFIERS", +"NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT", +"NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES", +"INVALID_PARTNER_ID", +"INVALID_ENCODING", +"INVALID_COUNTRY_CODE", +"INCOMPATIBLE_USER_IDENTIFIER", +"FUTURE_TRANSACTION_TIME", +"INVALID_CONVERSION_ACTION", +"MOBILE_ID_NOT_SUPPORTED", +"INVALID_OPERATION_ORDER", +"CONFLICTING_OPERATION", +"EXTERNAL_UPDATE_ID_ALREADY_EXISTS", +"JOB_ALREADY_STARTED", +"REMOVE_NOT_SUPPORTED", +"REMOVE_ALL_NOT_SUPPORTED", +"INVALID_SHA256_FORMAT", +"CUSTOM_KEY_DISABLED", +"CUSTOM_KEY_NOT_PREDEFINED", +"CUSTOM_KEY_NOT_SET", +"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", +"ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST", +"LIFETIME_VALUE_BUCKET_NOT_IN_RANGE", +"INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES", +"FUTURE_TIME_NOT_ALLOWED", +"LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME", +"CUSTOMER_IDENTIFIER_NOT_ALLOWED", +"INVALID_ITEM_ID", +"FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME", +"INVALID_LIFECYCLE_STAGE", +"INVALID_EVENT_VALUE", +"EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED", +"OPERATION_LEVEL_CONSENT_PROVIDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The user list ID provided for the job is invalid.", +"Type of the user list is not applicable for the job.", +"Customer is not allowisted for using user ID in upload data.", +"Upload data is not compatible with the upload key type of the associated user list.", +"The user identifier is missing valid data.", +"The mobile ID is malformed.", +"Maximum number of user identifiers allowed per request is 100,000 and per operation is 20.", +"Customer is not on the allow-list for store sales direct data.", +"Customer is not on the allow-list for unified store sales data.", +"The partner ID in store sales direct metadata is invalid.", +"The data in user identifier should not be encoded.", +"The country code is invalid.", +"Incompatible user identifier when using third_party_user_id for store sales direct first party data or not using third_party_user_id for store sales third party data.", +"A transaction time in the future is not allowed.", +"The conversion_action specified in transaction_attributes is used to report conversions to a conversion action configured in Google Ads. This error indicates there is no such conversion action in the account.", +"Mobile ID is not supported for store sales direct data.", +"When a remove-all operation is provided, it has to be the first operation of the operation list.", +"Mixing creation and removal of offline data in the same job is not allowed.", +"The external update ID already exists.", +"Once the upload job is started, new operations cannot be added.", +"Remove operation is not allowed for store sales direct updates.", +"Remove-all is not supported for certain offline user data job types.", +"The SHA256 encoded value is malformed.", +"The custom key specified is not enabled for the unified store sales upload.", +"The custom key specified is not predefined through the Google Ads UI.", +"The custom key specified is not set in the upload.", +"The customer has not accepted the customer data terms in the conversion settings page.", +"User attributes cannot be uploaded into a user list.", +"Lifetime bucket value must be a number from 0 to 10; 0 is only accepted for remove operations", +"Identifiers not supported for Customer Match attributes. User attributes can only be provided with contact info (email, phone, address) user identifiers.", +"A time in the future is not allowed.", +"Last purchase date time cannot be less than acquisition date time.", +"Only emails are accepted as user identifiers for shopping loyalty match. {-- api.dev/not-precedent: The identifier is not limited to ids, but also include other user info eg. phone numbers.}", +"Provided item ID is invalid.", +"First purchase date time cannot be greater than the last purchase date time.", +"Provided lifecycle stage is invalid.", +"The event value of the Customer Match user attribute is invalid.", +"All the fields are not present in the EventAttribute of the Customer Match.", +"Consent was provided at the operation level for an OfflineUserDataJobType that expects it at the job level. The provided operation-level consent will be ignored." +], +"type": "string" +}, +"operationAccessDeniedError": { +"description": "The reasons for the operation access denied error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACTION_NOT_PERMITTED", +"CREATE_OPERATION_NOT_PERMITTED", +"REMOVE_OPERATION_NOT_PERMITTED", +"UPDATE_OPERATION_NOT_PERMITTED", +"MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT", +"OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE", +"CREATE_AS_REMOVED_NOT_PERMITTED", +"OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE", +"OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE", +"MUTATE_NOT_PERMITTED_FOR_CUSTOMER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Unauthorized invocation of a service's method (get, mutate, etc.)", +"Unauthorized CREATE operation in invoking a service's mutate method.", +"Unauthorized REMOVE operation in invoking a service's mutate method.", +"Unauthorized UPDATE operation in invoking a service's mutate method.", +"A mutate action is not allowed on this resource, from this client.", +"This operation is not permitted on this campaign type", +"A CREATE operation may not set status to REMOVED.", +"This operation is not allowed because the resource is removed.", +"This operation is not permitted on this ad group type.", +"The mutate is not allowed for this customer." +], +"type": "string" +}, +"operatorError": { +"description": "The reasons for the operator error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPERATOR_NOT_SUPPORTED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Operator not supported." +], +"type": "string" +}, +"partialFailureError": { +"description": "The reasons for the mutate job error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PARTIAL_FAILURE_MODE_REQUIRED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The partial failure field was false in the request. This method requires this field be set to true." +], +"type": "string" +}, +"paymentsAccountError": { +"description": "The reasons for errors in payments accounts service", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_SUPPORTED_FOR_MANAGER_CUSTOMER" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Manager customers are not supported for payments account service." +], +"type": "string" +}, +"policyFindingError": { +"description": "The reasons for the policy finding error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"POLICY_FINDING", +"POLICY_TOPIC_NOT_FOUND" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The resource has been disapproved since the policy summary includes policy topics of type PROHIBITED.", +"The given policy topic does not exist." +], +"type": "string" +}, +"policyValidationParameterError": { +"description": "The reasons for the policy validation parameter error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS", +"UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS", +"CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Ignorable policy topics are not supported for the ad type.", +"Exempt policy violation keys are not supported for the ad type.", +"Cannot set ignorable policy topics and exempt policy violation keys in the same policy violation parameter." +], +"type": "string" +}, +"policyViolationError": { +"description": "The reasons for the policy violation error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"POLICY_ERROR" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A policy was violated. See PolicyViolationDetails for more detail." +], +"type": "string" +}, +"productLinkError": { +"description": "The reasons for the product link error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_OPERATION", +"CREATION_NOT_PERMITTED", +"INVITATION_EXISTS", +"LINK_EXISTS" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The requested operation is invalid. For example, you are not allowed to remove a link from a partner account.", +"The creation request is not permitted.", +"A link cannot be created because a pending link already exists.", +"A link cannot be created because an active link already exists." +], +"type": "string" +}, +"productLinkInvitationError": { +"description": "The reasons for the product link invitation error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_STATUS", +"PERMISSION_DENIED", +"NO_INVITATION_REQUIRED", +"CUSTOMER_NOT_PERMITTED_TO_CREATE_INVITATION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in the version.", +"The invitation status is invalid.", +"The customer doesn't have the permission to perform this action", +"An invitation could not be created, since the user already has admin access to the invited account. Use the ProductLinkService to directly create an active link.", +"The customer is not permitted to create the invitation." +], +"type": "string" +}, +"queryError": { +"description": "An error with the query", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"QUERY_ERROR", +"BAD_ENUM_CONSTANT", +"BAD_ESCAPE_SEQUENCE", +"BAD_FIELD_NAME", +"BAD_LIMIT_VALUE", +"BAD_NUMBER", +"BAD_OPERATOR", +"BAD_PARAMETER_NAME", +"BAD_PARAMETER_VALUE", +"BAD_RESOURCE_TYPE_IN_FROM_CLAUSE", +"BAD_SYMBOL", +"BAD_VALUE", +"DATE_RANGE_TOO_WIDE", +"DATE_RANGE_TOO_NARROW", +"EXPECTED_AND", +"EXPECTED_BY", +"EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE", +"EXPECTED_FILTERS_ON_DATE_RANGE", +"EXPECTED_FROM", +"EXPECTED_LIST", +"EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE", +"EXPECTED_SELECT", +"EXPECTED_SINGLE_VALUE", +"EXPECTED_VALUE_WITH_BETWEEN_OPERATOR", +"INVALID_DATE_FORMAT", +"MISALIGNED_DATE_FOR_FILTER", +"INVALID_STRING_VALUE", +"INVALID_VALUE_WITH_BETWEEN_OPERATOR", +"INVALID_VALUE_WITH_DURING_OPERATOR", +"INVALID_VALUE_WITH_LIKE_OPERATOR", +"OPERATOR_FIELD_MISMATCH", +"PROHIBITED_EMPTY_LIST_IN_CONDITION", +"PROHIBITED_ENUM_CONSTANT", +"PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE", +"PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE", +"PROHIBITED_FIELD_IN_SELECT_CLAUSE", +"PROHIBITED_FIELD_IN_WHERE_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE", +"PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE", +"PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE", +"PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE", +"PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE", +"PROHIBITED_FIELD_OR_SEGMENT_WITH_METRIC", +"LIMIT_VALUE_TOO_LOW", +"PROHIBITED_NEWLINE_IN_STRING", +"PROHIBITED_VALUE_COMBINATION_IN_LIST", +"PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR", +"STRING_NOT_TERMINATED", +"TOO_MANY_SEGMENTS", +"UNEXPECTED_END_OF_QUERY", +"UNEXPECTED_FROM_CLAUSE", +"UNRECOGNIZED_FIELD", +"UNEXPECTED_INPUT", +"REQUESTED_METRICS_FOR_MANAGER", +"FILTER_HAS_TOO_MANY_VALUES", +"REQUIRED_SEGMENT_FIELD_MISSING" +], +"enumDescriptions": [ +"Name unspecified.", +"The received error code is not known in this version.", +"Returned if all other query error reasons are not applicable.", +"A condition used in the query references an invalid enum constant.", +"Query contains an invalid escape sequence.", +"Field name is invalid.", +"Limit value is invalid (for example, not a number)", +"Encountered number can not be parsed.", +"Invalid operator encountered.", +"Parameter unknown or not supported.", +"Parameter have invalid value.", +"Invalid resource type was specified in the FROM clause.", +"Non-ASCII symbol encountered outside of strings.", +"Value is invalid.", +"Date filters fail to restrict date to a range smaller than 31 days. Applicable if the query is segmented by date.", +"Filters on date/week/month/quarter have a start date after end date.", +"Expected AND between values with BETWEEN operator.", +"Expecting ORDER BY to have BY.", +"There was no dimension field selected.", +"Missing filters on date related fields.", +"Missing FROM clause.", +"The operator used in the conditions requires the value to be a list.", +"Fields used in WHERE or ORDER BY clauses are missing from the SELECT clause.", +"SELECT is missing at the beginning of query.", +"A list was passed as a value to a condition whose operator expects a single value.", +"Missing one or both values with BETWEEN operator.", +"Invalid date format. Expected 'YYYY-MM-DD'.", +"Misaligned date value for the filter. The date should be the start of a week/month/quarter if the filtered field is segments.week/segments.month/segments.quarter.", +"Value passed was not a string when it should have been. For example, it was a number or unquoted literal.", +"A String value passed to the BETWEEN operator does not parse as a date.", +"The value passed to the DURING operator is not a Date range literal", +"A value was passed to the LIKE operator.", +"An operator was provided that is inapplicable to the field being filtered.", +"A Condition was found with an empty list.", +"A condition used in the query references an unsupported enum constant.", +"Fields that are not allowed to be selected together were included in the SELECT clause.", +"A field that is not orderable was included in the ORDER BY clause.", +"A field that is not selectable was included in the SELECT clause.", +"A field that is not filterable was included in the WHERE clause.", +"Resource type specified in the FROM clause is not supported by this service.", +"A field that comes from an incompatible resource was included in the SELECT clause.", +"A field that comes from an incompatible resource was included in the WHERE clause.", +"A metric incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", +"A segment incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", +"A segment in the SELECT clause is incompatible with a metric in the SELECT or WHERE clause.", +"A metric may not be selected with one of the selected resource fields, or segmented by one of the selected segment fields.", +"The value passed to the limit clause is too low.", +"Query has a string containing a newline character.", +"List contains values of different types.", +"The values passed to the BETWEEN operator are not of the same type.", +"Query contains unterminated string.", +"Too many segments are specified in SELECT clause.", +"Query is incomplete and cannot be parsed.", +"FROM clause cannot be specified in this query.", +"Query contains one or more unrecognized fields.", +"Query has an unexpected extra part.", +"Metrics cannot be requested for a manager account. To retrieve metrics, issue separate requests against each client account under the manager account.", +"The number of values (right-hand-side operands) in a filter exceeds the limit.", +"Required segment field is missing." +], +"type": "string" +}, +"quotaError": { +"description": "An error with the amount of quota remaining.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_EXHAUSTED", +"ACCESS_PROHIBITED", +"RESOURCE_TEMPORARILY_EXHAUSTED", +"EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION", +"EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION", +"PAYMENTS_PROFILE_ACTIVATION_RATE_LIMIT_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Too many requests.", +"Access is prohibited.", +"Too many requests in a short amount of time.", +"Too many expensive requests from query pattern over a short amount of time.", +"Too many expensive requests from query pattern over an extended duration of time.", +"To activate ad serving in a customer account, it has to be linked with a payment profile (also known as a Billing Customer Number, or BCN), which is then billed for the costs incurred by that customer account. This error will be thrown if too many customer accounts are activated in a short period of time for the same payment profile. Once this rate limit is exceeded, the customer should wait for a week before trying again, or contact Google Ads customer support to reset the rate limits. See https://support.google.com/google-ads/answer/6372658 to learn more about this limit." +], +"type": "string" +}, +"rangeError": { +"description": "The reasons for the range error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_LOW", +"TOO_HIGH" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Too low.", +"Too high." +], +"type": "string" +}, +"reachPlanError": { +"description": "The reasons for the reach plan error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_FORECASTABLE_MISSING_RATE", +"NOT_FORECASTABLE_NOT_ENOUGH_INVENTORY", +"NOT_FORECASTABLE_ACCOUNT_NOT_ENABLED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Not forecastable due to missing rate card data.", +"Not forecastable due to not enough inventory.", +"Not forecastable due to account not being enabled." +], +"type": "string" +}, +"recommendationError": { +"description": "The reasons for error in applying a recommendation", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUDGET_AMOUNT_TOO_SMALL", +"BUDGET_AMOUNT_TOO_LARGE", +"INVALID_BUDGET_AMOUNT", +"POLICY_ERROR", +"INVALID_BID_AMOUNT", +"ADGROUP_KEYWORD_LIMIT", +"RECOMMENDATION_ALREADY_APPLIED", +"RECOMMENDATION_INVALIDATED", +"TOO_MANY_OPERATIONS", +"NO_OPERATIONS", +"DIFFERENT_TYPES_NOT_SUPPORTED", +"DUPLICATE_RESOURCE_NAME", +"RECOMMENDATION_ALREADY_DISMISSED", +"INVALID_APPLY_REQUEST", +"RECOMMENDATION_TYPE_APPLY_NOT_SUPPORTED", +"INVALID_MULTIPLIER", +"ADVERTISING_CHANNEL_TYPE_GENERATE_NOT_SUPPORTED", +"RECOMMENDATION_TYPE_GENERATE_NOT_SUPPORTED", +"RECOMMENDATION_TYPES_CANNOT_BE_EMPTY", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_INFO", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_STRATEGY_TYPE", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO_WITH_FINAL_URL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_COUNTRY_CODES_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_INVALID_COUNTRY_CODE_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_LANGUAGE_CODES_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_EITHER_POSITIVE_OR_NEGATIVE_LOCATION_IDS_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_AD_GROUP_INFO_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_KEYWORDS_FOR_SEARCH_CHANNEL", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_LOCATION", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_MICROS", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_TARGET_IMPRESSION_SHARE_MICROS_BETWEEN_1_AND_1000000", +"CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_INFO", +"MERCHANT_CENTER_ACCOUNT_ID_NOT_SUPPORTED_ADVERTISING_CHANNEL_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified budget amount is too low for example, lower than minimum currency unit or lower than ad group minimum cost-per-click.", +"The specified budget amount is too large.", +"The specified budget amount is not a valid amount, for example, not a multiple of minimum currency unit.", +"The specified keyword or ad violates ad policy.", +"The specified bid amount is not valid, for example, too many fractional digits, or negative amount.", +"The number of keywords in ad group have reached the maximum allowed.", +"The recommendation requested to apply has already been applied.", +"The recommendation requested to apply has been invalidated.", +"The number of operations in a single request exceeds the maximum allowed.", +"There are no operations in the request.", +"Operations with multiple recommendation types are not supported when partial failure mode is not enabled.", +"Request contains multiple operations with the same resource_name.", +"The recommendation requested to dismiss has already been dismissed.", +"The recommendation apply request was malformed and invalid.", +"The type of recommendation requested to apply is not supported.", +"The target multiplier specified is invalid.", +"The passed in advertising_channel_type is not supported.", +"The passed in recommendation_type is not supported.", +"One or more recommendation_types need to be passed into the generate recommendations request.", +"Bidding info is required for the CAMPAIGN_BUDGET recommendation type.", +"Bidding strategy type is required for the CAMPAIGN_BUDGET recommendation type.", +"Asset group info is required for the campaign budget recommendation type.", +"Asset group info with final url is required for the CAMPAIGN_BUDGET recommendation type.", +"Country codes are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Country code is invalid for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Language codes are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Either positive or negative location ids are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Ad group info is required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Keywords are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", +"Location is required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", +"Target impression share micros are required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", +"Target impression share micros are required to be between 1 and 1000000 for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", +"Target impression share info is required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", +"Merchant Center Account ID is only supported for advertising_channel_type PERFORMANCE_MAX." +], +"type": "string" +}, +"recommendationSubscriptionError": { +"description": "The reasons for the recommendation subscription error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version." +], +"type": "string" +}, +"regionCodeError": { +"description": "The reasons for the region code error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_REGION_CODE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Invalid region code." +], +"type": "string" +}, +"requestError": { +"description": "An error caused by the request", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_NAME_MISSING", +"RESOURCE_NAME_MALFORMED", +"BAD_RESOURCE_ID", +"INVALID_CUSTOMER_ID", +"OPERATION_REQUIRED", +"RESOURCE_NOT_FOUND", +"INVALID_PAGE_TOKEN", +"EXPIRED_PAGE_TOKEN", +"INVALID_PAGE_SIZE", +"PAGE_SIZE_NOT_SUPPORTED", +"REQUIRED_FIELD_MISSING", +"IMMUTABLE_FIELD", +"TOO_MANY_MUTATE_OPERATIONS", +"CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT", +"CANNOT_MODIFY_FOREIGN_FIELD", +"INVALID_ENUM_VALUE", +"DEVELOPER_TOKEN_PARAMETER_MISSING", +"LOGIN_CUSTOMER_ID_PARAMETER_MISSING", +"VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN", +"CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS", +"CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS", +"INCONSISTENT_RETURN_SUMMARY_ROW_VALUE", +"TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED", +"RPC_DEADLINE_TOO_SHORT", +"UNSUPPORTED_VERSION", +"CLOUD_PROJECT_NOT_FOUND" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Resource name is required for this request.", +"Resource name provided is malformed.", +"Resource name provided is malformed.", +"Customer ID is invalid.", +"Mutate operation should have either create, update, or remove specified.", +"Requested resource not found.", +"Next page token specified in user request is invalid.", +"Next page token specified in user request has expired.", +"Page size specified in user request is invalid.", +"Setting the page size is not supported, and will be unavailable in a future version.", +"Required field is missing.", +"The field cannot be modified because it's immutable. It's also possible that the field can be modified using 'create' operation but not 'update'.", +"Received too many entries in request.", +"Request cannot be executed by a manager account.", +"Mutate request was attempting to modify a readonly field. For instance, Budget fields can be requested for Ad Group, but are read-only for adGroups:mutate.", +"Enum value is not permitted.", +"The developer-token parameter is required for all requests.", +"The login-customer-id parameter is required for this request.", +"page_token is set in the validate only request", +"return_summary_row cannot be enabled if request did not select any metrics field.", +"return_summary_row should not be enabled for validate only requests.", +"return_summary_row parameter value should be the same between requests with page_token field set and their original request.", +"The total results count cannot be returned if it was not requested in the original request.", +"Deadline specified by the client was too short.", +"This API version has been sunset and is no longer supported.", +"The Google Cloud project in the request was not found." +], +"type": "string" +}, +"resourceAccessDeniedError": { +"description": "The reasons for the resource access denied error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WRITE_ACCESS_DENIED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"User did not have write access." +], +"type": "string" +}, +"resourceCountLimitExceededError": { +"description": "The reasons for the resource count limit exceeded error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCOUNT_LIMIT", +"CAMPAIGN_LIMIT", +"ADGROUP_LIMIT", +"AD_GROUP_AD_LIMIT", +"AD_GROUP_CRITERION_LIMIT", +"SHARED_SET_LIMIT", +"MATCHING_FUNCTION_LIMIT", +"RESPONSE_ROW_LIMIT_EXCEEDED", +"RESOURCE_LIMIT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Indicates that this request would exceed the number of allowed resources for the Google Ads account. The exact resource type and limit being checked can be inferred from accountLimitType.", +"Indicates that this request would exceed the number of allowed resources in a Campaign. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the Campaign involved is given by enclosingId.", +"Indicates that this request would exceed the number of allowed resources in an ad group. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the ad group involved is given by enclosingId.", +"Indicates that this request would exceed the number of allowed resources in an ad group ad. The exact resource type and limit being checked can be inferred from accountLimitType, and the enclosingId contains the ad group id followed by the ad id, separated by a single comma (,).", +"Indicates that this request would exceed the number of allowed resources in an ad group criterion. The exact resource type and limit being checked can be inferred from accountLimitType, and the enclosingId contains the ad group id followed by the criterion id, separated by a single comma (,).", +"Indicates that this request would exceed the number of allowed resources in this shared set. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the shared set involved is given by enclosingId.", +"Exceeds a limit related to a matching function.", +"The response for this request would exceed the maximum number of rows that can be returned.", +"This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails." +], +"type": "string" +}, +"searchTermInsightError": { +"description": "The reasons for the Search term insight error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FILTERING_NOT_ALLOWED_WITH_SEGMENTS", +"LIMIT_NOT_ALLOWED_WITH_SEGMENTS", +"MISSING_FIELD_IN_SELECT_CLAUSE", +"REQUIRES_FILTER_BY_SINGLE_RESOURCE", +"SORTING_NOT_ALLOWED_WITH_SEGMENTS", +"SUMMARY_ROW_NOT_ALLOWED_WITH_SEGMENTS" +], +"enumDescriptions": [ +"Name unspecified.", +"The received error code is not known in this version.", +"Search term insights cannot be filtered by metrics when segmenting.", +"Search term insights cannot have a LIMIT when segmenting.", +"A selected field requires another field to be selected with it.", +"A selected field/resource requires filtering by a single resource.", +"Search term insights cannot be sorted when segmenting.", +"Search term insights cannot have a summary row when segmenting." +], +"type": "string" +}, +"settingError": { +"description": "The reasons for the setting error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SETTING_TYPE_IS_NOT_AVAILABLE", +"SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN", +"TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP", +"TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL", +"TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP", +"DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT", +"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME", +"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME", +"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE", +"TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN", +"SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN", +"BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The campaign setting is not available for this Google Ads account.", +"The setting is not compatible with the campaign.", +"The supplied TargetingSetting contains an invalid CriterionTypeGroup. See CriterionTypeGroup documentation for CriterionTypeGroups allowed in Campaign or AdGroup TargetingSettings.", +"TargetingSetting must not explicitly set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in which case the system will set them to true automatically).", +"TargetingSetting cannot change any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, INCOME_RANGE) from true to false.", +"At least one feed id should be present.", +"The supplied DynamicSearchAdsSetting contains an invalid domain name.", +"The supplied DynamicSearchAdsSetting contains a subdomain name.", +"The supplied DynamicSearchAdsSetting contains an invalid language code.", +"TargetingSettings in search campaigns should not have CriterionTypeGroup.PLACEMENT set to targetAll.", +"The setting value is not compatible with the campaign type.", +"Switching from observation setting to targeting setting is not allowed for Customer Match lists. See https://support.google.com/google-ads/answer/6299717." +], +"type": "string" +}, +"shareablePreviewError": { +"description": "The reasons for the shareable preview error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_MANY_ASSET_GROUPS_IN_REQUEST", +"ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER" +], +"enumDescriptions": [ +"Enum unspecified.", +"Used for return value only. Represents value unknown in this version.", +"The maximum of 10 asset groups was exceeded.", +"asset group does not exist under this customer." +], +"type": "string" +}, +"sharedCriterionError": { +"description": "The reasons for the shared criterion error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The criterion is not appropriate for the shared set type." +], +"type": "string" +}, +"sharedSetError": { +"description": "The reasons for the shared set error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE", +"DUPLICATE_NAME", +"SHARED_SET_REMOVED", +"SHARED_SET_IN_USE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The customer cannot create this type of shared set.", +"A shared set with this name already exists.", +"Removed shared sets cannot be mutated.", +"The shared set cannot be removed because it is in use." +], +"type": "string" +}, +"shoppingProductError": { +"description": "The reasons for error in querying shopping product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MISSING_CAMPAIGN_FILTER", +"MISSING_AD_GROUP_FILTER", +"UNSUPPORTED_DATE_SEGMENTATION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"A filter on the `campaign` resource name is missing.", +"A filter on the `ad_group` resource name is missing.", +"Date segmentation is not supported." +], +"type": "string" +}, +"sizeLimitError": { +"description": "The reasons for the size limit error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUEST_SIZE_LIMIT_EXCEEDED", +"RESPONSE_SIZE_LIMIT_EXCEEDED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The number of entries in the request exceeds the system limit, or the contents of the operations exceed transaction limits due to their size or complexity. Try reducing the number of entries per request.", +"The number of entries in the response exceeds the system limit." +], +"type": "string" +}, +"smartCampaignError": { +"description": "The reasons for the Smart campaign error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_BUSINESS_LOCATION_ID", +"INVALID_CAMPAIGN", +"BUSINESS_NAME_OR_BUSINESS_LOCATION_ID_MISSING", +"REQUIRED_SUGGESTION_FIELD_MISSING", +"GEO_TARGETS_REQUIRED", +"CANNOT_DETERMINE_SUGGESTION_LOCALE", +"FINAL_URL_NOT_CRAWLABLE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The business location id is invalid.", +"The SmartCampaignSetting resource is only applicable for campaigns with advertising channel type SMART.", +"The business name or business location id is required.", +"A Smart campaign suggestion request field is required.", +"A location list or proximity is required.", +"The locale could not be determined.", +"The final URL could not be crawled." +], +"type": "string" +}, +"stringFormatError": { +"description": "The reasons for the string format error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ILLEGAL_CHARS", +"INVALID_FORMAT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The input string value contains disallowed characters.", +"The input string value is invalid for the associated field." +], +"type": "string" +}, +"stringLengthError": { +"description": "The reasons for the string length error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EMPTY", +"TOO_SHORT", +"TOO_LONG" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified field should have a least one non-whitespace character in it.", +"Too short.", +"Too long." +], +"type": "string" +}, +"thirdPartyAppAnalyticsLinkError": { +"description": "The reasons for the third party app analytics link mutate error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_ANALYTICS_PROVIDER_ID", +"INVALID_MOBILE_APP_ID", +"MOBILE_APP_IS_NOT_ENABLED", +"CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The provided analytics provider ID is invalid.", +"The provided mobile app ID is invalid.", +"The mobile app corresponding to the provided app ID is not active/enabled.", +"Regenerating shareable link ID is only allowed on active links" +], +"type": "string" +}, +"timeZoneError": { +"description": "The reasons for the time zone error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_TIME_ZONE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Time zone is not valid." +], +"type": "string" +}, +"urlFieldError": { +"description": "An error with a URL field mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_TRACKING_URL_TEMPLATE", +"INVALID_TAG_IN_TRACKING_URL_TEMPLATE", +"MISSING_TRACKING_URL_TEMPLATE_TAG", +"MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE", +"INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE", +"MALFORMED_TRACKING_URL_TEMPLATE", +"MISSING_HOST_IN_TRACKING_URL_TEMPLATE", +"INVALID_TLD_IN_TRACKING_URL_TEMPLATE", +"REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG", +"INVALID_FINAL_URL", +"INVALID_TAG_IN_FINAL_URL", +"REDUNDANT_NESTED_FINAL_URL_TAG", +"MISSING_PROTOCOL_IN_FINAL_URL", +"INVALID_PROTOCOL_IN_FINAL_URL", +"MALFORMED_FINAL_URL", +"MISSING_HOST_IN_FINAL_URL", +"INVALID_TLD_IN_FINAL_URL", +"INVALID_FINAL_MOBILE_URL", +"INVALID_TAG_IN_FINAL_MOBILE_URL", +"REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG", +"MISSING_PROTOCOL_IN_FINAL_MOBILE_URL", +"INVALID_PROTOCOL_IN_FINAL_MOBILE_URL", +"MALFORMED_FINAL_MOBILE_URL", +"MISSING_HOST_IN_FINAL_MOBILE_URL", +"INVALID_TLD_IN_FINAL_MOBILE_URL", +"INVALID_FINAL_APP_URL", +"INVALID_TAG_IN_FINAL_APP_URL", +"REDUNDANT_NESTED_FINAL_APP_URL_TAG", +"MULTIPLE_APP_URLS_FOR_OSTYPE", +"INVALID_OSTYPE", +"INVALID_PROTOCOL_FOR_APP_URL", +"INVALID_PACKAGE_ID_FOR_APP_URL", +"URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT", +"INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY", +"INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE", +"INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE", +"REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG", +"MISSING_PROTOCOL", +"INVALID_PROTOCOL", +"INVALID_URL", +"DESTINATION_URL_DEPRECATED", +"INVALID_TAG_IN_URL", +"MISSING_URL_TAG", +"DUPLICATE_URL_ID", +"INVALID_URL_ID", +"FINAL_URL_SUFFIX_MALFORMED", +"INVALID_TAG_IN_FINAL_URL_SUFFIX", +"INVALID_TOP_LEVEL_DOMAIN", +"MALFORMED_TOP_LEVEL_DOMAIN", +"MALFORMED_URL", +"MISSING_HOST", +"NULL_CUSTOM_PARAMETER_VALUE", +"VALUE_TRACK_PARAMETER_NOT_SUPPORTED", +"UNSUPPORTED_APP_STORE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The tracking url template is invalid.", +"The tracking url template contains invalid tag.", +"The tracking url template must contain at least one tag (for example, {lpurl}), This applies only to tracking url template associated with website ads or product ads.", +"The tracking url template must start with a valid protocol (or lpurl tag).", +"The tracking url template starts with an invalid protocol.", +"The tracking url template contains illegal characters.", +"The tracking url template must contain a host name (or lpurl tag).", +"The tracking url template has an invalid or missing top level domain extension.", +"The tracking url template contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", +"The final url is invalid.", +"The final url contains invalid tag.", +"The final url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", +"The final url must start with a valid protocol.", +"The final url starts with an invalid protocol.", +"The final url contains illegal characters.", +"The final url must contain a host name.", +"The tracking url template has an invalid or missing top level domain extension.", +"The final mobile url is invalid.", +"The final mobile url contains invalid tag.", +"The final mobile url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", +"The final mobile url must start with a valid protocol.", +"The final mobile url starts with an invalid protocol.", +"The final mobile url contains illegal characters.", +"The final mobile url must contain a host name.", +"The tracking url template has an invalid or missing top level domain extension.", +"The final app url is invalid.", +"The final app url contains invalid tag.", +"The final app url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", +"More than one app url found for the same OS type.", +"The OS type given for an app url is not valid.", +"The protocol given for an app url is not valid. (For example, \"android-app://\")", +"The package id (app id) given for an app url is not valid.", +"The number of url custom parameters for an resource exceeds the maximum limit allowed.", +"An invalid character appears in the parameter key.", +"An invalid character appears in the parameter value.", +"The url custom parameter value fails url tag validation.", +"The custom parameter contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", +"The protocol (http:// or https://) is missing.", +"Unsupported protocol in URL. Only http and https are supported.", +"The url is invalid.", +"Destination Url is deprecated.", +"The url contains invalid tag.", +"The url must contain at least one tag (for example, {lpurl}).", +"Duplicate url id.", +"Invalid url id.", +"The final url suffix cannot begin with '?' or '&' characters and must be a valid query string.", +"The final url suffix cannot contain {lpurl} related or {ignore} tags.", +"The top level domain is invalid, for example, not a public top level domain listed in publicsuffix.org.", +"Malformed top level domain in URL.", +"Malformed URL.", +"No host found in URL.", +"Custom parameter value cannot be null.", +"Track parameter is not supported.", +"The app store connected to the url is not supported." +], +"type": "string" +}, +"userDataError": { +"description": "The reasons for the user data error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED", +"TOO_MANY_USER_IDENTIFIERS", +"USER_LIST_NOT_APPLICABLE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Customer is not allowed to perform operations related to Customer Match.", +"Maximum number of user identifiers allowed for each request is 100 and for each operation is 20.", +"Current user list is not applicable for the given customer." +], +"type": "string" +}, +"userListCustomerTypeError": { +"description": "The reasons for a user list customer type error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONFLICTING_CUSTOMER_TYPES", +"NO_ACCESS_TO_USER_LIST", +"USERLIST_NOT_ELIGIBLE", +"CONVERSION_TRACKING_NOT_ENABLED_OR_NOT_MCC_MANAGER_ACCOUNT", +"TOO_MANY_USER_LISTS_FOR_THE_CUSTOMER_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot add the conflicting customer types to the same user list. Conflicting labels: 1. Purchasers - Converted Leads 2. Purchasers - Qualified Leads 3. Purchasers - Cart Abandoners 4. Qualified Leads - Converted Leads 5. Disengaged customers - Converted Leads 6. Disengaged customers - Qualified Leads 7. Disengaged customers - Cart Abandoners 8. Converted Leads - Loyalty Tier X Members (X = 1..7) 9. Qualified Leads - Loyalty Tier X Members (X = 1..7) 10. Loyalty Tier X Members - Loyalty Tier Y Members (X != Y)", +"The account does not have access to the user list.", +"The given user list is not eligible for applying customer types. The user list must belong to one of the following types: CRM_BASED, RULE_BASED, ADVERTISER_DATA_MODEL_BASED, GCN.", +"To edit the user list customer type, conversion tracking must be enabled in your account. If cross-tracking is enabled, your account must be a MCC manager account to modify user list customer types. More info at https://support.google.com/google-ads/answer/3030657", +"Too many user lists for the customer type." +], +"type": "string" +}, +"userListError": { +"description": "The reasons for the user list error", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED", +"CONCRETE_TYPE_REQUIRED", +"CONVERSION_TYPE_ID_REQUIRED", +"DUPLICATE_CONVERSION_TYPES", +"INVALID_CONVERSION_TYPE", +"INVALID_DESCRIPTION", +"INVALID_NAME", +"INVALID_TYPE", +"CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND", +"INVALID_USER_LIST_LOGICAL_RULE_OPERAND", +"NAME_ALREADY_USED", +"NEW_CONVERSION_TYPE_NAME_REQUIRED", +"CONVERSION_TYPE_NAME_ALREADY_USED", +"OWNERSHIP_REQUIRED_FOR_SET", +"USER_LIST_MUTATE_NOT_SUPPORTED", +"INVALID_RULE", +"INVALID_DATE_RANGE", +"CAN_NOT_MUTATE_SENSITIVE_USERLIST", +"MAX_NUM_RULEBASED_USERLISTS", +"CANNOT_MODIFY_BILLABLE_RECORD_COUNT", +"APP_ID_NOT_SET", +"USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST", +"ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA", +"RULE_TYPE_IS_NOT_SUPPORTED", +"CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND", +"CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS", +"APP_ID_NOT_ALLOWED", +"CANNOT_MUTATE_SYSTEM_LIST", +"MOBILE_APP_IS_SENSITIVE", +"SEED_LIST_DOES_NOT_EXIST", +"INVALID_SEED_LIST_ACCESS_REASON", +"INVALID_SEED_LIST_TYPE", +"INVALID_COUNTRY_CODES", +"PARTNER_AUDIENCE_SOURCE_NOT_SUPPORTED_FOR_USER_LIST_TYPE", +"COMMERCE_PARTNER_NOT_ALLOWED", +"PARTNER_AUDIENCE_INFO_NOT_SUPPORTED_FOR_USER_LIST_TYPE", +"PARTNER_MANAGER_ACCOUNT_DISALLOWED", +"PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA", +"ADVERTISER_TOS_NOT_ACCEPTED", +"ADVERTISER_PARTNER_LINK_MISSING", +"ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA", +"ACCOUNT_SETTING_TYPE_NOT_ALLOWED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Creating and updating external remarketing user lists is not supported.", +"Concrete type of user list is required.", +"Creating/updating user list conversion types requires specifying the conversion type Id.", +"Remarketing user list cannot have duplicate conversion types.", +"Conversion type is invalid/unknown.", +"User list description is empty or invalid.", +"User list name is empty or invalid.", +"Type of the UserList does not match.", +"Embedded logical user lists are not allowed.", +"User list rule operand is invalid.", +"Name is already being used for another user list for the account.", +"Name is required when creating a new conversion type.", +"The given conversion type name has been used.", +"Only an owner account may edit a user list.", +"Creating user list without setting type in oneof user_list field, or creating/updating read-only user list types is not allowed.", +"Rule is invalid.", +"The specified date range is empty.", +"A UserList which is privacy sensitive or legal rejected cannot be mutated by external users.", +"Maximum number of rulebased user lists a customer can have.", +"BasicUserList's billable record field cannot be modified once it is set.", +"crm_based_user_list.app_id field must be set when upload_key_type is MOBILE_ADVERTISING_ID.", +"Name of the user list is reserved for system generated lists and cannot be used.", +"Advertiser needs to be on the allow-list to use remarketing lists created from advertiser uploaded data (for example, Customer Match lists).", +"The provided rule_type is not supported for the user list.", +"Similar user list cannot be used as a logical user list operand.", +"Logical user list should not have a mix of CRM based user list and other types of lists in its rules.", +"crm_based_user_list.app_id field can only be set when upload_key_type is MOBILE_ADVERTISING_ID.", +"Google system generated user lists cannot be mutated.", +"The mobile app associated with the remarketing list is sensitive.", +"One or more given seed lists do not exist.", +"One or more given seed lists are not accessible to the current user.", +"One or more given seed lists have an unsupported type.", +"One or more invalid country codes are added to Lookalike UserList.", +"The partner audience source is not supported for the user list type.", +"The commerce partner is only supported for COMMERCE_AUDIENCE.", +"The partner audience info is not supported for the user list type.", +"Manager account is not allowed to create this UserList.", +"This UserList can only be created by allowlisted partners.", +"The advertiser must accept the Terms of Service to create this UserList.", +"The advertiser must have an active link to the partner to create this UserList.", +"This UserList can only be created for allowlisted advertisers.", +"This UserList is not allowed for this account type." +], +"type": "string" +}, +"videoCampaignError": { +"description": "An error with a Video Campaign mutate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MUTATE_REQUIRES_RESERVATION" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Cannot modify the video campaign without reservation. See https://support.google.com/google-ads/answer/9547606." +], +"type": "string" +}, +"youtubeVideoRegistrationError": { +"description": "The reasons for YouTube video registration errors.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VIDEO_NOT_FOUND", +"VIDEO_NOT_ACCESSIBLE", +"VIDEO_NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Video to be registered wasn't found.", +"Video to be registered is not accessible (for example, private).", +"Video to be registered is not eligible (for example, mature content)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__ErrorDetails": { +"description": "Additional error details.", +"id": "GoogleAdsSearchads360V23Errors__ErrorDetails", +"properties": { +"budgetPerDayMinimumErrorDetails": { +"$ref": "GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails", +"description": "Details for a budget below per-day minimum error." +}, +"policyFindingDetails": { +"$ref": "GoogleAdsSearchads360V23Errors__PolicyFindingDetails", +"description": "Describes policy violation findings." +}, +"policyViolationDetails": { +"$ref": "GoogleAdsSearchads360V23Errors__PolicyViolationDetails", +"description": "Describes an ad policy violation." +}, +"quotaErrorDetails": { +"$ref": "GoogleAdsSearchads360V23Errors__QuotaErrorDetails", +"description": "Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay." +}, +"resourceCountDetails": { +"$ref": "GoogleAdsSearchads360V23Errors__ResourceCountDetails", +"description": "Details for a resource count limit exceeded error." +}, +"unpublishedErrorCode": { +"description": "The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__ErrorLocation": { +"description": "Describes the part of the request proto that caused the error.", +"id": "GoogleAdsSearchads360V23Errors__ErrorLocation", +"properties": { +"fieldPathElements": { +"description": "A field path that indicates which field was invalid in the request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__PolicyFindingDetails": { +"description": "Error returned as part of a mutate response. This error indicates one or more policy findings in the fields of a resource.", +"id": "GoogleAdsSearchads360V23Errors__PolicyFindingDetails", +"properties": { +"policyTopicEntries": { +"description": "The list of policy topics for the resource. Contains the PROHIBITED or FULLY_LIMITED policy topic entries that prevented the resource from being saved (among any other entries the resource may also have).", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__PolicyViolationDetails": { +"description": "Error returned as part of a mutate response. This error indicates single policy violation by some text in one of the fields.", +"id": "GoogleAdsSearchads360V23Errors__PolicyViolationDetails", +"properties": { +"externalPolicyDescription": { +"description": "Human readable description of policy violation.", +"type": "string" +}, +"externalPolicyName": { +"description": "Human readable name of the policy.", +"type": "string" +}, +"isExemptible": { +"description": "Whether user can file an exemption request for this violation.", +"type": "boolean" +}, +"key": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey", +"description": "Unique identifier for this violation. If policy is exemptible, this key may be used to request exemption." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__QuotaErrorDetails": { +"description": "Additional quota error details when there is QuotaError.", +"id": "GoogleAdsSearchads360V23Errors__QuotaErrorDetails", +"properties": { +"rateName": { +"description": "The high level description of the quota bucket. Examples are \"Get requests for standard access\" or \"Requests per account\".", +"type": "string" +}, +"rateScope": { +"description": "The rate scope of the quota limit.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCOUNT", +"DEVELOPER" +], +"enumDescriptions": [ +"Unspecified enum", +"Used for return value only. Represents value unknown in this version.", +"Per customer account quota", +"Per project quota" +], +"type": "string" +}, +"retryDelay": { +"description": "Backoff period that customers should wait before sending next request.", +"format": "google-duration", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__ResourceCountDetails": { +"description": "Error details returned when an resource count limit was exceeded.", +"id": "GoogleAdsSearchads360V23Errors__ResourceCountDetails", +"properties": { +"enclosingId": { +"description": "The ID of the resource whose limit was exceeded. External customer ID if the limit is for a customer.", +"type": "string" +}, +"enclosingResource": { +"description": "The name of the resource ( etc.) whose limit was exceeded.", +"type": "string" +}, +"existingCount": { +"description": "The count of existing entities.", +"format": "int32", +"type": "integer" +}, +"limit": { +"description": "The limit which was exceeded.", +"format": "int32", +"type": "integer" +}, +"limitType": { +"description": "The resource limit type which was exceeded.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGNS_PER_CUSTOMER", +"BASE_CAMPAIGNS_PER_CUSTOMER", +"EXPERIMENT_CAMPAIGNS_PER_CUSTOMER", +"HOTEL_CAMPAIGNS_PER_CUSTOMER", +"SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER", +"AD_GROUPS_PER_CAMPAIGN", +"AD_GROUPS_PER_SHOPPING_CAMPAIGN", +"AD_GROUPS_PER_HOTEL_CAMPAIGN", +"REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN", +"REPORTING_AD_GROUPS_PER_APP_CAMPAIGN", +"MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN", +"AD_GROUP_CRITERIA_PER_CUSTOMER", +"BASE_AD_GROUP_CRITERIA_PER_CUSTOMER", +"EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER", +"AD_GROUP_CRITERIA_PER_CAMPAIGN", +"CAMPAIGN_CRITERIA_PER_CUSTOMER", +"BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER", +"EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER", +"WEBPAGE_CRITERIA_PER_CUSTOMER", +"BASE_WEBPAGE_CRITERIA_PER_CUSTOMER", +"EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER", +"COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP", +"CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER", +"CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER", +"CRITERIA_PER_AD_GROUP", +"LISTING_GROUPS_PER_AD_GROUP", +"EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER", +"IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER", +"COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN", +"NEGATIVE_KEYWORDS_PER_CAMPAIGN", +"NEGATIVE_PLACEMENTS_PER_CAMPAIGN", +"GEO_TARGETS_PER_CAMPAIGN", +"NEGATIVE_IP_BLOCKS_PER_CAMPAIGN", +"PROXIMITIES_PER_CAMPAIGN", +"LISTING_SCOPES_PER_SHOPPING_CAMPAIGN", +"LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN", +"NEGATIVE_KEYWORDS_PER_SHARED_SET", +"NEGATIVE_PLACEMENTS_PER_SHARED_SET", +"SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT", +"SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER", +"HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP", +"BIDDING_STRATEGIES_PER_CUSTOMER", +"BASIC_USER_LISTS_PER_CUSTOMER", +"LOGICAL_USER_LISTS_PER_CUSTOMER", +"RULE_BASED_USER_LISTS_PER_CUSTOMER", +"BASE_AD_GROUP_ADS_PER_CUSTOMER", +"EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER", +"AD_GROUP_ADS_PER_CAMPAIGN", +"TEXT_AND_OTHER_ADS_PER_AD_GROUP", +"IMAGE_ADS_PER_AD_GROUP", +"SHOPPING_SMART_ADS_PER_AD_GROUP", +"RESPONSIVE_SEARCH_ADS_PER_AD_GROUP", +"APP_ADS_PER_AD_GROUP", +"APP_ENGAGEMENT_ADS_PER_AD_GROUP", +"LOCAL_ADS_PER_AD_GROUP", +"VIDEO_ADS_PER_AD_GROUP", +"LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER", +"PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP", +"CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER", +"CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP", +"SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER", +"SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP", +"STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER", +"STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP", +"MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER", +"MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP", +"HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER", +"HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP", +"CALL_CUSTOMER_ASSETS_PER_CUSTOMER", +"CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"CALL_AD_GROUP_ASSETS_PER_AD_GROUP", +"PRICE_CUSTOMER_ASSETS_PER_CUSTOMER", +"PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"PRICE_AD_GROUP_ASSETS_PER_AD_GROUP", +"AD_IMAGE_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"AD_IMAGE_AD_GROUP_ASSETS_PER_AD_GROUP", +"PAGE_FEED_ASSET_SETS_PER_CUSTOMER", +"DYNAMIC_EDUCATION_FEED_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_PAGE_FEED_ASSET_SET", +"ASSETS_PER_DYNAMIC_EDUCATION_FEED_ASSET_SET", +"DYNAMIC_REAL_ESTATE_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_REAL_ESTATE_ASSET_SET", +"DYNAMIC_CUSTOM_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_CUSTOM_ASSET_SET", +"DYNAMIC_HOTELS_AND_RENTALS_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_HOTELS_AND_RENTALS_ASSET_SET", +"DYNAMIC_LOCAL_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_LOCAL_ASSET_SET", +"DYNAMIC_FLIGHTS_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_FLIGHTS_ASSET_SET", +"DYNAMIC_TRAVEL_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_TRAVEL_ASSET_SET", +"DYNAMIC_JOBS_ASSET_SETS_PER_CUSTOMER", +"ASSETS_PER_DYNAMIC_JOBS_ASSET_SET", +"BUSINESS_NAME_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"BUSINESS_LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"VERSIONS_PER_AD", +"USER_FEEDS_PER_CUSTOMER", +"SYSTEM_FEEDS_PER_CUSTOMER", +"FEED_ATTRIBUTES_PER_FEED", +"FEED_ITEMS_PER_CUSTOMER", +"CAMPAIGN_FEEDS_PER_CUSTOMER", +"BASE_CAMPAIGN_FEEDS_PER_CUSTOMER", +"EXPERIMENT_CAMPAIGN_FEEDS_PER_CUSTOMER", +"AD_GROUP_FEEDS_PER_CUSTOMER", +"BASE_AD_GROUP_FEEDS_PER_CUSTOMER", +"EXPERIMENT_AD_GROUP_FEEDS_PER_CUSTOMER", +"AD_GROUP_FEEDS_PER_CAMPAIGN", +"FEED_ITEM_SETS_PER_CUSTOMER", +"FEED_ITEMS_PER_FEED_ITEM_SET", +"CAMPAIGN_EXPERIMENTS_PER_CUSTOMER", +"EXPERIMENT_ARMS_PER_VIDEO_EXPERIMENT", +"OWNED_LABELS_PER_CUSTOMER", +"LABELS_PER_CAMPAIGN", +"LABELS_PER_AD_GROUP", +"LABELS_PER_AD_GROUP_AD", +"LABELS_PER_AD_GROUP_CRITERION", +"TARGET_CUSTOMERS_PER_LABEL", +"KEYWORD_PLANS_PER_USER_PER_CUSTOMER", +"KEYWORD_PLAN_AD_GROUP_KEYWORDS_PER_KEYWORD_PLAN", +"KEYWORD_PLAN_AD_GROUPS_PER_KEYWORD_PLAN", +"KEYWORD_PLAN_NEGATIVE_KEYWORDS_PER_KEYWORD_PLAN", +"KEYWORD_PLAN_CAMPAIGNS_PER_KEYWORD_PLAN", +"CONVERSION_ACTIONS_PER_CUSTOMER", +"BATCH_JOB_OPERATIONS_PER_JOB", +"BATCH_JOBS_PER_CUSTOMER", +"HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP", +"SHARED_SETS_PER_ACCOUNT_FOR_ACCOUNT_LEVEL_NEGATIVE_KEYWORDS", +"ACCOUNT_LEVEL_NEGATIVE_KEYWORDS_PER_SHARED_SET", +"ENABLED_ASSET_PER_HOTEL_PROPERTY_ASSET_SET", +"ENABLED_HOTEL_PROPERTY_ASSET_LINKS_PER_ASSET_GROUP", +"BRANDS_PER_SHARED_SET", +"ENABLED_BRAND_LIST_CRITERIA_PER_CAMPAIGN", +"SHARED_SETS_PER_ACCOUNT_FOR_BRAND", +"LOOKALIKE_USER_LISTS_PER_CUSTOMER", +"LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN", +"BUSINESS_MESSAGE_ASSET_LINKS_PER_CUSTOMER", +"WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_CAMPAIGN", +"WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_AD_GROUP", +"BRAND_LIST_CRITERIA_PER_AD_GROUP" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified operation unknown in this version.", +"Number of ENABLED and PAUSED campaigns per customer.", +"Number of ENABLED and PAUSED base campaigns per customer.", +"Number of ENABLED and PAUSED experiment campaigns per customer.", +"Number of ENABLED and PAUSED Hotel campaigns per customer.", +"Number of ENABLED and PAUSED Smart Shopping campaigns per customer.", +"Number of ENABLED ad groups per campaign.", +"Number of ENABLED ad groups per Shopping campaign.", +"Number of ENABLED ad groups per Hotel campaign.", +"Number of ENABLED reporting ad groups per local campaign.", +"Number of ENABLED reporting ad groups per App campaign. It includes app campaign and app campaign for engagement.", +"Number of ENABLED managed ad groups per smart campaign.", +"Number of ENABLED ad group criteria per customer. An ad group criterion is considered as ENABLED if: 1. it's not REMOVED 2. its ad group is not REMOVED 3. its campaign is not REMOVED.", +"Number of ad group criteria across all base campaigns for a customer.", +"Number of ad group criteria across all experiment campaigns for a customer.", +"Number of ENABLED ad group criteria per campaign. An ad group criterion is considered as ENABLED if: 1. it's not REMOVED 2. its ad group is not REMOVED.", +"Number of ENABLED campaign criteria per customer.", +"Number of ENABLED campaign criteria across all base campaigns for a customer.", +"Number of ENABLED campaign criteria across all experiment campaigns for a customer.", +"Number of ENABLED webpage criteria per customer, including campaign level and ad group level.", +"Number of ENABLED webpage criteria across all base campaigns for a customer.", +"Meximum number of ENABLED webpage criteria across all experiment campaigns for a customer.", +"Number of combined audience criteria per ad group.", +"Limit for placement criterion type group in customer negative criterion.", +"Limit for YouTube TV channels in customer negative criterion.", +"Number of ENABLED criteria per ad group.", +"Number of listing group criteria per ad group.", +"Number of ENABLED explicitly shared budgets per customer.", +"Number of ENABLED implicitly shared budgets per customer.", +"Number of combined audience criteria per campaign.", +"Number of negative keywords per campaign.", +"Number of excluded campaign criteria in placement dimension, for example, placement, mobile application, YouTube channel, etc. The API criterion type is NOT limited to placement only, and this does not include exclusions at the ad group or other levels.", +"Number of geo targets per campaign.", +"Number of negative IP blocks per campaign.", +"Number of proximity targets per campaign.", +"Number of listing scopes per Shopping campaign.", +"Number of listing scopes per non-Shopping campaign.", +"Number of criteria per negative keyword shared set.", +"Number of criteria per negative placement shared set.", +"Default number of shared sets allowed per type per customer.", +"Number of shared sets of negative placement list type for a manager customer.", +"Number of hotel_advance_booking_window bid modifiers per ad group.", +"Number of ENABLED shared bidding strategies per customer.", +"Number of open basic user lists per customer.", +"Number of open logical user lists per customer.", +"Number of open rule based user lists per customer.", +"Number of ENABLED and PAUSED ad group ads across all base campaigns for a customer.", +"Number of ENABLED and PAUSED ad group ads across all experiment campaigns for a customer.", +"Number of ENABLED and PAUSED ad group ads per campaign.", +"Number of ENABLED ads per ad group that do not fall in to other buckets. Includes text and many other types.", +"Number of ENABLED image ads per ad group.", +"Number of ENABLED shopping smart ads per ad group.", +"Number of ENABLED responsive search ads per ad group.", +"Number of ENABLED app ads per ad group.", +"Number of ENABLED app engagement ads per ad group.", +"Number of ENABLED local ads per ad group.", +"Number of ENABLED video ads per ad group.", +"Number of ENABLED lead form CampaignAssets per campaign.", +"Number of ENABLED promotion CustomerAssets per customer.", +"Number of ENABLED promotion CampaignAssets per campaign.", +"Number of ENABLED promotion AdGroupAssets per ad group.", +"Number of ENABLED callout CustomerAssets per customer.", +"Number of ENABLED callout CampaignAssets per campaign.", +"Number of ENABLED callout AdGroupAssets per ad group.", +"Number of ENABLED sitelink CustomerAssets per customer.", +"Number of ENABLED sitelink CampaignAssets per campaign.", +"Number of ENABLED sitelink AdGroupAssets per ad group.", +"Number of ENABLED structured snippet CustomerAssets per customer.", +"Number of ENABLED structured snippet CampaignAssets per campaign.", +"Number of ENABLED structured snippet AdGroupAssets per ad group.", +"Number of ENABLED mobile app CustomerAssets per customer.", +"Number of ENABLED mobile app CampaignAssets per campaign.", +"Number of ENABLED mobile app AdGroupAssets per ad group.", +"Number of ENABLED hotel callout CustomerAssets per customer.", +"Number of ENABLED hotel callout CampaignAssets per campaign.", +"Number of ENABLED hotel callout AdGroupAssets per ad group.", +"Number of ENABLED call CustomerAssets per customer.", +"Number of ENABLED call CampaignAssets per campaign.", +"Number of ENABLED call AdGroupAssets per ad group.", +"Number of ENABLED price CustomerAssets per customer.", +"Number of ENABLED price CampaignAssets per campaign.", +"Number of ENABLED price AdGroupAssets per ad group.", +"Number of ENABLED ad image CampaignAssets per campaign.", +"Number of ENABLED ad image AdGroupAssets per ad group.", +"Number of ENABLED page feed asset sets per customer.", +"Number of ENABLED dynamic education feed asset sets per customer.", +"Number of ENABLED assets per page feed asset set.", +"Number of ENABLED assets per dynamic education asset set.", +"Number of ENABLED dynamic real estate asset sets per customer.", +"Number of ENABLED assets per dynamic real estate asset set.", +"Number of ENABLED dynamic custom asset sets per customer.", +"Number of ENABLED assets per dynamic custom asset set.", +"Number of ENABLED dynamic hotels and rentals asset sets per customer.", +"Number of ENABLED assets per dynamic hotels and rentals asset set.", +"Number of ENABLED dynamic local asset sets per customer.", +"Number of ENABLED assets per dynamic local asset set.", +"Number of ENABLED dynamic flights asset sets per customer.", +"Number of ENABLED assets per dynamic flights asset set.", +"Number of ENABLED dynamic travel asset sets per customer.", +"Number of ENABLED assets per dynamic travel asset set.", +"Number of ENABLED dynamic jobs asset sets per customer.", +"Number of ENABLED assets per dynamic jobs asset set.", +"Number of ENABLED business name CampaignAssets per campaign.", +"Number of ENABLED business logo CampaignAssets per campaign.", +"Number of versions per ad.", +"Number of ENABLED user feeds per customer.", +"Number of ENABLED system feeds per customer.", +"Number of feed attributes per feed.", +"Number of ENABLED feed items per customer.", +"Number of ENABLED campaign feeds per customer.", +"Number of ENABLED campaign feeds across all base campaigns for a customer.", +"Number of ENABLED campaign feeds across all experiment campaigns for a customer.", +"Number of ENABLED ad group feeds per customer.", +"Number of ENABLED ad group feeds across all base campaigns for a customer.", +"Number of ENABLED ad group feeds across all experiment campaigns for a customer.", +"Number of ENABLED ad group feeds per campaign.", +"Number of ENABLED feed items per customer.", +"Number of feed items per feed item set.", +"Number of ENABLED campaign experiments per customer.", +"Number of video experiment arms per experiment.", +"Number of owned labels per customer.", +"Number of applied labels per campaign.", +"Number of applied labels per ad group.", +"Number of applied labels per ad group ad.", +"Number of applied labels per ad group criterion.", +"Number of customers with a single label applied.", +"Number of ENABLED keyword plans per user per customer. The limit is applied per pair because by default a plan is private to a user of a customer. Each user of a customer has their own independent limit.", +"Number of keyword plan ad group keywords per keyword plan.", +"Number of keyword plan ad groups per keyword plan.", +"Number of keyword plan negative keywords (both campaign and ad group) per keyword plan.", +"Number of keyword plan campaigns per keyword plan.", +"Number of ENABLED conversion actions per customer.", +"Number of operations in a single batch job.", +"Number of PENDING or ENABLED batch jobs per customer.", +"Number of hotel check-in date range bid modifiers per ad agroup.", +"Number of shared sets of type ACCOUNT_LEVEL_NEGATIVE_KEYWORDS per account.", +"Number of keywords per ACCOUNT_LEVEL_NEGATIVE_KEYWORDS shared set.", +"Maximum number of asset per hotel property asset set.", +"Maximum number of enabled hotel property assets per asset group.", +"Number of criteria per brand shared set.", +"Number of active brand list criteria per campaign.", +"Maximum number of shared sets of brand type for an account.", +"Maximum number of lookalike lists per customer.", +"Total number of enabled IMAGE CampaignAssets with LOGO and LANDSCAPE_LOGO field types per campaign.", +"Maximum number of active business message asset links at customer level.", +"Maximum number of active WhatsApp business message asset links at campaign level.", +"Maximum number of active WhatsApp business message asset links at ad group level.", +"Number of ENABLED brand list criteria per ad group." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__SearchAds360Error": { +"description": "Search Ads 360-specific error.", +"id": "GoogleAdsSearchads360V23Errors__SearchAds360Error", +"properties": { +"details": { +"$ref": "GoogleAdsSearchads360V23Errors__ErrorDetails", +"description": "Additional error details, which are returned by certain error codes. Most error codes do not include details." +}, +"errorCode": { +"$ref": "GoogleAdsSearchads360V23Errors__ErrorCode", +"description": "An enum value that indicates which error occurred." +}, +"location": { +"$ref": "GoogleAdsSearchads360V23Errors__ErrorLocation", +"description": "Describes the part of the request proto that caused the error." +}, +"message": { +"description": "A human-readable description of the error.", +"type": "string" +}, +"trigger": { +"$ref": "GoogleAdsSearchads360V23Common__Value", +"description": "The value that triggered the error." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Errors__SearchAds360Failure": { +"description": "Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.", +"id": "GoogleAdsSearchads360V23Errors__SearchAds360Failure", +"properties": { +"errors": { +"description": "The list of errors that occurred.", +"items": { +"$ref": "GoogleAdsSearchads360V23Errors__SearchAds360Error" +}, +"type": "array" +}, +"requestId": { +"description": "The unique ID of the request that is used for debugging purposes.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue": { +"description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue", +"properties": { +"targetRoas": { +"description": "Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions": { +"description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions", +"properties": { +"targetCpaMicros": { +"description": "Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa": { +"description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa", +"properties": { +"targetCpaMicros": { +"description": "Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare": { +"description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare", +"properties": { +"cpcBidCeilingMicros": { +"description": "Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"location": { +"description": "Output only. The targeted location on the search results page.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ANYWHERE_ON_PAGE", +"TOP_OF_PAGE", +"ABSOLUTE_TOP_OF_PAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Any location on the web page.", +"Top box of ads.", +"Top slot in the top box of ads." +], +"readOnly": true, +"type": "string" +}, +"locationFractionMicros": { +"description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas": { +"description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas", +"properties": { +"targetRoas": { +"description": "Output only. The chosen revenue (based on conversion data) per unit of spend.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend": { +"description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.", +"id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend", +"properties": { +"cpcBidCeilingMicros": { +"description": "Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"targetSpendMicros": { +"deprecated": true, +"description": "Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal": { +"description": "A pending proposal associated with the enclosing account-level budget, if applicable.", +"id": "GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal", +"properties": { +"accountBudgetProposal": { +"description": "Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`", +"readOnly": true, +"type": "string" +}, +"creationDateTime": { +"description": "Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.", +"readOnly": true, +"type": "string" +}, +"endDateTime": { +"description": "Output only. The end time in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"endTimeType": { +"description": "Output only. The end time as a well-defined type, for example, FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The name to assign to the account-level budget.", +"readOnly": true, +"type": "string" +}, +"notes": { +"description": "Output only. Notes associated with this budget.", +"readOnly": true, +"type": "string" +}, +"proposalType": { +"description": "Output only. The type of this proposal, for example, END to end the budget associated with this proposal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CREATE", +"UPDATE", +"END", +"REMOVE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Identifies a request to create a new budget.", +"Identifies a request to edit an existing budget.", +"Identifies a request to end a budget that has already started.", +"Identifies a request to remove a budget that hasn't started yet." +], +"readOnly": true, +"type": "string" +}, +"purchaseOrderNumber": { +"description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.", +"readOnly": true, +"type": "string" +}, +"spendingLimitMicros": { +"description": "Output only. The spending limit in micros. One million is equivalent to one unit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"spendingLimitType": { +"description": "Output only. The spending limit as a well-defined type, for example, INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"readOnly": true, +"type": "string" +}, +"startDateTime": { +"description": "Output only. The start time in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates": { +"description": "Estimates for criterion bids at various positions.", +"id": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates", +"properties": { +"estimatedAddClicksAtFirstPositionCpc": { +"description": "Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"estimatedAddCostAtFirstPositionCpc": { +"description": "Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"firstPageCpcMicros": { +"description": "Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"firstPositionCpcMicros": { +"description": "Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"topOfPageCpcMicros": { +"description": "Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo": { +"description": "A container for ad group criterion quality information.", +"id": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo", +"properties": { +"creativeQualityScore": { +"description": "Output only. The performance of the ad compared to other advertisers.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"readOnly": true, +"type": "string" +}, +"postClickQualityScore": { +"description": "Output only. The quality score of the landing page.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"readOnly": true, +"type": "string" +}, +"qualityScore": { +"description": "Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"searchPredictedCtr": { +"description": "Output only. The click-through rate compared to that of other advertisers.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_AVERAGE", +"AVERAGE", +"ABOVE_AVERAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Quality of the creative is below average.", +"Quality of the creative is average.", +"Quality of the creative is above average." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels": { +"description": "Explicitly selected channels for channel controls in Demand Gen ad groups.", +"id": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels", +"properties": { +"discover": { +"description": "Whether to enable ads on the Discover channel.", +"type": "boolean" +}, +"display": { +"description": "Whether to enable ads on the Display channel.", +"type": "boolean" +}, +"gmail": { +"description": "Whether to enable ads on the Gmail channel.", +"type": "boolean" +}, +"youtubeInFeed": { +"description": "Whether to enable ads on the YouTube In-Feed channel.", +"type": "boolean" +}, +"youtubeInStream": { +"description": "Whether to enable ads on the YouTube In-Stream channel.", +"type": "boolean" +}, +"youtubeShorts": { +"description": "Whether to enable ads on the YouTube Shorts channel.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls": { +"description": "Channel controls for Demand Gen ad groups.", +"id": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls", +"properties": { +"channelConfig": { +"description": "Output only. Channel configuration reflecting which field in the oneof is populated.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CHANNEL_STRATEGY", +"SELECTED_CHANNELS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The channel controls configuration uses a general channel strategy; individual channels are not configured separately.", +"The channel controls configuration explicitly defines the selected channels." +], +"readOnly": true, +"type": "string" +}, +"channelStrategy": { +"description": "High level channel strategy.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_CHANNELS", +"ALL_OWNED_AND_OPERATED_CHANNELS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"All channels are enabled.", +"All Google-owned and operated channels are enabled; third-party channels (e.g., Display) are disabled." +], +"type": "string" +}, +"selectedChannels": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels", +"description": "Explicitly selected channels. This field should be set with at least one true value when present." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting": { +"description": "Settings for AI Max feature in standard search adgroups.", +"id": "GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting", +"properties": { +"disableSearchTermMatching": { +"description": "Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting": { +"description": "Settings for the audience targeting.", +"id": "GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting", +"properties": { +"useAudienceGrouped": { +"description": "Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings": { +"description": "Settings for Demand Gen ad groups.", +"id": "GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings", +"properties": { +"channelControls": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls", +"description": "Channel controls for Demand Gen ad groups." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting": { +"description": "Vertical ads setting feature to enable/disable ad group format controls in search campaigns.", +"id": "GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting", +"properties": { +"disableTextAds": { +"description": "If true, text ads will be disabled for this ad group.", +"type": "boolean" +}, +"enableBookingLinks": { +"description": "If true, booking links will be enabled for this ad group.", +"type": "boolean" +}, +"enableVerticalPromotionAds": { +"description": "If true, vertical promotion ads will be enabled for this ad group.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails": { +"description": "The details of the asset to add.", +"id": "GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails", +"properties": { +"assetCount": { +"description": "Output only. The number of assets to add.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"assetFieldType": { +"description": "Output only. The asset field type of the asset(s) to add.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"videoAspectRatioRequirement": { +"description": "Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HORIZONTAL", +"SQUARE", +"VERTICAL" +], +"enumDescriptions": [ +"Not specified.", +"The received value is not known in this version.", +"The video requires a horizontal aspect ratio.", +"The video requires a square aspect ratio.", +"The video requires a vertical aspect ratio." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData": { +"description": "For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.", +"id": "GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData", +"properties": { +"hotelCenterId": { +"description": "Output only. The hotel center ID of the partner.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"partnerName": { +"description": "Output only. Name of the hotel partner.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed": { +"description": "Merchant ID and Feed Label from Google Merchant Center.", +"id": "GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed", +"properties": { +"feedLabel": { +"description": "Optional. Feed Label from Google Merchant Center.", +"type": "string" +}, +"merchantId": { +"description": "Required. Merchant ID from Google Merchant Center", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata": { +"description": "Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations.", +"id": "GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata", +"properties": { +"completionDateTime": { +"description": "Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: \"2018-03-05 09:16:00\"", +"readOnly": true, +"type": "string" +}, +"creationDateTime": { +"description": "Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:00\"", +"readOnly": true, +"type": "string" +}, +"estimatedCompletionRatio": { +"description": "Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"executedOperationCount": { +"description": "Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"executionLimitSeconds": { +"description": "Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.", +"format": "int32", +"type": "integer" +}, +"operationCount": { +"description": "Output only. The number of mutate operations in the batch job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"startDateTime": { +"description": "Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:30\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo": { +"description": "Container of payments account information for this billing.", +"id": "GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo", +"properties": { +"paymentsAccountId": { +"description": "Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, \"1234-5678-9012-3456\".", +"readOnly": true, +"type": "string" +}, +"paymentsAccountName": { +"description": "Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.", +"type": "string" +}, +"paymentsProfileId": { +"description": "Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, \"1234-5678-9012\".", +"type": "string" +}, +"paymentsProfileName": { +"description": "Output only. The name of the payments profile associated with the billing setup.", +"readOnly": true, +"type": "string" +}, +"secondaryPaymentsProfileId": { +"description": "Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides": { +"description": "Overrides of brand targeting for various ad types.", +"id": "GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides", +"properties": { +"ignoreExclusionsForShoppingAds": { +"description": "If true, brand exclusions are ignored for Shopping ads.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting": { +"description": "Settings for AI Max in search campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting", +"properties": { +"bundlingRequired": { +"description": "Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_REQUIRED", +"REQUIRED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search campaign is using text asset automation or brand list targeting, and AI Max is not required to be enabled to serve these features.", +"AI Max is required to be enabled for this search campaign to serve existing text asset automation and brand list targeting, or to add new text asset automation and brand list targeting settings." +], +"readOnly": true, +"type": "string" +}, +"enableAiMax": { +"description": "Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting": { +"description": "Campaign-level settings for App Campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting", +"properties": { +"appId": { +"description": "Immutable. A string that uniquely identifies a mobile application.", +"type": "string" +}, +"appStore": { +"description": "Immutable. The application store that distributes this specific app.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLE_APP_STORE", +"GOOGLE_APP_STORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Apple app store.", +"Google play." +], +"type": "string" +}, +"biddingStrategyGoalType": { +"description": "Represents the goal which the bidding strategy of this app campaign should optimize towards.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTIMIZE_INSTALLS_TARGET_INSTALL_COST", +"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST", +"OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST", +"OPTIMIZE_RETURN_ON_ADVERTISING_SPEND", +"OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME", +"OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST", +"OPTIMIZE_IN_APP_CONVERSIONS_WITHOUT_TARGET_CPA", +"OPTIMIZE_TOTAL_VALUE_WITHOUT_TARGET_ROAS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Aim to maximize the number of app installs. The cpa bid is the target cost per install.", +"Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per install.", +"Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per in-app conversion. Note that the actual cpa may seem higher than the target cpa at first, since the long term conversions haven't happened yet.", +"Aim to maximize all conversions' value, for example, install + selected in-app conversions while achieving or exceeding target return on advertising spend.", +"Aim to maximize the pre-registration of the app.", +"Aim to maximize installation of the app without target cost-per-install.", +"Aim to maximize the selected in-app conversion's volume while spending the full budget. No advertiser-specific target CPA.", +"Aim to maximize total conversion value, such as install and selected in-app conversions, while spending the full budget. No advertiser-specified target ROAS." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting": { +"description": "Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status", +"id": "GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting", +"properties": { +"assetAutomationStatus": { +"description": "The opt-in/out status of asset automation type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTED_IN", +"OPTED_OUT" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Opted-in will enable generating and serving an asset automation type.", +"Opted-out will stop generating and serving an asset automation type." +], +"type": "string" +}, +"assetAutomationType": { +"description": "The asset automation type advertiser would like to opt-in/out.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TEXT_ASSET_AUTOMATION", +"GENERATE_VERTICAL_YOUTUBE_VIDEOS", +"GENERATE_SHORTER_YOUTUBE_VIDEOS", +"GENERATE_LANDING_PAGE_PREVIEW", +"GENERATE_ENHANCED_YOUTUBE_VIDEOS", +"GENERATE_IMAGE_ENHANCEMENT", +"GENERATE_IMAGE_EXTRACTION", +"GENERATE_DESIGN_VERSIONS_FOR_IMAGES", +"FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION", +"GENERATE_VIDEOS_FROM_OTHER_ASSETS" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Text asset automation includes headlines and descriptions. By default, advertisers are opted-in for Performance Max and opted-out for Search.", +"Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAd.", +"Shortens video assets to better capture user attention using content-aware technology.", +"Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.", +"Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.", +"Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.", +"Generates image extraction. It defaults to account level Dynamic Image Extension control value.", +"Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.", +"Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns.", +"Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting": { +"description": "Settings for the audience targeting.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting", +"properties": { +"useAudienceGrouped": { +"description": "Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines": { +"description": "Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines", +"properties": { +"accentColor": { +"description": "The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.", +"type": "string" +}, +"mainColor": { +"description": "The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.", +"type": "string" +}, +"predefinedFontFamily": { +"description": "The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_CategoryBid": { +"description": "Category bids in LocalServicesReportingCampaignSettings.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_CategoryBid", +"properties": { +"categoryId": { +"description": "Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.", +"type": "string" +}, +"manualCpaBidMicros": { +"description": "Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.", +"format": "int64", +"type": "string" +}, +"targetCpaBidMicros": { +"description": "Target CPA bid for the category. Value is in micros and in the advertiser's currency.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings": { +"description": "Settings for Demand Gen campaign.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings", +"properties": { +"upgradedTargeting": { +"description": "Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting": { +"description": "The setting for controlling Dynamic Search Ads (DSA).", +"id": "GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting", +"properties": { +"domainName": { +"description": "Required. The Internet domain name that this setting represents, for example, \"google.com\" or \"www.google.com\".", +"type": "string" +}, +"languageCode": { +"description": "Required. The language code specifying the language of the domain, for example, \"en\".", +"type": "string" +}, +"useSuppliedUrlsOnly": { +"description": "Whether the campaign uses advertiser supplied URLs exclusively.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting": { +"description": "Represents a collection of settings related to ads geotargeting.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting", +"properties": { +"negativeGeoTargetType": { +"description": "The setting used for negative geotargeting in this particular campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PRESENCE_OR_INTEREST", +"PRESENCE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Specifies that a user is excluded from seeing the ad if they are in, or show interest in, advertiser's excluded locations.", +"Specifies that a user is excluded from seeing the ad if they are in advertiser's excluded locations." +], +"type": "string" +}, +"positiveGeoTargetType": { +"description": "The setting used for positive geotargeting in this particular campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PRESENCE_OR_INTEREST", +"SEARCH_INTEREST", +"PRESENCE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Specifies that an ad is triggered if the user is in, or shows interest in, advertiser's targeted locations.", +"Specifies that an ad is triggered if the user searches for advertiser's targeted locations. This can only be used with Search and standard Shopping campaigns.", +"Specifies that an ad is triggered if the user is in or regularly in advertiser's targeted locations." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo": { +"description": "Campaign-level settings for hotel ads.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo", +"properties": { +"hotelCenterId": { +"description": "Output only. The linked Hotel Center account.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting": { +"description": "Campaign setting for local campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting", +"properties": { +"locationSourceType": { +"description": "The location source type for this local campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_MY_BUSINESS", +"AFFILIATE" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Locations associated with the customer's linked Business Profile.", +"Affiliate (chain) store locations. For example, Best Buy store locations." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings": { +"description": "Settings for LocalServicesCampaign subresource.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings", +"properties": { +"categoryBids": { +"description": "Categorical level bids associated with MANUAL_CPA bidding strategy.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_CategoryBid" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings": { +"description": "The network settings for the campaign.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings", +"properties": { +"targetContentNetwork": { +"description": "Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.", +"type": "boolean" +}, +"targetGoogleSearch": { +"description": "Whether ads will be served with google.com search results.", +"type": "boolean" +}, +"targetGoogleTvNetwork": { +"description": "Whether ads will be served on the Google TV network.", +"type": "boolean" +}, +"targetPartnerSearchNetwork": { +"description": "Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.", +"type": "boolean" +}, +"targetSearchNetwork": { +"description": "Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).", +"type": "boolean" +}, +"targetYoutube": { +"description": "Whether ads will be served on YouTube.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting": { +"description": "Optimization goal setting for this campaign, which includes a set of optimization goal types.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting", +"properties": { +"optimizationGoalTypes": { +"description": "The list of optimization goal types.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CALL_CLICKS", +"DRIVING_DIRECTIONS", +"APP_PRE_REGISTRATION" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Optimize for call clicks. Call click conversions are times people selected 'Call' to contact a store after viewing an ad.", +"Optimize for driving directions. Driving directions conversions are times people selected 'Get directions' to navigate to a store after viewing an ad.", +"Optimize for pre-registration. Pre-registration conversions are the number of pre-registration signups to receive a notification when the app is released." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade": { +"description": "Information about a campaign being upgraded to Performance Max.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade", +"properties": { +"performanceMaxCampaign": { +"description": "Output only. The resource name of the Performance Max campaign the campaign is upgraded to.", +"readOnly": true, +"type": "string" +}, +"preUpgradeCampaign": { +"description": "Output only. The resource name of the legacy campaign upgraded to Performance Max.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UPGRADE_IN_PROGRESS", +"UPGRADE_COMPLETE", +"UPGRADE_FAILED", +"UPGRADE_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The upgrade to a Performance Max campaign is in progress.", +"The upgrade to a Performance Max campaign is complete.", +"The upgrade to a Performance Max campaign failed. The campaign will still serve as it was before upgrade was attempted.", +"The campaign is eligible for upgrade to a Performance Max campaign." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings": { +"description": "Settings for Performance Max campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings", +"properties": { +"brandTargetingOverrides": { +"$ref": "GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides", +"description": "Overrides of brand targeting for various ad types." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization": { +"description": "Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization", +"properties": { +"conversionActions": { +"description": "The selected set of resource names for conversion actions for optimizing this campaign.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting": { +"description": "The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting", +"properties": { +"advertisingPartnerIds": { +"description": "The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"campaignPriority": { +"description": "Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.", +"format": "int32", +"type": "integer" +}, +"disableProductFeed": { +"description": "Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.", +"type": "boolean" +}, +"enableLocal": { +"description": "Whether to include local products.", +"type": "boolean" +}, +"feedLabel": { +"description": "Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.", +"type": "string" +}, +"merchantId": { +"description": "ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.", +"format": "int64", +"type": "string" +}, +"useVehicleInventory": { +"description": "Immutable. Whether to target Vehicle Listing inventory.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting": { +"description": "Campaign-level settings for tracking information.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting", +"properties": { +"trackingUrl": { +"description": "Output only. The url used for dynamic tracking.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings": { +"description": "Settings for Travel campaign.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings", +"properties": { +"travelAccountId": { +"description": "Immutable. The Travel account ID associated with the Travel campaign.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Campaign_VanityPharma": { +"description": "Describes how unbranded pharma ads will be displayed.", +"id": "GoogleAdsSearchads360V23Resources_Campaign_VanityPharma", +"properties": { +"vanityPharmaDisplayUrlMode": { +"description": "The display mode for vanity pharma URLs.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MANUFACTURER_WEBSITE_URL", +"WEBSITE_DESCRIPTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Replace vanity pharma URL with manufacturer website url.", +"Replace vanity pharma URL with description of the website." +], +"type": "string" +}, +"vanityPharmaText": { +"description": "The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PRESCRIPTION_TREATMENT_WEBSITE_EN", +"PRESCRIPTION_TREATMENT_WEBSITE_ES", +"PRESCRIPTION_DEVICE_WEBSITE_EN", +"PRESCRIPTION_DEVICE_WEBSITE_ES", +"MEDICAL_DEVICE_WEBSITE_EN", +"MEDICAL_DEVICE_WEBSITE_ES", +"PREVENTATIVE_TREATMENT_WEBSITE_EN", +"PREVENTATIVE_TREATMENT_WEBSITE_ES", +"PRESCRIPTION_CONTRACEPTION_WEBSITE_EN", +"PRESCRIPTION_CONTRACEPTION_WEBSITE_ES", +"PRESCRIPTION_VACCINE_WEBSITE_EN", +"PRESCRIPTION_VACCINE_WEBSITE_ES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Prescription treatment website with website content in English.", +"Prescription treatment website with website content in Spanish (Sitio de tratamientos con receta).", +"Prescription device website with website content in English.", +"Prescription device website with website content in Spanish (Sitio de dispositivos con receta).", +"Medical device website with website content in English.", +"Medical device website with website content in Spanish (Sitio de dispositivos m\u00e9dicos).", +"Preventative treatment website with website content in English.", +"Preventative treatment website with website content in Spanish (Sitio de tratamientos preventivos).", +"Prescription contraception website with website content in English.", +"Prescription contraception website with website content in Spanish (Sitio de anticonceptivos con receta).", +"Prescription vaccine website with website content in English.", +"Prescription vaccine website with website content in Spanish (Sitio de vacunas con receta)." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource": { +"description": "A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set.", +"id": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. Set if change_resource_type == AD.", +"readOnly": true +}, +"adGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroup", +"description": "Output only. Set if change_resource_type == AD_GROUP.", +"readOnly": true +}, +"adGroupAd": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"description": "Output only. Set if change_resource_type == AD_GROUP_AD.", +"readOnly": true +}, +"adGroupAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"description": "Output only. Set if change_resource_type == AD_GROUP_ASSET.", +"readOnly": true +}, +"adGroupBidModifier": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"description": "Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.", +"readOnly": true +}, +"adGroupCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"description": "Output only. Set if change_resource_type == AD_GROUP_CRITERION.", +"readOnly": true +}, +"asset": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset", +"description": "Output only. Set if change_resource_type == ASSET.", +"readOnly": true +}, +"assetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSet", +"description": "Output only. Set if change_resource_type == ASSET_SET.", +"readOnly": true +}, +"assetSetAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", +"description": "Output only. Set if change_resource_type == ASSET_SET_ASSET.", +"readOnly": true +}, +"campaign": { +"$ref": "GoogleAdsSearchads360V23Resources__Campaign", +"description": "Output only. Set if change_resource_type == CAMPAIGN.", +"readOnly": true +}, +"campaignAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET.", +"readOnly": true +}, +"campaignAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", +"description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.", +"readOnly": true +}, +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"description": "Output only. Set if change_resource_type == CAMPAIGN_BUDGET.", +"readOnly": true +}, +"campaignCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"description": "Output only. Set if change_resource_type == CAMPAIGN_CRITERION.", +"readOnly": true +}, +"customerAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"description": "Output only. Set if change_resource_type == CUSTOMER_ASSET.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings": { +"description": "Settings related to this conversion action's attribution model.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings", +"properties": { +"attributionModel": { +"description": "The attribution model type of this conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXTERNAL", +"GOOGLE_ADS_LAST_CLICK", +"GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK", +"GOOGLE_SEARCH_ATTRIBUTION_LINEAR", +"GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY", +"GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED", +"GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Uses external attribution.", +"Attributes all credit for a conversion to its last click.", +"Attributes all credit for a conversion to its first click using Google Search attribution.", +"Attributes credit for a conversion equally across all of its clicks using Google Search attribution.", +"Attributes exponentially more credit for a conversion to its more recent clicks using Google Search attribution (half-life is 1 week).", +"Attributes 40% of the credit for a conversion to its first and last clicks. Remaining 20% is evenly distributed across all other clicks. This uses Google Search attribution.", +"Flexible model that uses machine learning to determine the appropriate distribution of credit among clicks using Google Search attribution." +], +"type": "string" +}, +"dataDrivenModelStatus": { +"description": "Output only. The status of the data-driven attribution model for the conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AVAILABLE", +"STALE", +"EXPIRED", +"NEVER_GENERATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The data driven model is available.", +"The data driven model is stale. It hasn't been updated for at least 7 days. It is still being used, but will become expired if it does not get updated for 30 days.", +"The data driven model expired. It hasn't been updated for at least 30 days and cannot be used. Most commonly this is because there hasn't been the required number of events in a recent 30-day period.", +"The data driven model has never been generated. Most commonly this is because there has never been the required number of events in any 30-day period." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings": { +"description": "Settings related to a Firebase conversion action.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings", +"properties": { +"eventName": { +"description": "Output only. The event name of a Firebase conversion.", +"readOnly": true, +"type": "string" +}, +"projectId": { +"description": "Output only. The Firebase project ID of the conversion.", +"readOnly": true, +"type": "string" +}, +"propertyId": { +"description": "Output only. The GA property ID of the conversion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"propertyName": { +"description": "Output only. The GA property name of the conversion.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings": { +"description": "Settings related to a Floodlight conversion action.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings", +"properties": { +"activityGroupTag": { +"description": "Output only. String used to identify a Floodlight activity group when reporting conversions.", +"readOnly": true, +"type": "string" +}, +"activityId": { +"description": "Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"activityTag": { +"description": "Output only. String used to identify a Floodlight activity when reporting conversions.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings": { +"description": "Settings related to a Google Analytics 4 conversion action.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings", +"properties": { +"eventName": { +"description": "Output only. The name of the GA 4 event.", +"readOnly": true, +"type": "string" +}, +"propertyId": { +"description": "Output only. The ID of the GA 4 property.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"propertyName": { +"description": "Output only. The name of the GA 4 property.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings": { +"description": "Settings related to a third party app analytics conversion action.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings", +"properties": { +"eventName": { +"description": "Output only. The event name of a third-party app analytics conversion.", +"readOnly": true, +"type": "string" +}, +"providerName": { +"description": "Output only. Name of the third-party app analytics provider.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings": { +"description": "Settings related to the value for conversion events associated with this conversion action.", +"id": "GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings", +"properties": { +"alwaysUseDefaultValue": { +"description": "Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.", +"type": "boolean" +}, +"defaultCurrencyCode": { +"description": "The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.", +"type": "string" +}, +"defaultValue": { +"description": "The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo": { +"description": "Information for Search Ads 360 Floodlight Conversion Custom Variables.", +"id": "GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo", +"properties": { +"floodlightVariableDataType": { +"description": "Output only. Floodlight variable data type defined in Search Ads 360.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NUMBER", +"STRING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Represents a floodlight variable of \"Number\" type. This variable may be assigned to floodlight variables of DIMENSION or METRIC types.", +"Represents a floodlight variable of \"String\" type. This variable may be assigned to floodlight variables of DIMENSION type." +], +"readOnly": true, +"type": "string" +}, +"floodlightVariableType": { +"description": "Output only. Floodlight variable type defined in Search Ads 360.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DIMENSION", +"METRIC", +"UNSET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Dimension floodlight variable type.", +"Metric floodlight variable type.", +"Floodlight variable type is unset." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction": { +"description": "Action applied when rule is applied.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction", +"properties": { +"operation": { +"description": "Specifies applied operation.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADD", +"MULTIPLY", +"SET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Add provided value to conversion value.", +"Multiply conversion value by provided value.", +"Set conversion value to provided value." +], +"type": "string" +}, +"value": { +"description": "Specifies applied value.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition": { +"description": "Condition on Audience dimension.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition", +"properties": { +"userInterests": { +"description": "User Interests.", +"items": { +"type": "string" +}, +"type": "array" +}, +"userLists": { +"description": "User Lists.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition": { +"description": "Condition on Device dimension.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition", +"properties": { +"deviceTypes": { +"description": "Value for device type condition.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"DESKTOP", +"TABLET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Mobile device.", +"Desktop device.", +"Tablet device." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition": { +"description": "Condition on Geo dimension.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition", +"properties": { +"excludedGeoMatchType": { +"description": "Excluded Geo location match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ANY", +"LOCATION_OF_PRESENCE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Either Area of Interest or Location of Presence can be used to match.", +"Only Location of Presence can be used to match." +], +"type": "string" +}, +"excludedGeoTargetConstants": { +"description": "Geo locations that advertisers want to exclude.", +"items": { +"type": "string" +}, +"type": "array" +}, +"geoMatchType": { +"description": "Included Geo location match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ANY", +"LOCATION_OF_PRESENCE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Either Area of Interest or Location of Presence can be used to match.", +"Only Location of Presence can be used to match." +], +"type": "string" +}, +"geoTargetConstants": { +"description": "Geo locations that advertisers want to include.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow": { +"description": "Range for the number of days between the date of the booking and the start of the itinerary.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow", +"properties": { +"maxDays": { +"description": "Maximum number of days between the date of the booking the start date.", +"format": "int32", +"type": "integer" +}, +"minDays": { +"description": "Minimum number of days between the date of the booking the start date.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition": { +"description": "Condition on Itinerary dimension.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition", +"properties": { +"advanceBookingWindow": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow", +"description": "Range for the number of days between the date of the booking and the start of the itinerary." +}, +"travelLength": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength", +"description": "Range for the itinerary length in number of nights." +}, +"travelStartDay": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay", +"description": "The days of the week on which this itinerary's travel can start." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength": { +"description": "Range for the itinerary length in number of nights.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength", +"properties": { +"maxNights": { +"description": "Maximum number of days between the start date and the end date.", +"format": "int32", +"type": "integer" +}, +"minNights": { +"description": "Minimum number of nights between the start date and the end date.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay": { +"description": "The days of the week on which an itinerary's travel can start.", +"id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay", +"properties": { +"friday": { +"description": "The travel can start on Friday.", +"type": "boolean" +}, +"monday": { +"description": "The travel can start on Monday.", +"type": "boolean" +}, +"saturday": { +"description": "The travel can start on Saturday.", +"type": "boolean" +}, +"sunday": { +"description": "The travel can start on Sunday.", +"type": "boolean" +}, +"thursday": { +"description": "The travel can start on Thursday.", +"type": "boolean" +}, +"tuesday": { +"description": "The travel can start on Tuesday.", +"type": "boolean" +}, +"wednesday": { +"description": "The travel can start on Wednesday.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange": { +"description": "Defines a range for event counter values.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange", +"properties": { +"maxEventCount": { +"description": "Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"minEventCount": { +"description": "Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange": { +"description": "Defines a range for revenue values.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange", +"properties": { +"maxEventRevenue": { +"description": "Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"minEventRevenue": { +"description": "Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings": { +"description": "Mappings for coarse grained conversion values.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings", +"properties": { +"highConversionValueMapping": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", +"description": "Output only. Mapping for \"high\" coarse conversion value.", +"readOnly": true +}, +"lowConversionValueMapping": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", +"description": "Output only. Mapping for \"low\" coarse conversion value.", +"readOnly": true +}, +"mediumConversionValueMapping": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", +"description": "Output only. Mapping for \"medium\" coarse conversion value.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping": { +"description": "Represents mapping from one conversion value to one or more conversion events.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", +"properties": { +"mappedEvents": { +"description": "Output only. The conversion value may be mapped to multiple events with various attributes.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event" +}, +"readOnly": true, +"type": "array" +}, +"maxTimePostInstallHours": { +"description": "Output only. The maximum of the time range in which a user was last active during the measurement window.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"minTimePostInstallHours": { +"description": "Output only. The minimum of the time range in which a user was last active during the measurement window.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event": { +"description": "Defines a Google conversion event that the conversion value is mapped to.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event", +"properties": { +"currencyCode": { +"description": "Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, \"USD\"", +"readOnly": true, +"type": "string" +}, +"eventCounter": { +"description": "Output only. For specific event counter values.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"eventOccurrenceRange": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange", +"description": "Output only. The event counter range.", +"readOnly": true +}, +"eventRevenueRange": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange", +"description": "Output only. The event revenue range.", +"readOnly": true +}, +"eventRevenueValue": { +"description": "Output only. The specific event revenue value.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"mappedEventName": { +"description": "Output only. Google event name represented by this conversion value.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings": { +"description": "Mappings for fine grained conversion value.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings", +"properties": { +"conversionValueMapping": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", +"description": "Output only. Conversion events the fine grained conversion value maps to.", +"readOnly": true +}, +"fineGrainedConversionValue": { +"description": "Output only. Fine grained conversion value. Valid values are in the inclusive range [0,63].", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping": { +"description": "Mappings for each postback in multiple conversion windows.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping", +"properties": { +"coarseGrainedConversionValueMappings": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings", +"description": "Output only. Conversion value mappings for all coarse grained conversion values.", +"readOnly": true +}, +"lockWindowCoarseConversionValue": { +"description": "Output only. Coarse grained conversion value that triggers conversion window lock.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNAVAILABLE", +"LOW", +"MEDIUM", +"HIGH", +"NONE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The value was not present in the postback or we do not have this data for other reasons.", +"A low coarse conversion value.", +"A medium coarse conversion value.", +"A high coarse conversion value.", +"A coarse conversion value was not configured." +], +"readOnly": true, +"type": "string" +}, +"lockWindowEvent": { +"description": "Output only. Event name that triggers conversion window lock.", +"readOnly": true, +"type": "string" +}, +"lockWindowFineConversionValue": { +"description": "Output only. Fine grained conversion value that triggers conversion window lock.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"postbackSequenceIndex": { +"description": "Output only. 0-based index that indicates the order of postback. Valid values are in the inclusive range [0,2].", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema": { +"description": "The CustomerLink specific SkAdNetworkConversionValueSchema.", +"id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema", +"properties": { +"appId": { +"description": "Required. Output only. Apple App Store app ID.", +"readOnly": true, +"type": "string" +}, +"fineGrainedConversionValueMappings": { +"description": "Output only. Fine grained conversion value mappings.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings" +}, +"readOnly": true, +"type": "array" +}, +"measurementWindowHours": { +"description": "Output only. A time window (measured in hours) post-install, after which the App Attribution Partner or advertiser stops calling [updateConversionValue] (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue).", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"postbackMappings": { +"description": "Output only. Per-postback conversion value mappings for postbacks in multiple conversion windows. Only applicable for SkAdNetwork versions >= 4.0.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo": { +"description": "Holds the details of an asset within an asset group for an Optimize Assets experiment arm.", +"id": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo", +"properties": { +"asset": { +"description": "Asset resource name of the asset group asset.", +"type": "string" +}, +"fieldType": { +"description": "Field type of the asset group asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo": { +"description": "Holds the asset groups included in an arm of an Optimize Assets experiment.", +"id": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo", +"properties": { +"assetGroup": { +"description": "Asset group resource name.", +"type": "string" +}, +"assetGroupAssets": { +"description": "List of asset group assets under the asset group.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary": { +"description": "Represents a summarized account budget billable cost.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary", +"properties": { +"accountBudget": { +"description": "Output only. The resource name of the account budget associated with this summarized billable cost. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`", +"readOnly": true, +"type": "string" +}, +"accountBudgetName": { +"description": "Output only. The name of the account budget. It appears on the invoice PDF as \"Account budget\".", +"readOnly": true, +"type": "string" +}, +"billableActivityDateRange": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "Output only. The billable activity date range of the account budget, within the service date range of this invoice. The end date is inclusive. This can be different from the account budget's start and end time.", +"readOnly": true +}, +"billedAmountMicros": { +"description": "Output only. The pretax billed amount attributable to this budget during the service period, in micros. This does not account for any adjustments.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"campaignSummaries": { +"description": "Output only. The list of summarized campaign level information associated with this account budget.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary" +}, +"readOnly": true, +"type": "array" +}, +"customer": { +"description": "Output only. The resource name of the customer associated with this account budget. This contains the customer ID, which appears on the invoice PDF as \"Account ID\". Customer resource names have the form: `customers/{customer_id}`", +"readOnly": true, +"type": "string" +}, +"customerDescriptiveName": { +"description": "Output only. The descriptive name of the account budget's customer. It appears on the invoice PDF as \"Account\".", +"readOnly": true, +"type": "string" +}, +"invalidActivityAmountMicros": { +"description": "Output only. The pretax invalid activity amount attributable to this budget in previous months, in micros (negative value).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"invalidActivitySummaries": { +"description": "Output only. The list of summarized invalid activity credits with original linkages.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary" +}, +"readOnly": true, +"type": "array" +}, +"overdeliveryAmountMicros": { +"description": "Output only. The pretax overdelivery amount attributable to this budget during the service period, in micros (negative value).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"purchaseOrderNumber": { +"description": "Output only. The purchase order number of the account budget. It appears on the invoice PDF as \"Purchase order\".", +"readOnly": true, +"type": "string" +}, +"servedAmountMicros": { +"description": "Output only. The pretax served amount attributable to this budget during the service period, in micros. This is only useful to reconcile invoice and delivery data.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"subtotalAmountMicros": { +"description": "Output only. The pretax subtotal amount attributable to this budget during the service period, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"taxAmountMicros": { +"description": "Output only. The tax amount attributable to this budget during the service period, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalAmountMicros": { +"description": "Output only. The total amount attributable to this budget during the service period, in micros. This equals the sum of the account budget subtotal amount and the account budget tax amount.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_AccountSummary": { +"description": "Represents a summarized view at account level.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_AccountSummary", +"properties": { +"adjustmentSummaries": { +"description": "Output only. The list of adjustment information associated with this account.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary" +}, +"readOnly": true, +"type": "array" +}, +"billingCorrectionSubtotalAmountMicros": { +"description": "Output only. Pretax billing correction subtotal amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"billingCorrectionTaxAmountMicros": { +"description": "Output only. Tax on billing correction, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"billingCorrectionTotalAmountMicros": { +"description": "Output only. Total billing correction amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"couponAdjustmentSubtotalAmountMicros": { +"description": "Output only. Pretax coupon adjustment subtotal amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"couponAdjustmentTaxAmountMicros": { +"description": "Output only. Tax on coupon adjustment, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"couponAdjustmentTotalAmountMicros": { +"description": "Output only. Total coupon adjustment amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"customer": { +"description": "Output only. The account associated with the account summary.", +"readOnly": true, +"type": "string" +}, +"excessCreditAdjustmentSubtotalAmountMicros": { +"description": "Output only. Pretax excess credit adjustment subtotal amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"excessCreditAdjustmentTaxAmountMicros": { +"description": "Output only. Tax on excess credit adjustment, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"excessCreditAdjustmentTotalAmountMicros": { +"description": "Output only. Total excess credit adjustment amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exportChargeSubtotalAmountMicros": { +"description": "Output only. Pretax export charge subtotal amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exportChargeTaxAmountMicros": { +"description": "Output only. Tax on export charge, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exportChargeTotalAmountMicros": { +"description": "Output only. Total export charge amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryCostSummaries": { +"description": "Output only. The list of regulatory cost information associated with this account.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary" +}, +"readOnly": true, +"type": "array" +}, +"regulatoryCostsSubtotalAmountMicros": { +"description": "Output only. Pretax regulatory costs subtotal amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryCostsTaxAmountMicros": { +"description": "Output only. Tax on regulatory costs, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryCostsTotalAmountMicros": { +"description": "Output only. Total regulatory costs amount, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"subtotalAmountMicros": { +"description": "Output only. Total pretax subtotal amount attributable to the account during the service period, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"taxAmountMicros": { +"description": "Output only. Total tax amount attributable to the account during the service period, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalAmountMicros": { +"description": "Output only. Total amount attributable to the account during the service period, in micros. This equals the sum of the subtotal_amount_micros and tax_amount_micros.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary": { +"description": "Represents adjustment information associated with an account.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary", +"properties": { +"adjustmentDescription": { +"description": "Output only. The description of the adjustment. Example: Incentive Adjustment, discount.", +"readOnly": true, +"type": "string" +}, +"amountMicros": { +"description": "Output only. The amount of the adjustment, in micros. The currency code for this amount is the same as the Invoice.currency_code.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary": { +"description": "Represents campaign level billable cost information associated with an account budget.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary", +"properties": { +"amountMicros": { +"description": "Output only. The amount attributable to this campaign for the given unit of measure during the service period, in micros. The currency code for this amount is the same as the Invoice.currency_code.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"campaignDescription": { +"description": "Output only. The description of the campaign. This is generally the same as the campaign name, but may differ.", +"readOnly": true, +"type": "string" +}, +"quantity": { +"description": "Output only. The quantity served for the given unit of measure.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"unitOfMeasure": { +"description": "Output only. The unit of measure for the quantity served.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICKS", +"IMPRESSIONS", +"ACQUISITIONS", +"PHONE_CALLS", +"VIDEO_PLAYS", +"DAYS", +"AUDIO_PLAYS", +"ENGAGEMENTS", +"SECONDS", +"LEADS", +"GUEST_STAYS", +"HOURS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Clicks as unit of measure.", +"Impressions as unit of measure.", +"Acquisitions as unit of measure.", +"Phone calls as unit of measure.", +"Video plays as unit of measure.", +"Days as unit of measure.", +"Audio plays as unit of measure.", +"Engagements as unit of measure.", +"Seconds as unit of measure.", +"Leads as unit of measure.", +"Guest stays as unit of measure.", +"Hours as unit of measure." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary": { +"description": "Details about the invalid activity for the invoice that contain additional details about invoice against which corrections are made.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary", +"properties": { +"amountMicros": { +"description": "Output only. Invalid activity amount in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"originalAccountBudgetName": { +"description": "Output only. Original account budget name related to this invalid activity credit.", +"readOnly": true, +"type": "string" +}, +"originalInvoiceId": { +"description": "Output only. Original invoice number related to this invalid activity credit.", +"readOnly": true, +"type": "string" +}, +"originalMonthOfService": { +"description": "Output only. Original month of service related to this invalid activity credit.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"JANUARY", +"FEBRUARY", +"MARCH", +"APRIL", +"MAY", +"JUNE", +"JULY", +"AUGUST", +"SEPTEMBER", +"OCTOBER", +"NOVEMBER", +"DECEMBER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"January.", +"February.", +"March.", +"April.", +"May.", +"June.", +"July.", +"August.", +"September.", +"October.", +"November.", +"December." +], +"readOnly": true, +"type": "string" +}, +"originalPurchaseOrderNumber": { +"description": "Output only. Original purchase order number related to this invalid activity credit.", +"readOnly": true, +"type": "string" +}, +"originalYearOfService": { +"description": "Output only. Original year of service related to this invalid activity credit.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary": { +"description": "Represents regulatory cost information associated with an account.", +"id": "GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary", +"properties": { +"amountMicros": { +"description": "Output only. The amount of the regulatory fee, in micros. The currency code for this amount is the same as the Invoice.currency_code.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryFeeType": { +"description": "Output only. The type of regulatory fee.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AUSTRIA_DST_FEE", +"TURKIYE_REGULATORY_OPERATING_COST", +"UK_DST_FEE", +"SPAIN_REGULATORY_OPERATING_COST", +"FRANCE_REGULATORY_OPERATING_COST", +"ITALY_REGULATORY_OPERATING_COST", +"INDIA_REGULATORY_OPERATING_COST", +"POLAND_REGULATORY_OPERATING_COST", +"OPERATING_CHARGES", +"CANADA_DST_FEE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Represents Austria DST fee.", +"Represents T\u00fcrkiye regulatory operating cost.", +"Represents UK DST fee.", +"Represents Spain regulatory operating cost.", +"Represents France regulatory operating cost.", +"Represents Italy regulatory operating cost.", +"Represents India regulatory operating cost.", +"Represents Poland regulatory operating cost.", +"Represents operating charges.", +"Represents Canada DST fee." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand": { +"description": "Brand of the product.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand", +"properties": { +"value": { +"description": "String value of the product brand.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory": { +"description": "One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level).", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory", +"properties": { +"categoryId": { +"description": "ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436", +"format": "int64", +"type": "string" +}, +"level": { +"description": "Indicates the level of the category in the taxonomy.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEVEL1", +"LEVEL2", +"LEVEL3", +"LEVEL4", +"LEVEL5" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Level 1.", +"Level 2.", +"Level 3.", +"Level 4.", +"Level 5." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel": { +"description": "Locality of a product offer.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel", +"properties": { +"channel": { +"description": "Value of the locality.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition": { +"description": "Condition of a product offer.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition", +"properties": { +"condition": { +"description": "Value of the condition.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"REFURBISHED", +"USED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The product condition is new.", +"The product condition is refurbished.", +"The product condition is used." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute": { +"description": "Custom attribute of a product offer.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute", +"properties": { +"index": { +"description": "Indicates the index of the custom attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INDEX0", +"INDEX1", +"INDEX2", +"INDEX3", +"INDEX4" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"First listing group filter custom attribute.", +"Second listing group filter custom attribute.", +"Third listing group filter custom attribute.", +"Fourth listing group filter custom attribute.", +"Fifth listing group filter custom attribute." +], +"type": "string" +}, +"value": { +"description": "String value of the product custom attribute.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId": { +"description": "Item id of a product offer.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId", +"properties": { +"value": { +"description": "Value of the id.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType": { +"description": "Type of a product offer.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType", +"properties": { +"level": { +"description": "Level of the type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEVEL1", +"LEVEL2", +"LEVEL3", +"LEVEL4", +"LEVEL5" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Level 1.", +"Level 2.", +"Level 3.", +"Level 4.", +"Level 5." +], +"type": "string" +}, +"value": { +"description": "Value of the type.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage": { +"description": "Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage", +"properties": { +"conditions": { +"description": "The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with \"ocid\" and \"euid\" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition": { +"description": "Matching condition for URL filtering.", +"id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition", +"properties": { +"customLabel": { +"description": "Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.", +"type": "string" +}, +"urlContains": { +"description": "Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization": { +"description": "Localization for the product category.", +"id": "GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization", +"properties": { +"languageCode": { +"description": "Output only. Two-letter ISO 639-1 language code of the localized category.", +"readOnly": true, +"type": "string" +}, +"regionCode": { +"description": "Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.", +"readOnly": true, +"type": "string" +}, +"value": { +"description": "Output only. The name of the category in the specified locale.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption": { +"description": "The impact estimates for a given budget amount.", +"id": "GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption", +"properties": { +"budgetAmountMicros": { +"description": "Output only. The budget amount for this option.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"impact": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", +"description": "Output only. The impact estimate if budget is changed to amount specified in this option.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm": { +"description": "Information about a search term as related to a keyword recommendation.", +"id": "GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm", +"properties": { +"estimatedWeeklySearchCount": { +"description": "Output only. Estimated number of historical weekly searches for this search term.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"text": { +"description": "Output only. The text of the search term.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption": { +"description": "The Target CPA opt-in option with impact estimate.", +"id": "GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption", +"properties": { +"goal": { +"description": "Output only. The goal achieved by this option.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SAME_COST", +"SAME_CONVERSIONS", +"SAME_CPA", +"CLOSEST_CPA" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Recommendation to set Target CPA to maintain the same cost.", +"Recommendation to set Target CPA to maintain the same conversions.", +"Recommendation to set Target CPA to maintain the same CPA.", +"Recommendation to set Target CPA to a value that is as close as possible to, yet lower than, the actual CPA (computed for past 28 days)." +], +"readOnly": true, +"type": "string" +}, +"impact": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", +"description": "Output only. The impact estimate if this option is selected.", +"readOnly": true +}, +"requiredCampaignBudgetAmountMicros": { +"description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"targetCpaMicros": { +"description": "Output only. Average CPA target.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo": { +"description": "Wrapper for information about a Google Ads account.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo", +"properties": { +"customerId": { +"description": "Output only. The customer ID of the account.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"descriptiveName": { +"description": "Output only. The descriptive name of the account.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation": { +"description": "The call asset recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation": { +"description": "The callout asset recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation", +"properties": { +"recommendedCampaignCalloutAssets": { +"description": "Output only. New callout extension assets recommended at the campaign level.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset" +}, +"readOnly": true, +"type": "array" +}, +"recommendedCustomerCalloutAssets": { +"description": "Output only. New callout extension assets recommended at the customer level.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget": { +"description": "A campaign budget shared amongst various budget recommendation types.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", +"properties": { +"currentAmountMicros": { +"description": "Output only. Current budget amount.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"newStartDate": { +"description": "Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.", +"readOnly": true, +"type": "string" +}, +"recommendedNewAmountMicros": { +"description": "Output only. Recommended budget amount.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation": { +"description": "The budget recommendation for budget constrained campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", +"properties": { +"budgetOptions": { +"description": "Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption" +}, +"readOnly": true, +"type": "array" +}, +"currentBudgetAmountMicros": { +"description": "Output only. The current budget amount in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedBudgetAmountMicros": { +"description": "Output only. The recommended budget amount in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation": { +"description": "The Custom Audience Opt In recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation", +"properties": { +"keywords": { +"description": "Output only. The list of keywords to use for custom audience creation.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation": { +"description": "The Display Expansion opt-in recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation": { +"description": "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation": { +"description": "The Enhanced Cost-Per-Click Opt-In recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation": { +"description": "The set target CPA recommendations.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", +"properties": { +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", +"description": "Output only. The campaign budget.", +"readOnly": true +}, +"recommendedTargetCpaMicros": { +"description": "Output only. The recommended target CPA.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation": { +"description": "The forecasting set target ROAS recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", +"properties": { +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", +"description": "Output only. The campaign budget.", +"readOnly": true +}, +"recommendedTargetRoas": { +"description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation": { +"description": "The improve Demand Gen ad strength recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation", +"properties": { +"ad": { +"description": "Output only. The resource name of the ad that can be improved.", +"readOnly": true, +"type": "string" +}, +"adStrength": { +"description": "Output only. The current ad strength.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"NO_ADS", +"POOR", +"AVERAGE", +"GOOD", +"EXCELLENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad strength is currently pending.", +"No ads could be generated.", +"Poor strength.", +"Average strength.", +"Good strength.", +"Excellent strength." +], +"readOnly": true, +"type": "string" +}, +"demandGenAssetActionItems": { +"description": "Output only. A list of recommendations to improve the ad strength.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation": { +"description": "Recommendation to deploy Google Tag on more pages.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation": { +"description": "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation", +"properties": { +"adStrength": { +"description": "Output only. The current ad strength score of the asset group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"NO_ADS", +"POOR", +"AVERAGE", +"GOOD", +"EXCELLENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad strength is currently pending.", +"No ads could be generated.", +"Poor strength.", +"Average strength.", +"Good strength.", +"Excellent strength." +], +"readOnly": true, +"type": "string" +}, +"assetGroup": { +"description": "Output only. The asset group resource name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation": { +"description": "The keyword match type recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation", +"properties": { +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Output only. The existing keyword where the match type should be more broad.", +"readOnly": true +}, +"recommendedMatchType": { +"description": "Output only. The recommended new match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation": { +"description": "The keyword recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation", +"properties": { +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Output only. The recommended keyword.", +"readOnly": true +}, +"recommendedCpcBidMicros": { +"description": "Output only. The recommended CPC (cost-per-click) bid.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"searchTerms": { +"description": "Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation": { +"description": "The lead form asset recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation": { +"description": "Recommendation to lower Target ROAS.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation", +"properties": { +"targetAdjustment": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", +"description": "Output only. The relevant information describing the recommended target adjustment.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation": { +"description": "The Maximize Clicks opt-in recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation", +"properties": { +"recommendedBudgetAmountMicros": { +"description": "Output only. The recommended new budget amount. Only set if the current budget is too high.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation": { +"description": "Recommendation to opt into Maximize Conversion Value bidding strategy.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation": { +"description": "The Maximize Conversions Opt-In recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation", +"properties": { +"recommendedBudgetAmountMicros": { +"description": "Output only. The recommended new budget amount.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo": { +"description": "The Merchant Center account details.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"properties": { +"id": { +"description": "Output only. The Merchant Center account ID.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"multiClient": { +"description": "Output only. Whether the Merchant Center account is a Multi-Client account (MCA).", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the Merchant Center account.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { +"description": "The Dynamic Search Ads to Performance Max migration recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation", +"properties": { +"applyLink": { +"description": "Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation": { +"description": "The move unused budget recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation", +"properties": { +"budgetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", +"description": "Output only. The recommendation for the constrained budget to increase.", +"readOnly": true +}, +"excessCampaignBudget": { +"description": "Output only. The excess budget's resource_name.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation": { +"description": "The Optimize Ad Rotation recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation": { +"description": "Recommendation to turn on Final URL expansion for your Performance Max campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation": { +"description": "The Performance Max Opt In recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation": { +"description": "The raise target CPA bid too low recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation", +"properties": { +"averageTargetCpaMicros": { +"description": "Output only. The current average target CPA of the campaign, in micros of customer local currency.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedTargetMultiplier": { +"description": "Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation": { +"description": "Recommendation to raise Target CPA.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation", +"properties": { +"appBiddingGoal": { +"description": "Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME", +"OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME", +"OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE", +"OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION", +"OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND", +"OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI", +"OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME" +], +"enumDescriptions": [ +"Not specified.", +"Represents value unknown in this version of the API.", +"The bidding strategy of the app campaign should aim to maximize installation of the app.", +"The bidding strategy of the app campaign should aim to maximize the selected in-app conversions' volume.", +"The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions.", +"The bidding strategy of the app campaign should aim to maximize just the selected in-app conversion's volume, while achieving or exceeding target cost per in-app conversion.", +"The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions while achieving or exceeding target return on advertising spend.", +"This bidding strategy of the app campaign should aim to maximize installation of the app without advertiser-provided target cost-per-install.", +"This bidding strategy of the app campaign should aim to maximize pre-registration of the app." +], +"readOnly": true, +"type": "string" +}, +"targetAdjustment": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", +"description": "Output only. The relevant information describing the recommended target adjustment.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact": { +"description": "The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", +"properties": { +"baseMetrics": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", +"description": "Output only. Base metrics at the time the recommendation was generated.", +"readOnly": true +}, +"potentialMetrics": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", +"description": "Output only. Estimated metrics if the recommendation is applied.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics": { +"description": "Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", +"properties": { +"clicks": { +"description": "Output only. Number of ad clicks.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"conversions": { +"description": "Output only. Number of conversions.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"conversionsValue": { +"description": "Output only. Sum of the conversion value of the conversions.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"costMicros": { +"description": "Output only. Cost (in micros) for advertising, in the local currency for the account.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"impressions": { +"description": "Output only. Number of ad impressions.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"videoViews": { +"description": "Output only. Number of video views for a video ad campaign.", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation": { +"description": "The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation", +"properties": { +"daysSinceLastRefresh": { +"description": "Output only. Days since last refresh.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ownerAccount": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo", +"description": "Output only. The owner account. This is the account that should update the customer list.", +"readOnly": true +}, +"targetingAccountsCount": { +"description": "Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"topSpendingAccount": { +"description": "Output only. The top spending account.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo" +}, +"readOnly": true, +"type": "array" +}, +"userListId": { +"description": "Output only. The user list ID.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"userListName": { +"description": "Output only. The name of the list.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation": { +"description": "The add responsive search ad asset recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation", +"properties": { +"currentAd": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. The current ad to be updated.", +"readOnly": true +}, +"recommendedAssets": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation": { +"description": "The responsive search ad improve ad strength recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation", +"properties": { +"currentAd": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. The current ad to be updated.", +"readOnly": true +}, +"recommendedAd": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. The updated ad.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation": { +"description": "The add responsive search ad recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. Recommended ad.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation": { +"description": "The Search Partners Opt-In recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation": { +"description": "The shopping recommendation to add products to a Shopping Campaign Inventory.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation", +"properties": { +"feedLabel": { +"description": "Output only. The feed label for the campaign.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +}, +"reason": { +"description": "Output only. The reason why no products are attached to the campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS", +"MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED", +"ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN", +"ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The Merchant Center account does not have any submitted products.", +"The Merchant Center account does not have any submitted products in the feed.", +"The Google Ads account has active campaign filters that prevents inclusion of offers in the campaign.", +"All products available have been explicitly excluded from being targeted by the campaign." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation": { +"description": "The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation", +"properties": { +"disapprovedProductsCount": { +"description": "Output only. The numbers of products of the campaign that are disapproved.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"feedLabel": { +"description": "Output only. The feed label for the campaign.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +}, +"productsCount": { +"description": "Output only. The number of products of the campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation": { +"description": "The shopping recommendation to fix Merchant Center account suspension issues.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", +"properties": { +"feedLabel": { +"description": "Output only. The feed label of the campaign for which the suspension happened.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { +"description": "The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation", +"properties": { +"feedLabel": { +"description": "Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation": { +"description": "The shopping recommendation to add an attribute to offers that are demoted because it is missing.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"properties": { +"demotedOffersCount": { +"description": "Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"feedLabel": { +"description": "Output only. The campaign feed label.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +}, +"offersCount": { +"description": "Output only. The number of online, servable offers.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation": { +"description": "The shopping recommendation to create a catch-all campaign that targets all offers.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation", +"properties": { +"feedLabel": { +"description": "Output only. The offer feed label.", +"readOnly": true, +"type": "string" +}, +"merchant": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", +"description": "Output only. The details of the Merchant Center account.", +"readOnly": true +}, +"untargetedOffersCount": { +"description": "Output only. The number of untargeted offers.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation": { +"description": "The sitelink asset recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation", +"properties": { +"recommendedCampaignSitelinkAssets": { +"description": "Output only. New sitelink assets recommended at the campaign level.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset" +}, +"readOnly": true, +"type": "array" +}, +"recommendedCustomerSitelinkAssets": { +"description": "Output only. New sitelink assets recommended at the customer level.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo": { +"description": "Information of a target adjustment recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", +"properties": { +"currentAverageTargetMicros": { +"description": "Output only. The current average target of the campaign or portfolio targeted by this recommendation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedTargetMultiplier": { +"description": "Output only. The factor by which we recommend the target to be adjusted by.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"sharedSet": { +"description": "Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation": { +"description": "The Target CPA opt-in recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation", +"properties": { +"options": { +"description": "Output only. The available goals and corresponding options for Target CPA strategy.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption" +}, +"readOnly": true, +"type": "array" +}, +"recommendedTargetCpaMicros": { +"description": "Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation": { +"description": "The Target ROAS opt-in recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation", +"properties": { +"recommendedTargetRoas": { +"description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"requiredCampaignBudgetAmountMicros": { +"description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation": { +"description": "The text ad recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Output only. Recommended ad.", +"readOnly": true +}, +"autoApplyDate": { +"description": "Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.", +"readOnly": true, +"type": "string" +}, +"creationDate": { +"description": "Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation": { +"description": "The Upgrade Local campaign to Performance Max campaign recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { +"description": "The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation", +"properties": { +"merchantId": { +"description": "Output only. ID of Merchant Center account.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"salesCountryCode": { +"description": "Output only. Country whose products from merchant's inventory should be included.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation": { +"description": "The use broad match keyword recommendation.", +"id": "GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation", +"properties": { +"campaignKeywordsCount": { +"description": "Output only. Total number of keywords in the campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"campaignUsesSharedBudget": { +"description": "Output only. Whether the associated campaign uses a shared budget.", +"readOnly": true, +"type": "boolean" +}, +"keyword": { +"description": "Output only. Sample of keywords to be expanded to Broad Match.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" +}, +"readOnly": true, +"type": "array" +}, +"requiredCampaignBudgetAmountMicros": { +"description": "Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"suggestedKeywordsCount": { +"description": "Output only. Total number of keywords to be expanded to Broad Match in the campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue": { +"description": "An issue affecting whether a product can show in ads.", +"id": "GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue", +"properties": { +"adsSeverity": { +"description": "Output only. The severity of the issue in Google Ads.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WARNING", +"ERROR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The issue limits the performance of the product in ads.", +"The issue prevents the product from showing in ads." +], +"readOnly": true, +"type": "string" +}, +"affectedRegions": { +"description": "Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"attributeName": { +"description": "Output only. The name of the product's attribute, if any, that triggered the issue.", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "Output only. The short description of the issue in English.", +"readOnly": true, +"type": "string" +}, +"detail": { +"description": "Output only. The detailed description of the issue in English.", +"readOnly": true, +"type": "string" +}, +"documentation": { +"description": "Output only. The URL of the Help Center article for the issue.", +"readOnly": true, +"type": "string" +}, +"errorCode": { +"description": "Output only. The error code that identifies the issue.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting": { +"description": "Settings for configuring a business profile optimized for ads as this campaign's landing page.", +"id": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting", +"properties": { +"includeLeadForm": { +"description": "Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber": { +"description": "Phone number and country code in smart campaign settings.", +"id": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber", +"properties": { +"countryCode": { +"description": "Upper-case, two-letter country code as defined by ISO-3166.", +"type": "string" +}, +"phoneNumber": { +"description": "Phone number of the smart campaign.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy": { +"description": "Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes.", +"id": "GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy", +"properties": { +"id": { +"description": "Output only. The ID of the bidding strategy.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maximizeConversionValue": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue", +"description": "Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", +"readOnly": true +}, +"maximizeConversions": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions", +"description": "Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", +"readOnly": true +}, +"name": { +"description": "Output only. The name of the bidding strategy.", +"readOnly": true, +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the bidding strategy.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ownerDescriptiveName": { +"description": "Output only. descriptive_name of the Customer which owns the bidding strategy.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`", +"readOnly": true, +"type": "string" +}, +"targetCpa": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa", +"description": "Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"readOnly": true +}, +"targetImpressionShare": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare", +"description": "Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.", +"readOnly": true +}, +"targetRoas": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas", +"description": "Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).", +"readOnly": true +}, +"targetSpend": { +"$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend", +"description": "Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.", +"readOnly": true +}, +"type": { +"description": "Output only. The type of the bidding strategy.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"COMMISSION", +"ENHANCED_CPC", +"INVALID", +"MANUAL_CPA", +"MANUAL_CPC", +"MANUAL_CPM", +"MANUAL_CPV", +"MAXIMIZE_CONVERSIONS", +"MAXIMIZE_CONVERSION_VALUE", +"PAGE_ONE_PROMOTED", +"PERCENT_CPC", +"TARGET_CPA", +"TARGET_CPC", +"TARGET_CPM", +"TARGET_IMPRESSION_SHARE", +"TARGET_OUTRANK_SHARE", +"TARGET_ROAS", +"TARGET_SPEND" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", +"Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", +"Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", +"Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", +"Manual click based bidding where user pays per click.", +"Manual impression based bidding where user pays per thousand impressions.", +"A bidding strategy that pays a configurable amount per video view.", +"A bidding strategy that automatically maximizes number of conversions given a daily budget.", +"An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", +"Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", +"Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", +"Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", +"Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", +"An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", +"Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", +"Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AccountBudget": { +"description": "An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical.", +"id": "GoogleAdsSearchads360V23Resources__AccountBudget", +"properties": { +"adjustedSpendingLimitMicros": { +"description": "Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"adjustedSpendingLimitType": { +"description": "Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"readOnly": true, +"type": "string" +}, +"amountServedMicros": { +"description": "Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"approvedEndDateTime": { +"description": "Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"approvedEndTimeType": { +"description": "Output only. The approved end time as a well-defined type, for example, FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"readOnly": true, +"type": "string" +}, +"approvedSpendingLimitMicros": { +"description": "Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"approvedSpendingLimitType": { +"description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"readOnly": true, +"type": "string" +}, +"approvedStartDateTime": { +"description": "Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.", +"readOnly": true, +"type": "string" +}, +"billingSetup": { +"description": "Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the account-level budget.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The name of the account-level budget.", +"readOnly": true, +"type": "string" +}, +"notes": { +"description": "Output only. Notes associated with the budget.", +"readOnly": true, +"type": "string" +}, +"pendingProposal": { +"$ref": "GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal", +"description": "Output only. The pending proposal to modify this budget, if applicable.", +"readOnly": true +}, +"proposedEndDateTime": { +"description": "Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"proposedEndTimeType": { +"description": "Output only. The proposed end time as a well-defined type, for example, FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"readOnly": true, +"type": "string" +}, +"proposedSpendingLimitMicros": { +"description": "Output only. The proposed spending limit in micros. One million is equivalent to one unit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"proposedSpendingLimitType": { +"description": "Output only. The proposed spending limit as a well-defined type, for example, INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"readOnly": true, +"type": "string" +}, +"proposedStartDateTime": { +"description": "Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.", +"readOnly": true, +"type": "string" +}, +"purchaseOrderNumber": { +"description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of this account-level budget.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"APPROVED", +"CANCELLED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The account budget is pending approval.", +"The account budget has been approved.", +"The account budget has been cancelled by the user." +], +"readOnly": true, +"type": "string" +}, +"totalAdjustmentsMicros": { +"description": "Output only. The total adjustments amount. An example of an adjustment is courtesy credits.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AccountBudgetProposal": { +"description": "An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty.", +"id": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", +"properties": { +"accountBudget": { +"description": "Immutable. The resource name of the account-level budget associated with this proposal.", +"type": "string" +}, +"approvalDateTime": { +"description": "Output only. The date time when this account-level budget was approved, if applicable.", +"readOnly": true, +"type": "string" +}, +"approvedEndDateTime": { +"description": "Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"approvedEndTimeType": { +"description": "Output only. The approved end date time as a well-defined type, for example, FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"readOnly": true, +"type": "string" +}, +"approvedSpendingLimitMicros": { +"description": "Output only. The approved spending limit in micros. One million is equivalent to one unit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"approvedSpendingLimitType": { +"description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"readOnly": true, +"type": "string" +}, +"approvedStartDateTime": { +"description": "Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"billingSetup": { +"description": "Immutable. The resource name of the billing setup associated with this proposal.", +"type": "string" +}, +"creationDateTime": { +"description": "Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the proposal.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"proposalType": { +"description": "Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CREATE", +"UPDATE", +"END", +"REMOVE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Identifies a request to create a new budget.", +"Identifies a request to edit an existing budget.", +"Identifies a request to end a budget that has already started.", +"Identifies a request to remove a budget that hasn't started yet." +], +"type": "string" +}, +"proposedEndDateTime": { +"description": "Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.", +"type": "string" +}, +"proposedEndTimeType": { +"description": "Immutable. The proposed end date time as a well-defined type, for example, FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"type": "string" +}, +"proposedName": { +"description": "Immutable. The name to assign to the account-level budget.", +"type": "string" +}, +"proposedNotes": { +"description": "Immutable. Notes associated with this budget.", +"type": "string" +}, +"proposedPurchaseOrderNumber": { +"description": "Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.", +"type": "string" +}, +"proposedSpendingLimitMicros": { +"description": "Immutable. The proposed spending limit in micros. One million is equivalent to one unit.", +"format": "int64", +"type": "string" +}, +"proposedSpendingLimitType": { +"description": "Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INFINITE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Infinite, indicates unlimited spending power." +], +"type": "string" +}, +"proposedStartDateTime": { +"description": "Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.", +"type": "string" +}, +"proposedStartTimeType": { +"description": "Immutable. The proposed start date time as a well-defined type, for example, NOW.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"APPROVED_HELD", +"APPROVED", +"CANCELLED", +"REJECTED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The proposal is pending approval.", +"The proposal has been approved but the corresponding billing setup has not. This can occur for proposals that set up the first budget when signing up for billing or when performing a change of bill-to operation.", +"The proposal has been approved.", +"The proposal has been cancelled by the user.", +"The proposal has been rejected by the user, for example, by rejecting an acceptance email." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AccountLink": { +"description": "Represents the data sharing connection between a Google Ads account and another account", +"id": "GoogleAdsSearchads360V23Resources__AccountLink", +"properties": { +"accountLinkId": { +"description": "Output only. The ID of the link. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`", +"type": "string" +}, +"status": { +"description": "The status of the link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"REQUESTED", +"PENDING_APPROVAL", +"REJECTED", +"REVOKED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The link is enabled.", +"The link is removed/disabled.", +"The link to the other account has been requested. A user on the other account may now approve the link by setting the status to ENABLED.", +"This link has been requested by a user on the other account. It may be approved by a user on this account by setting the status to ENABLED.", +"The link is rejected by the approver.", +"The link is revoked by the user who requested the link." +], +"type": "string" +}, +"thirdPartyAppAnalytics": { +"$ref": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier", +"description": "Immutable. A third party app analytics link." +}, +"type": { +"description": "Output only. The type of the linked account.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"THIRD_PARTY_APP_ANALYTICS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A link to provide third party app analytics data." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Ad": { +"description": "An ad.", +"id": "GoogleAdsSearchads360V23Resources__Ad", +"properties": { +"addedByGoogleAds": { +"description": "Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.", +"readOnly": true, +"type": "boolean" +}, +"appAd": { +"$ref": "GoogleAdsSearchads360V23Common__AppAdInfo", +"description": "Details pertaining to an app ad." +}, +"appEngagementAd": { +"$ref": "GoogleAdsSearchads360V23Common__AppEngagementAdInfo", +"description": "Details pertaining to an app engagement ad." +}, +"appPreRegistrationAd": { +"$ref": "GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo", +"description": "Details pertaining to an app pre-registration ad." +}, +"demandGenCarouselAd": { +"$ref": "GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo", +"description": "Details pertaining to a Demand Gen carousel ad." +}, +"demandGenMultiAssetAd": { +"$ref": "GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo", +"description": "Details pertaining to a Demand Gen multi asset ad." +}, +"demandGenProductAd": { +"$ref": "GoogleAdsSearchads360V23Common__DemandGenProductAdInfo", +"description": "Details pertaining to a Demand Gen product ad." +}, +"demandGenVideoResponsiveAd": { +"$ref": "GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo", +"description": "Details pertaining to a Demand Gen video responsive ad." +}, +"devicePreference": { +"description": "The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +}, +"displayUploadAd": { +"$ref": "GoogleAdsSearchads360V23Common__DisplayUploadAdInfo", +"description": "Details pertaining to a display upload ad." +}, +"displayUrl": { +"description": "The URL that appears in the ad description for some ad formats.", +"type": "string" +}, +"expandedDynamicSearchAd": { +"$ref": "GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo", +"description": "Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level." +}, +"expandedTextAd": { +"$ref": "GoogleAdsSearchads360V23Common__ExpandedTextAdInfo", +"description": "Details pertaining to an expanded text ad." +}, +"finalAppUrls": { +"description": "A list of final app URLs that will be used on mobile if the user has the specific app installed.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__FinalAppUrl" +}, +"type": "array" +}, +"finalMobileUrls": { +"description": "The list of possible final mobile URLs after all cross-domain redirects for the ad.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrlSuffix": { +"description": "The suffix to use when constructing a final URL.", +"type": "string" +}, +"finalUrls": { +"description": "The list of possible final URLs after all cross-domain redirects for the ad.", +"items": { +"type": "string" +}, +"type": "array" +}, +"hotelAd": { +"$ref": "GoogleAdsSearchads360V23Common__HotelAdInfo", +"description": "Details pertaining to a hotel ad." +}, +"id": { +"description": "Output only. The ID of the ad.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"imageAd": { +"$ref": "GoogleAdsSearchads360V23Common__ImageAdInfo", +"description": "Immutable. Details pertaining to an Image ad." +}, +"legacyAppInstallAd": { +"$ref": "GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo", +"description": "Immutable. Details pertaining to a legacy app install ad." +}, +"legacyResponsiveDisplayAd": { +"$ref": "GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo", +"description": "Details pertaining to a legacy responsive display ad." +}, +"localAd": { +"$ref": "GoogleAdsSearchads360V23Common__LocalAdInfo", +"description": "Details pertaining to a local ad." +}, +"name": { +"description": "Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.", +"type": "string" +}, +"productAd": { +"$ref": "GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo", +"description": "Immutable. Details pertaining to a product ad." +}, +"resourceName": { +"description": "Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`", +"type": "string" +}, +"responsiveDisplayAd": { +"$ref": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo", +"description": "Details pertaining to a responsive display ad." +}, +"responsiveSearchAd": { +"$ref": "GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo", +"description": "Details pertaining to a responsive search ad." +}, +"searchAds360ExpandedDynamicSearchAd": { +"$ref": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo", +"description": "Immutable. Details pertaining to an expanded dynamic search ad." +}, +"searchAds360ExpandedTextAd": { +"$ref": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo", +"description": "Immutable. Details pertaining to an expanded text ad." +}, +"searchAds360ResponsiveSearchAd": { +"$ref": "GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo", +"description": "Immutable. Details pertaining to a responsive search ad." +}, +"searchAds360TextAd": { +"$ref": "GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo", +"description": "Immutable. Details pertaining to a text ad." +}, +"shoppingComparisonListingAd": { +"$ref": "GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo", +"description": "Details pertaining to a Shopping Comparison Listing ad." +}, +"shoppingProductAd": { +"$ref": "GoogleAdsSearchads360V23Common__ShoppingProductAdInfo", +"description": "Details pertaining to a Shopping product ad." +}, +"shoppingSmartAd": { +"$ref": "GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo", +"description": "Details pertaining to a Smart Shopping ad." +}, +"smartCampaignAd": { +"$ref": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", +"description": "Details pertaining to a Smart campaign ad." +}, +"systemManagedResourceSource": { +"description": "Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_VARIATIONS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Generated ad variations experiment ad." +], +"readOnly": true, +"type": "string" +}, +"textAd": { +"$ref": "GoogleAdsSearchads360V23Common__TextAdInfo", +"description": "Immutable. Details pertaining to a text ad." +}, +"trackingUrlTemplate": { +"description": "The URL template for constructing a tracking URL.", +"type": "string" +}, +"travelAd": { +"$ref": "GoogleAdsSearchads360V23Common__TravelAdInfo", +"description": "Details pertaining to a travel ad." +}, +"type": { +"description": "Output only. The type of ad.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TEXT_AD", +"EXPANDED_TEXT_AD", +"EXPANDED_DYNAMIC_SEARCH_AD", +"HOTEL_AD", +"SHOPPING_SMART_AD", +"SHOPPING_PRODUCT_AD", +"VIDEO_AD", +"IMAGE_AD", +"RESPONSIVE_SEARCH_AD", +"LEGACY_RESPONSIVE_DISPLAY_AD", +"APP_AD", +"LEGACY_APP_INSTALL_AD", +"RESPONSIVE_DISPLAY_AD", +"LOCAL_AD", +"HTML5_UPLOAD_AD", +"DYNAMIC_HTML5_AD", +"APP_ENGAGEMENT_AD", +"SHOPPING_COMPARISON_LISTING_AD", +"VIDEO_BUMPER_AD", +"VIDEO_NON_SKIPPABLE_IN_STREAM_AD", +"VIDEO_TRUEVIEW_IN_STREAM_AD", +"VIDEO_RESPONSIVE_AD", +"SMART_CAMPAIGN_AD", +"CALL_AD", +"APP_PRE_REGISTRATION_AD", +"DEMAND_GEN_MULTI_ASSET_AD", +"DEMAND_GEN_CAROUSEL_AD", +"TRAVEL_AD", +"DEMAND_GEN_VIDEO_RESPONSIVE_AD", +"DEMAND_GEN_PRODUCT_AD", +"MULTIMEDIA_AD" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The ad is a text ad.", +"The ad is an expanded text ad.", +"The ad is an expanded dynamic search ad.", +"The ad is a hotel ad.", +"The ad is a Smart Shopping ad.", +"The ad is a standard Shopping ad.", +"The ad is a video ad.", +"This ad is an Image ad.", +"The ad is a responsive search ad.", +"The ad is a legacy responsive display ad.", +"The ad is an app ad.", +"The ad is a legacy app install ad.", +"The ad is a responsive display ad.", +"The ad is a local ad.", +"The ad is a display upload ad with the HTML5_UPLOAD_AD product type.", +"The ad is a display upload ad with one of the DYNAMIC_HTML5_* product types.", +"The ad is an app engagement ad.", +"The ad is a Shopping Comparison Listing ad.", +"Video bumper ad.", +"Video non-skippable in-stream ad.", +"Video TrueView in-stream ad.", +"Video responsive ad.", +"Smart campaign ad.", +"Call ad.", +"Universal app pre-registration ad.", +"Demand Gen multi asset ad.", +"Demand Gen carousel ad.", +"Travel ad.", +"Demand Gen video responsive ad.", +"Demand Gen product ad.", +"Multimedia ad." +], +"readOnly": true, +"type": "string" +}, +"urlCollections": { +"description": "Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UrlCollection" +}, +"type": "array" +}, +"urlCustomParameters": { +"description": "The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroup": { +"description": "An ad group.", +"id": "GoogleAdsSearchads360V23Resources__AdGroup", +"properties": { +"adRotationMode": { +"description": "The ad rotation mode of the ad group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTIMIZE", +"ROTATE_FOREVER" +], +"enumDescriptions": [ +"The ad rotation mode has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"Optimize ad group ads based on clicks or conversions.", +"Rotate evenly forever." +], +"type": "string" +}, +"aiMaxAdGroupSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting", +"description": "Settings for AI Max feature in standard search adgroups." +}, +"audienceSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting", +"description": "Immutable. Setting for audience related features." +}, +"baseAdGroup": { +"description": "Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Immutable. The campaign to which the ad group belongs.", +"type": "string" +}, +"cpcBidMicros": { +"description": "The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.", +"format": "int64", +"type": "string" +}, +"cpmBidMicros": { +"description": "The maximum CPM (cost-per-thousand viewable impressions) bid.", +"format": "int64", +"type": "string" +}, +"cpvBidMicros": { +"description": "The CPV (cost-per-view) bid.", +"format": "int64", +"type": "string" +}, +"creationTime": { +"description": "Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"demandGenAdGroupSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings", +"description": "Settings for Demand Gen ad groups." +}, +"displayCustomBidDimension": { +"description": "Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"AUDIENCE", +"TOPIC", +"GENDER", +"AGE_RANGE", +"PLACEMENT", +"PARENTAL_STATUS", +"INCOME_RANGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.", +"Audience criteria, which include user list, user interest, custom affinity, and custom in market.", +"Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.", +"Criteria for targeting gender.", +"Criteria for targeting age ranges.", +"Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.", +"Criteria for parental status targeting.", +"Criteria for income range targeting." +], +"type": "string" +}, +"effectiveCpcBidMicros": { +"description": "Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveLabels": { +"description": "Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"effectiveTargetCpaMicros": { +"description": "Output only. The effective target CPA (cost-per-acquisition). This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveTargetCpaSource": { +"description": "Output only. Source of the effective target CPA. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"effectiveTargetCpc": { +"description": "Output only. The effective target CPC (cost-per-click). This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveTargetCpcSource": { +"description": "Output only. Source of the effective target CPC. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"effectiveTargetRoas": { +"description": "Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"effectiveTargetRoasSource": { +"description": "Output only. Source of the effective target ROAS. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"endDate": { +"description": "Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14", +"readOnly": true, +"type": "string" +}, +"engineId": { +"description": "Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"ad_group.id\" instead.", +"readOnly": true, +"type": "string" +}, +"engineStatus": { +"description": "Output only. The Engine Status for ad group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_ELIGIBLE", +"AD_GROUP_EXPIRED", +"AD_GROUP_REMOVED", +"AD_GROUP_DRAFT", +"AD_GROUP_PAUSED", +"AD_GROUP_SERVING", +"AD_GROUP_SUBMITTED", +"CAMPAIGN_PAUSED", +"ACCOUNT_PAUSED" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Deprecated. Do not use.", +"No ads are running for this ad group, because the ad group's end date has passed.", +"The ad group has been deleted.", +"No ads are running for this ad group because the associated ad group is still in draft form.", +"The ad group has been paused.", +"The ad group is active and currently serving ads.", +"The ad group has been submitted (Microsoft Bing Ads legacy status).", +"No ads are running for this ad group, because the campaign has been paused.", +"No ads are running for this ad group, because the account has been paused." +], +"readOnly": true, +"type": "string" +}, +"excludeDemographicExpansion": { +"description": "When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.", +"type": "boolean" +}, +"excludedParentAssetFieldTypes": { +"description": "The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"type": "array" +}, +"excludedParentAssetSetTypes": { +"description": "The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MERCHANT_CENTER_FEED", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION_SYNC", +"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", +"CHAIN_DYNAMIC_LOCATION_GROUP", +"STATIC_LOCATION_GROUP", +"HOTEL_PROPERTY", +"TRAVEL_FEED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Page asset set.", +"Dynamic education asset set.", +"Google Merchant Center asset set.", +"Dynamic real estate asset set.", +"Dynamic custom asset set.", +"Dynamic hotels and rentals asset set.", +"Dynamic flights asset set.", +"Dynamic travel asset set.", +"Dynamic local asset set.", +"Dynamic jobs asset set.", +"Location sync level asset set.", +"Business Profile location group asset set.", +"Chain location group asset set which can be used for both owned locations and affiliate locations.", +"Static location group asset set which can be used for both owned locations and affiliate locations.", +"Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", +"Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." +], +"type": "string" +}, +"type": "array" +}, +"finalUrlSuffix": { +"description": "URL template for appending params to Final URL.", +"type": "string" +}, +"fixedCpmMicros": { +"description": "The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "Output only. The ID of the ad group.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"labels": { +"description": "Output only. The resource names of labels attached to this ad group.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"languageCode": { +"description": "Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage", +"readOnly": true, +"type": "string" +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", +"type": "string" +}, +"optimizedTargetingEnabled": { +"description": "True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.", +"type": "boolean" +}, +"percentCpcBidMicros": { +"description": "The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].", +"format": "int64", +"type": "string" +}, +"primaryStatus": { +"description": "Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"NOT_ELIGIBLE", +"LIMITED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad group is eligible to serve.", +"The ad group is paused.", +"The ad group is removed.", +"The ad group may serve in the future.", +"The ad group is not eligible to serve.", +"The ad group has limited servability." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusReasons": { +"description": "Output only. Provides reasons for why an ad group is not serving or not serving optimally.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_REMOVED", +"CAMPAIGN_PAUSED", +"CAMPAIGN_PENDING", +"CAMPAIGN_ENDED", +"AD_GROUP_PAUSED", +"AD_GROUP_REMOVED", +"AD_GROUP_INCOMPLETE", +"KEYWORDS_PAUSED", +"NO_KEYWORDS", +"AD_GROUP_ADS_PAUSED", +"NO_AD_GROUP_ADS", +"HAS_ADS_DISAPPROVED", +"HAS_ADS_LIMITED_BY_POLICY", +"MOST_ADS_UNDER_REVIEW", +"CAMPAIGN_DRAFT", +"AD_GROUP_PAUSED_DUE_TO_LOW_ACTIVITY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user-specified campaign status is removed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified campaign status is paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified time for this campaign to start is in the future. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE", +"The user-specified time for this campaign to end has passed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified ad group status is paused. Contributes to AdGroupPrimaryStatus.PAUSED.", +"The user-specified ad group status is removed. Contributes to AdGroupPrimaryStatus.REMOVED.", +"The construction of this ad group is not yet complete. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified keyword statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"No eligible keywords exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified ad group ads statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"No eligible ad group ads exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"Policy status reason when at least one ad is disapproved. Contributes to multiple AdGroupPrimaryStatus.", +"Policy status reason when at least one ad is limited by policy. Contributes to multiple AdGroupPrimaryStatus.", +"Policy status reason when most ads are pending review. Contributes to AdGroupPrimaryStatus.PENDING.", +"The AdGroup belongs to a Draft campaign. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", +"Ad group has been paused due to prolonged low activity in serving. Contributes to AdGroupPrimaryStatus.PAUSED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`", +"type": "string" +}, +"startDate": { +"description": "Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "The status of the ad group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The ad group is enabled.", +"The ad group is paused.", +"The ad group is removed." +], +"type": "string" +}, +"targetCpaMicros": { +"description": "The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.", +"format": "int64", +"type": "string" +}, +"targetCpcMicros": { +"description": "Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.", +"format": "int64", +"type": "string" +}, +"targetCpmMicros": { +"description": "Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.", +"format": "int64", +"type": "string" +}, +"targetCpvMicros": { +"description": "Average amount in micros that the advertiser is willing to pay for every ad view.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.", +"format": "double", +"type": "number" +}, +"targetingSetting": { +"$ref": "GoogleAdsSearchads360V23Common__TargetingSetting", +"description": "Setting for targeting related features." +}, +"trackingUrlTemplate": { +"description": "The URL template for constructing a tracking URL.", +"type": "string" +}, +"type": { +"description": "Immutable. The type of the ad group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH_STANDARD", +"DISPLAY_STANDARD", +"SHOPPING_PRODUCT_ADS", +"HOTEL_ADS", +"SHOPPING_SMART_ADS", +"VIDEO_BUMPER", +"VIDEO_TRUE_VIEW_IN_STREAM", +"VIDEO_TRUE_VIEW_IN_DISPLAY", +"VIDEO_NON_SKIPPABLE_IN_STREAM", +"SEARCH_DYNAMIC_ADS", +"SHOPPING_COMPARISON_LISTING_ADS", +"PROMOTED_HOTEL_ADS", +"VIDEO_RESPONSIVE", +"VIDEO_EFFICIENT_REACH", +"SMART_CAMPAIGN_ADS", +"TRAVEL_ADS" +], +"enumDescriptions": [ +"The type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The default ad group type for Search campaigns.", +"The default ad group type for Display campaigns.", +"The ad group type for Shopping campaigns serving standard product ads.", +"The default ad group type for Hotel campaigns.", +"The type for ad groups in Smart Shopping campaigns.", +"Short unskippable in-stream video ads.", +"TrueView (skippable) in-stream video ads.", +"TrueView in-display video ads.", +"Unskippable in-stream video ads.", +"Ad group type for Dynamic Search Ads ad groups.", +"The type for ad groups in Shopping Comparison Listing campaigns.", +"The ad group type for Promoted Hotel ad groups.", +"Video responsive ad groups.", +"Video efficient reach ad groups.", +"Ad group type for Smart campaigns.", +"Ad group type for Travel campaigns." +], +"type": "string" +}, +"urlCustomParameters": { +"description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +}, +"verticalAdsFormatSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting", +"description": "Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAd": { +"description": "An ad group ad.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"properties": { +"actionItems": { +"description": "Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be \"Try adding a few more unique headlines or unpinning some assets.\".", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Immutable. The ad." +}, +"adGroup": { +"description": "Immutable. The ad group to which the ad belongs.", +"type": "string" +}, +"adGroupAdAssetAutomationSettings": { +"description": "Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting" +}, +"type": "array" +}, +"adStrength": { +"description": "Output only. Overall ad strength for this ad group ad.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"NO_ADS", +"POOR", +"AVERAGE", +"GOOD", +"EXCELLENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad strength is currently pending.", +"No ads could be generated.", +"Poor strength.", +"Average strength.", +"Good strength.", +"Excellent strength." +], +"readOnly": true, +"type": "string" +}, +"creationTime": { +"description": "Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"effectiveLabels": { +"description": "Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"engineId": { +"description": "Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use \"ad_group_ad.ad.id\" instead.", +"readOnly": true, +"type": "string" +}, +"engineStatus": { +"description": "Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_AD_ELIGIBLE", +"AD_GROUP_AD_INAPPROPRIATE_FOR_CAMPAIGN", +"AD_GROUP_AD_MOBILE_URL_UNDER_REVIEW", +"AD_GROUP_AD_PARTIALLY_INVALID", +"AD_GROUP_AD_TO_BE_ACTIVATED", +"AD_GROUP_AD_NOT_REVIEWED", +"AD_GROUP_AD_ON_HOLD", +"AD_GROUP_AD_PAUSED", +"AD_GROUP_AD_REMOVED", +"AD_GROUP_AD_PENDING_REVIEW", +"AD_GROUP_AD_UNDER_REVIEW", +"AD_GROUP_AD_APPROVED", +"AD_GROUP_AD_DISAPPROVED", +"AD_GROUP_AD_SERVING", +"AD_GROUP_AD_ACCOUNT_PAUSED", +"AD_GROUP_AD_CAMPAIGN_PAUSED", +"AD_GROUP_AD_AD_GROUP_PAUSED" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Deprecated. Do not use.", +"Baidu: Creative was not approved.", +"Baidu: Mobile URL in process to be reviewed.", +"Baidu: Creative is invalid on mobile device but valid on desktop.", +"Baidu: Creative is ready for activation.", +"Baidu: Creative not reviewed.", +"Deprecated. Do not use. Previously used by Gemini", +"Creative has been paused.", +"Creative has been removed.", +"Creative is pending review.", +"Creative is under review.", +"Creative has been approved.", +"Creative has been disapproved.", +"Creative is serving.", +"Creative has been paused because the account is paused.", +"Creative has been paused because the campaign is paused.", +"Creative has been paused because the ad group is paused." +], +"readOnly": true, +"type": "string" +}, +"labels": { +"description": "Output only. The resource names of labels attached to this ad group ad.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"policySummary": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary", +"description": "Output only. Policy information for the ad.", +"readOnly": true +}, +"primaryStatus": { +"description": "Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad group ad is eligible to serve.", +"The ad group ad is paused.", +"The ad group ad is removed.", +"The ad cannot serve now, but may serve later without advertiser action.", +"The ad group ad is serving in a limited capacity.", +"The ad group ad is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusReasons": { +"description": "Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_REMOVED", +"CAMPAIGN_PAUSED", +"CAMPAIGN_PENDING", +"CAMPAIGN_ENDED", +"AD_GROUP_PAUSED", +"AD_GROUP_REMOVED", +"AD_GROUP_AD_PAUSED", +"AD_GROUP_AD_REMOVED", +"AD_GROUP_AD_DISAPPROVED", +"AD_GROUP_AD_UNDER_REVIEW", +"AD_GROUP_AD_POOR_QUALITY", +"AD_GROUP_AD_NO_ADS", +"AD_GROUP_AD_APPROVED_LABELED", +"AD_GROUP_AD_AREA_OF_INTEREST_ONLY", +"AD_GROUP_AD_UNDER_APPEAL" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"The user-specified campaign status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", +"The user-specified campaign status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", +"The user-specified time for this campaign to start is in the future. Contributes to AdGroupAdPrimaryStatus.PENDING.", +"The user-specified time for this campaign to end has passed. Contributes to AdGroupAdPrimaryStatus.ENDED.", +"The user-specified ad group status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", +"The user-specified ad group status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", +"The user-specified ad status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", +"The user-specified ad status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", +"The ad is disapproved. Contributes to AdGroupAdPrimaryStatus.NOT_ELIGIBLE.", +"The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING.", +"The ad is poor quality. This is determined by the serving stack that served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED.", +"No eligible ads instances could be generated. Contributes to AdGroupAdPrimaryStatus.PENDING.", +"The ad is internally labeled with a limiting label. Contributes to AdGroupAdPrimaryStatus.LIMITED.", +"The ad is only serving in the user-specified area of interest. Contributes to AdGroupAdPrimaryStatus.LIMITED.", +"The ad is part of an ongoing appeal. This reason does not impact AdGroupAdPrimaryStatus." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`", +"type": "string" +}, +"status": { +"description": "The status of the ad.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The ad group ad is enabled.", +"The ad group ad is paused.", +"The ad group ad is removed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting": { +"description": "Asset automation setting for an AdGroupAd.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting", +"properties": { +"assetAutomationStatus": { +"description": "The opt-in/out status for the specified asset automation type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTED_IN", +"OPTED_OUT" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Opted-in will enable generating and serving an asset automation type.", +"Opted-out will stop generating and serving an asset automation type." +], +"type": "string" +}, +"assetAutomationType": { +"description": "The asset automation type that this setting configures.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TEXT_ASSET_AUTOMATION", +"GENERATE_VERTICAL_YOUTUBE_VIDEOS", +"GENERATE_SHORTER_YOUTUBE_VIDEOS", +"GENERATE_LANDING_PAGE_PREVIEW", +"GENERATE_ENHANCED_YOUTUBE_VIDEOS", +"GENERATE_IMAGE_ENHANCEMENT", +"GENERATE_IMAGE_EXTRACTION", +"GENERATE_DESIGN_VERSIONS_FOR_IMAGES", +"FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION", +"GENERATE_VIDEOS_FROM_OTHER_ASSETS" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Text asset automation includes headlines and descriptions. By default, advertisers are opted-in for Performance Max and opted-out for Search.", +"Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAd.", +"Shortens video assets to better capture user attention using content-aware technology.", +"Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.", +"Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.", +"Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.", +"Generates image extraction. It defaults to account level Dynamic Image Extension control value.", +"Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.", +"Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns.", +"Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView": { +"description": "A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView", +"properties": { +"enabled": { +"description": "Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.", +"readOnly": true, +"type": "boolean" +}, +"resourceName": { +"description": "Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}`", +"readOnly": true, +"type": "string" +}, +"servedAssets": { +"description": "Output only. Served assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetUsage" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary": { +"description": "Contains policy information for an ad group ad asset.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary", +"properties": { +"approvalStatus": { +"description": "Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISAPPROVED", +"APPROVED_LIMITED", +"APPROVED", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Will not serve.", +"Serves with restrictions.", +"Serves without restrictions.", +"Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." +], +"readOnly": true, +"type": "string" +}, +"policyTopicEntries": { +"description": "Output only. The list of policy findings for the ad group ad asset.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"readOnly": true, +"type": "array" +}, +"reviewStatus": { +"description": "Output only. Where in the review process this ad group ad asset is.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REVIEW_IN_PROGRESS", +"REVIEWED", +"UNDER_APPEAL", +"ELIGIBLE_MAY_SERVE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Currently under review.", +"Primary review complete. Other reviews may be continuing.", +"The resource has been resubmitted for approval or its policy decision has been appealed.", +"The resource is eligible and may be serving but could still undergo further review." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdAssetView": { +"description": "Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetView", +"properties": { +"adGroupAd": { +"description": "Output only. The ad group ad to which the asset is linked.", +"readOnly": true, +"type": "string" +}, +"asset": { +"description": "Output only. The asset which is linked to the ad group ad.", +"readOnly": true, +"type": "string" +}, +"enabled": { +"description": "Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.", +"readOnly": true, +"type": "boolean" +}, +"fieldType": { +"description": "Output only. Role that the asset takes in the ad.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"performanceLabel": { +"description": "Output only. Performance of an asset linkage.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"LEARNING", +"LOW", +"GOOD", +"BEST", +"NOT_APPLICABLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This asset does not yet have any performance informantion. This may be because it is still under review.", +"The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.", +"Worst performing assets.", +"Good performing assets.", +"Best performing assets.", +"Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives." +], +"readOnly": true, +"type": "string" +}, +"pinnedField": { +"description": "Output only. Pinned field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE_1", +"HEADLINE_2", +"HEADLINE_3", +"DESCRIPTION_1", +"DESCRIPTION_2", +"HEADLINE", +"HEADLINE_IN_PORTRAIT", +"LONG_HEADLINE", +"DESCRIPTION", +"DESCRIPTION_IN_PORTRAIT", +"BUSINESS_NAME_IN_PORTRAIT", +"BUSINESS_NAME", +"MARKETING_IMAGE", +"MARKETING_IMAGE_IN_PORTRAIT", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"CALL_TO_ACTION", +"YOU_TUBE_VIDEO", +"SITELINK", +"CALL", +"MOBILE_APP", +"CALLOUT", +"STRUCTURED_SNIPPET", +"PRICE", +"PROMOTION", +"AD_IMAGE", +"LEAD_FORM", +"BUSINESS_LOGO", +"DESCRIPTION_PREFIX", +"HEADLINE_AS_SITELINK_POSITION_ONE", +"HEADLINE_AS_SITELINK_POSITION_TWO", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", +"DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset is used in headline 1.", +"The asset is used in headline 2.", +"The asset is used in headline 3.", +"The asset is used in description 1.", +"The asset is used in description 2.", +"The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", +"The asset was used as a headline in portrait image.", +"The asset was used in a long headline (used in MultiAssetResponsiveAd).", +"The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", +"The asset was used as description in portrait image.", +"The asset was used as business name in portrait image.", +"The asset was used as business name.", +"The asset was used as a marketing image.", +"The asset was used as a marketing image in portrait image.", +"The asset was used as a square marketing image.", +"The asset was used as a portrait marketing image.", +"The asset was used as a logo.", +"The asset was used as a landscape logo.", +"The asset was used as a call-to-action.", +"The asset was used as a YouTube video.", +"This asset is used as a sitelink.", +"This asset is used as a call.", +"This asset is used as a mobile app.", +"This asset is used as a callout.", +"This asset is used as a structured snippet.", +"This asset is used as a price.", +"This asset is used as a promotion.", +"This asset is used as an image.", +"The asset is used as a lead form.", +"The asset is used as a business logo.", +"The asset is used as a description prefix.", +"A headline asset used as a sitelink in position 1.", +"A headline asset used as a sitelink in position 2.", +"A description line asset used as a sitelink in position 1.", +"A description line asset used as a sitelink in position 2." +], +"readOnly": true, +"type": "string" +}, +"policySummary": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary", +"description": "Output only. Policy information for the ad group ad asset.", +"readOnly": true +}, +"resourceName": { +"description": "Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}`", +"readOnly": true, +"type": "string" +}, +"source": { +"description": "Output only. Source of the ad group ad asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel": { +"description": "A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel", +"properties": { +"adGroupAd": { +"description": "Immutable. The ad group ad to which the effective label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The effective label assigned to the ad group ad.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the effective label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdLabel": { +"description": "A relationship between an ad group ad and a label.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", +"properties": { +"adGroupAd": { +"description": "Immutable. The ad group ad to which the label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The label assigned to the ad group ad.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary": { +"description": "Contains policy information for an ad.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary", +"properties": { +"approvalStatus": { +"description": "Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISAPPROVED", +"APPROVED_LIMITED", +"APPROVED", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Will not serve.", +"Serves with restrictions.", +"Serves without restrictions.", +"Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." +], +"readOnly": true, +"type": "string" +}, +"policyTopicEntries": { +"description": "Output only. The list of policy findings for this ad.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"readOnly": true, +"type": "array" +}, +"reviewStatus": { +"description": "Output only. Where in the review process this ad is.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REVIEW_IN_PROGRESS", +"REVIEWED", +"UNDER_APPEAL", +"ELIGIBLE_MAY_SERVE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Currently under review.", +"Primary review complete. Other reviews may be continuing.", +"The resource has been resubmitted for approval or its policy decision has been appealed.", +"The resource is eligible and may be serving but could still undergo further review." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAsset": { +"description": "A link between an ad group and an asset.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"properties": { +"adGroup": { +"description": "Required. Immutable. The ad group to which the asset is linked.", +"type": "string" +}, +"asset": { +"description": "Required. Immutable. The asset which is linked to the ad group.", +"type": "string" +}, +"fieldType": { +"description": "Required. Immutable. Role that the asset takes under the linked ad group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"primaryStatus": { +"description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is eligible to serve.", +"The user-specified asset link status is paused.", +"The user-specified asset link status is removed.", +"The asset may serve in the future.", +"The asset is serving in a partial capacity.", +"The asset is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusDetails": { +"description": "Output only. Provides the details of the primary status and its associated reasons.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" +}, +"readOnly": true, +"type": "array" +}, +"primaryStatusReasons": { +"description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_LINK_PAUSED", +"ASSET_LINK_REMOVED", +"ASSET_DISAPPROVED", +"ASSET_UNDER_REVIEW", +"ASSET_APPROVED_LABELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", +"The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", +"The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", +"The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", +"The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"source": { +"description": "Output only. Source of the adgroup asset link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Status of the ad group asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Asset link is enabled.", +"Asset link has been removed.", +"Asset link is paused." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAssetSet": { +"description": "AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which this asset set is linked.", +"type": "string" +}, +"assetSet": { +"description": "Immutable. The asset set which is linked to the ad group.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the ad group asset set. Read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The linkage between asset set and its container is enabled.", +"The linkage between asset set and its container is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupAudienceView": { +"description": "An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupAudienceView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupBidModifier": { +"description": "Represents an ad group bid modifier.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which this criterion belongs.", +"type": "string" +}, +"baseAdGroup": { +"description": "Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.", +"readOnly": true, +"type": "string" +}, +"bidModifier": { +"description": "The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.", +"format": "double", +"type": "number" +}, +"bidModifierSource": { +"description": "Output only. Bid modifier source.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN", +"AD_GROUP" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The bid modifier is specified at the campaign level, on the campaign level criterion.", +"The bid modifier is specified (overridden) at the ad group level." +], +"readOnly": true, +"type": "string" +}, +"criterionId": { +"description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"device": { +"$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", +"description": "Immutable. A device criterion." +}, +"hotelAdvanceBookingWindow": { +"$ref": "GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo", +"description": "Immutable. Criterion for number of days prior to the stay the booking is being made." +}, +"hotelCheckInDateRange": { +"$ref": "GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo", +"description": "Immutable. Criterion for a hotel check-in date range." +}, +"hotelCheckInDay": { +"$ref": "GoogleAdsSearchads360V23Common__HotelCheckInDayInfo", +"description": "Immutable. Criterion for day of the week the booking is for." +}, +"hotelDateSelectionType": { +"$ref": "GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo", +"description": "Immutable. Criterion for hotel date selection (default dates versus user selected)." +}, +"hotelLengthOfStay": { +"$ref": "GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo", +"description": "Immutable. Criterion for length of hotel stay in nights." +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCriterion": { +"description": "An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which the criterion belongs.", +"type": "string" +}, +"ageRange": { +"$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", +"description": "Immutable. Age range." +}, +"appPaymentModel": { +"$ref": "GoogleAdsSearchads360V23Common__AppPaymentModelInfo", +"description": "Immutable. App Payment Model." +}, +"approvalStatus": { +"description": "Output only. Approval status of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPROVED", +"DISAPPROVED", +"PENDING_REVIEW", +"UNDER_REVIEW" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Approved.", +"Disapproved.", +"Pending Review.", +"Under review." +], +"readOnly": true, +"type": "string" +}, +"audience": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInfo", +"description": "Immutable. Audience." +}, +"bidModifier": { +"description": "The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.", +"format": "double", +"type": "number" +}, +"brandList": { +"$ref": "GoogleAdsSearchads360V23Common__BrandListInfo", +"description": "Immutable. Brand list criterion." +}, +"combinedAudience": { +"$ref": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", +"description": "Immutable. Combined Audience." +}, +"cpcBidMicros": { +"description": "The CPC (cost-per-click) bid.", +"format": "int64", +"type": "string" +}, +"cpmBidMicros": { +"description": "The CPM (cost-per-thousand viewable impressions) bid.", +"format": "int64", +"type": "string" +}, +"cpvBidMicros": { +"description": "The CPV (cost-per-view) bid.", +"format": "int64", +"type": "string" +}, +"creationTime": { +"description": "Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"criterionId": { +"description": "Output only. The ID of the criterion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"customAffinity": { +"$ref": "GoogleAdsSearchads360V23Common__CustomAffinityInfo", +"description": "Immutable. Custom Affinity." +}, +"customAudience": { +"$ref": "GoogleAdsSearchads360V23Common__CustomAudienceInfo", +"description": "Immutable. Custom Audience." +}, +"customIntent": { +"$ref": "GoogleAdsSearchads360V23Common__CustomIntentInfo", +"description": "Immutable. Custom Intent." +}, +"disapprovalReasons": { +"description": "Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"displayName": { +"description": "Output only. The display name of the criterion.", +"readOnly": true, +"type": "string" +}, +"effectiveCpcBidMicros": { +"description": "Output only. The effective CPC (cost-per-click) bid.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveCpcBidSource": { +"description": "Output only. Source of the effective CPC bid.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"effectiveCpmBidMicros": { +"description": "Output only. The effective CPM (cost-per-thousand viewable impressions) bid.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveCpmBidSource": { +"description": "Output only. Source of the effective CPM bid.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"effectiveCpvBidMicros": { +"description": "Output only. The effective CPV (cost-per-view) bid.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectiveCpvBidSource": { +"description": "Output only. Source of the effective CPV bid.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"effectiveLabels": { +"description": "Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"effectivePercentCpcBidMicros": { +"description": "Output only. The effective Percent CPC bid amount.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"effectivePercentCpcBidSource": { +"description": "Output only. Source of the effective Percent CPC bid.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BIDDING_STRATEGY", +"AD_GROUP", +"AD_GROUP_CRITERION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Effective bid or target is inherited from campaign bidding strategy.", +"The bid or target is defined on the ad group.", +"The bid or target is defined on the ad group criterion." +], +"readOnly": true, +"type": "string" +}, +"engineId": { +"description": "Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"ad_group_criterion.criterion_id\" instead.", +"readOnly": true, +"type": "string" +}, +"engineStatus": { +"description": "Output only. The Engine Status for ad group criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP_CRITERION_ELIGIBLE", +"AD_GROUP_CRITERION_INAPPROPRIATE_FOR_CAMPAIGN", +"AD_GROUP_CRITERION_INVALID_MOBILE_SEARCH", +"AD_GROUP_CRITERION_INVALID_PC_SEARCH", +"AD_GROUP_CRITERION_INVALID_SEARCH", +"AD_GROUP_CRITERION_LOW_SEARCH_VOLUME", +"AD_GROUP_CRITERION_MOBILE_URL_UNDER_REVIEW", +"AD_GROUP_CRITERION_PARTIALLY_INVALID", +"AD_GROUP_CRITERION_TO_BE_ACTIVATED", +"AD_GROUP_CRITERION_UNDER_REVIEW", +"AD_GROUP_CRITERION_NOT_REVIEWED", +"AD_GROUP_CRITERION_ON_HOLD", +"AD_GROUP_CRITERION_PENDING_REVIEW", +"AD_GROUP_CRITERION_PAUSED", +"AD_GROUP_CRITERION_REMOVED", +"AD_GROUP_CRITERION_APPROVED", +"AD_GROUP_CRITERION_DISAPPROVED", +"AD_GROUP_CRITERION_SERVING", +"AD_GROUP_CRITERION_ACCOUNT_PAUSED" +], +"enumDeprecated": [ +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Deprecated. Do not use.", +"Baidu: Bid or quality too low to be displayed.", +"Baidu: Bid or quality too low for mobile, but eligible to display for desktop.", +"Baidu: Bid or quality too low for desktop, but eligible to display for mobile.", +"Baidu: Bid or quality too low to be displayed.", +"Baidu: Paused by Baidu due to low search volume.", +"Baidu: Mobile URL in process to be reviewed.", +"Baidu: The landing page for one device is invalid, while the landing page for the other device is valid.", +"Baidu: Keyword has been created and paused by Baidu account management, and is now ready for you to activate it.", +"Baidu: In process to be reviewed by Baidu. Gemini: Criterion under review.", +"Baidu: Criterion to be reviewed.", +"Deprecated. Do not use. Previously used by Gemini", +"Y!J : Criterion pending review", +"Criterion has been paused.", +"Criterion has been removed.", +"Criterion has been approved.", +"Criterion has been disapproved.", +"Criterion is active and serving.", +"Criterion has been paused since the account is paused." +], +"readOnly": true, +"type": "string" +}, +"extendedDemographic": { +"$ref": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", +"description": "Immutable. Extended demographic criterion." +}, +"finalMobileUrls": { +"description": "The list of possible final mobile URLs after all cross-domain redirects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrlSuffix": { +"description": "URL template for appending params to final URL.", +"type": "string" +}, +"finalUrls": { +"description": "The list of possible final URLs after all cross-domain redirects for the ad.", +"items": { +"type": "string" +}, +"type": "array" +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo", +"description": "Immutable. Gender." +}, +"incomeRange": { +"$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", +"description": "Immutable. Income range." +}, +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Immutable. Keyword." +}, +"labels": { +"description": "Output only. The resource names of labels attached to this ad group criterion.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"language": { +"$ref": "GoogleAdsSearchads360V23Common__LanguageInfo", +"description": "Immutable. Language." +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"lifeEvent": { +"$ref": "GoogleAdsSearchads360V23Common__LifeEventInfo", +"description": "Immutable. Life event campaign criterion." +}, +"listingGroup": { +"$ref": "GoogleAdsSearchads360V23Common__ListingGroupInfo", +"description": "Immutable. Listing group." +}, +"location": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "Immutable. Location." +}, +"mobileAppCategory": { +"$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", +"description": "Immutable. Mobile app category." +}, +"mobileApplication": { +"$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", +"description": "Immutable. Mobile application." +}, +"negative": { +"description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.", +"type": "boolean" +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"description": "Immutable. Parental status." +}, +"percentCpcBidMicros": { +"description": "The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].", +"format": "int64", +"type": "string" +}, +"placement": { +"$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", +"description": "Immutable. Placement." +}, +"positionEstimates": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates", +"description": "Output only. Estimates for criterion bids at various positions.", +"readOnly": true +}, +"primaryStatus": { +"description": "Output only. The primary status for the ad group criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad group criterion is eligible to serve.", +"The ad group criterion is paused.", +"The ad group criterion is removed.", +"The ad group criterion is pending.", +"The ad group criterion is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusReasons": { +"description": "Output only. The primary status reasons for the ad group criterion.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_PENDING", +"CAMPAIGN_CRITERION_NEGATIVE", +"CAMPAIGN_PAUSED", +"CAMPAIGN_REMOVED", +"CAMPAIGN_ENDED", +"AD_GROUP_PAUSED", +"AD_GROUP_REMOVED", +"AD_GROUP_CRITERION_DISAPPROVED", +"AD_GROUP_CRITERION_RARELY_SERVED", +"AD_GROUP_CRITERION_LOW_QUALITY", +"AD_GROUP_CRITERION_UNDER_REVIEW", +"AD_GROUP_CRITERION_PENDING_REVIEW", +"AD_GROUP_CRITERION_BELOW_FIRST_PAGE_BID", +"AD_GROUP_CRITERION_NEGATIVE", +"AD_GROUP_CRITERION_RESTRICTED", +"AD_GROUP_CRITERION_PAUSED", +"AD_GROUP_CRITERION_PAUSED_DUE_TO_LOW_ACTIVITY", +"AD_GROUP_CRITERION_REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents unknown value in this version.", +"The user-specified time for this campaign to start is in the future. Contributes to AdGroupCriterionPrimaryStatus.PENDING.", +"The ad group criterion is overridden by negative campaign criterion. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified campaign status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", +"The user-specified campaign status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.", +"The user-specified time for this campaign to end has passed. Contributes to AdGroupCriterionPrimaryStatus.ENDED.", +"The user-specified ad group status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", +"The user-specified ad group status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.", +"The ad group criterion is disapproved by the ads approval system. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The ad group criterion is rarely served. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The ad group criterion has a low quality score. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.", +"The ad group criterion is under review. Contributes to AdGroupCriterionPrimaryStatus.PENDING.", +"The ad group criterion is pending review. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The ad group criterion's bid is below the value necessary to serve on the first page. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.", +"The ad group criterion is negative. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The ad group criterion is restricted. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified ad group criterion status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", +"The ad group criterion has been paused due to prolonged low activity in serving. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", +"The user-specified ad group criterion status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"qualityInfo": { +"$ref": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo", +"description": "Output only. Information regarding the quality of the criterion.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`", +"type": "string" +}, +"status": { +"description": "The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as \"enabled\", since they're eligible to see the ads; but AdGroupCriterion.status will show \"removed\", since no positive criterion was added.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The ad group criterion is enabled.", +"The ad group criterion is paused.", +"The ad group criterion is removed." +], +"type": "string" +}, +"systemServingStatus": { +"description": "Output only. Serving status of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"RARELY_SERVED" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Eligible.", +"Low search volume." +], +"readOnly": true, +"type": "string" +}, +"topic": { +"$ref": "GoogleAdsSearchads360V23Common__TopicInfo", +"description": "Immutable. Topic." +}, +"trackingUrlTemplate": { +"description": "The URL template for constructing a tracking URL.", +"type": "string" +}, +"type": { +"description": "Output only. The type of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"PLACEMENT", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"DEVICE", +"LOCATION", +"LISTING_GROUP", +"AD_SCHEDULE", +"AGE_RANGE", +"GENDER", +"INCOME_RANGE", +"PARENTAL_STATUS", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"USER_LIST", +"PROXIMITY", +"TOPIC", +"LISTING_SCOPE", +"LANGUAGE", +"IP_BLOCK", +"CONTENT_LABEL", +"CARRIER", +"USER_INTEREST", +"WEBPAGE", +"OPERATING_SYSTEM_VERSION", +"APP_PAYMENT_MODEL", +"MOBILE_DEVICE", +"CUSTOM_AFFINITY", +"CUSTOM_INTENT", +"LOCATION_GROUP", +"CUSTOM_AUDIENCE", +"COMBINED_AUDIENCE", +"KEYWORD_THEME", +"AUDIENCE", +"NEGATIVE_KEYWORD_LIST", +"LOCAL_SERVICE_ID", +"SEARCH_THEME", +"BRAND", +"BRAND_LIST", +"LIFE_EVENT", +"WEBPAGE_LIST", +"VIDEO_LINEUP", +"PLACEMENT_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword, for example, 'mars cruise'.", +"Placement, also known as Website, for example, 'www.flowers4sale.com'", +"Mobile application categories to target.", +"Mobile applications to target.", +"Devices to target.", +"Locations to target.", +"Listing groups to target.", +"Ad Schedule.", +"Age range.", +"Gender.", +"Income Range.", +"Parental status.", +"YouTube Video.", +"YouTube Channel.", +"User list.", +"Proximity.", +"A topic target on the display network (for example, \"Pets & Animals\").", +"Listing scope to target.", +"Language.", +"IpBlock.", +"Content Label for category exclusion.", +"Carrier.", +"A category the user is interested in.", +"Webpage criterion for dynamic search ads.", +"Operating system version.", +"App payment model.", +"Mobile device.", +"Custom affinity.", +"Custom intent.", +"Location group.", +"Custom audience", +"Combined audience", +"Smart Campaign keyword theme", +"Audience", +"Negative Keyword List", +"Local Services Ads Service ID.", +"Search Theme.", +"Brand", +"Brand List", +"Life Event", +"Webpage List", +"Video lineup", +"Placement List", +"A list of rules for item groups in Vertical Ads.", +"A rule for an item group in Vertical Ads." +], +"readOnly": true, +"type": "string" +}, +"urlCustomParameters": { +"description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +}, +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", +"description": "Immutable. User Interest." +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo", +"description": "Immutable. User List." +}, +"verticalAdsItemGroupRuleList": { +"$ref": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo", +"description": "Immutable. Vertical ads item group rule list criterion." +}, +"videoLineup": { +"$ref": "GoogleAdsSearchads360V23Common__VideoLineupInfo", +"description": "Immutable. Video lineup criterion." +}, +"webpage": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", +"description": "Immutable. Webpage" +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "Immutable. YouTube Channel." +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"description": "Immutable. YouTube Video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer": { +"description": "A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", +"properties": { +"adGroupCriterion": { +"description": "Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.", +"type": "string" +}, +"customizerAttribute": { +"description": "Required. Immutable. The customizer attribute which is linked to the ad group criterion.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the ad group criterion customizer.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The customizer value is enabled.", +"The customizer value is removed." +], +"readOnly": true, +"type": "string" +}, +"value": { +"$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", +"description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel": { +"description": "A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel", +"properties": { +"adGroupCriterion": { +"description": "Immutable. The ad group criterion to which the effective label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The effective label assigned to the ad group criterion.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the effective label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel": { +"description": "A relationship between an ad group criterion and a label.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", +"properties": { +"adGroupCriterion": { +"description": "Immutable. The ad group criterion to which the label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The label assigned to the ad group criterion.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation": { +"description": "An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation", +"properties": { +"adGroupId": { +"description": "Output only. AdGroup ID of the simulation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"cpcBidPointList": { +"$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", +"description": "Output only. Simulation points if the simulation type is CPC_BID.", +"readOnly": true +}, +"criterionId": { +"description": "Output only. Criterion ID of the simulation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"endDate": { +"description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format.", +"readOnly": true, +"type": "string" +}, +"modificationMethod": { +"description": "Output only. How the simulation modifies the field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNIFORM", +"DEFAULT", +"SCALING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", +"The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", +"The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." +], +"readOnly": true, +"type": "string" +}, +"percentCpcBidPointList": { +"$ref": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList", +"description": "Output only. Simulation points if the simulation type is PERCENT_CPC_BID.", +"readOnly": true +}, +"resourceName": { +"description": "Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`", +"readOnly": true, +"type": "string" +}, +"startDate": { +"description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The field that the simulation modifies.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CPC_BID", +"CPV_BID", +"TARGET_CPA", +"BID_MODIFIER", +"TARGET_ROAS", +"PERCENT_CPC_BID", +"TARGET_IMPRESSION_SHARE", +"BUDGET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The simulation is for a CPC bid.", +"The simulation is for a CPV bid.", +"The simulation is for a CPA target.", +"The simulation is for a bid modifier.", +"The simulation is for a ROAS target.", +"The simulation is for a percent CPC bid.", +"The simulation is for an impression share target.", +"The simulation is for a budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupCustomizer": { +"description": "A customizer value for the associated CustomizerAttribute at the AdGroup level.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which the customizer attribute is linked.", +"type": "string" +}, +"customizerAttribute": { +"description": "Required. Immutable. The customizer attribute which is linked to the ad group.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the ad group customizer.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The customizer value is enabled.", +"The customizer value is removed." +], +"readOnly": true, +"type": "string" +}, +"value": { +"$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", +"description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel": { +"description": "A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which the effective label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The effective label assigned to the ad group.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the effective label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupLabel": { +"description": "A relationship between an ad group and a label.", +"id": "GoogleAdsSearchads360V23Resources__AdGroupLabel", +"properties": { +"adGroup": { +"description": "Immutable. The ad group to which the label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The label assigned to the ad group.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdGroupSimulation": { +"description": "An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM", +"id": "GoogleAdsSearchads360V23Resources__AdGroupSimulation", +"properties": { +"adGroupId": { +"description": "Output only. Ad group id of the simulation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"cpcBidPointList": { +"$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", +"description": "Output only. Simulation points if the simulation type is CPC_BID.", +"readOnly": true +}, +"cpvBidPointList": { +"$ref": "GoogleAdsSearchads360V23Common__CpvBidSimulationPointList", +"description": "Output only. Simulation points if the simulation type is CPV_BID.", +"readOnly": true +}, +"endDate": { +"description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", +"readOnly": true, +"type": "string" +}, +"modificationMethod": { +"description": "Output only. How the simulation modifies the field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNIFORM", +"DEFAULT", +"SCALING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", +"The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", +"The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`", +"readOnly": true, +"type": "string" +}, +"startDate": { +"description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", +"readOnly": true, +"type": "string" +}, +"targetCpaPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_CPA.", +"readOnly": true +}, +"targetRoasPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", +"readOnly": true +}, +"type": { +"description": "Output only. The field that the simulation modifies.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CPC_BID", +"CPV_BID", +"TARGET_CPA", +"BID_MODIFIER", +"TARGET_ROAS", +"PERCENT_CPC_BID", +"TARGET_IMPRESSION_SHARE", +"BUDGET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The simulation is for a CPC bid.", +"The simulation is for a CPV bid.", +"The simulation is for a CPA target.", +"The simulation is for a bid modifier.", +"The simulation is for a ROAS target.", +"The simulation is for a percent CPC bid.", +"The simulation is for an impression share target.", +"The simulation is for a budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdParameter": { +"description": "An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form \"{param#:value}\". For example, \"{param1:$17}\"", +"id": "GoogleAdsSearchads360V23Resources__AdParameter", +"properties": { +"adGroupCriterion": { +"description": "Immutable. The ad group criterion that this ad parameter belongs to.", +"type": "string" +}, +"insertionText": { +"description": "Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.", +"type": "string" +}, +"parameterIndex": { +"description": "Immutable. The unique index of this ad parameter. Must be either 1 or 2.", +"format": "int64", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdScheduleView": { +"description": "An ad schedule view summarizes the performance of campaigns by AdSchedule criteria.", +"id": "GoogleAdsSearchads360V23Resources__AdScheduleView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdStrengthActionItem": { +"description": "An action item to improve the ad strength of an asset group.", +"id": "GoogleAdsSearchads360V23Resources__AdStrengthActionItem", +"properties": { +"actionItemType": { +"description": "Output only. The action item type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADD_ASSET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This action item suggests adding an asset to the asset group." +], +"readOnly": true, +"type": "string" +}, +"addAssetDetails": { +"$ref": "GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails", +"description": "Output only. The action item details for action item type ADD_ASSET.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier": { +"description": "The identifier for the Advertising Partner Google Ads account.", +"id": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier", +"properties": { +"customer": { +"description": "Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier": { +"description": "The identifier for the Advertising Partner Google Ads account.", +"id": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier", +"properties": { +"customer": { +"description": "Immutable. The resource name of the advertising partner Google Ads account. This field is read only.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AgeRangeView": { +"description": "An age range view.", +"id": "GoogleAdsSearchads360V23Resources__AgeRangeView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView": { +"description": "AiMaxSearchTermAdCombinationView Resource.", +"id": "GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView", +"properties": { +"adGroup": { +"description": "Output only. Ad group where the search term served.", +"readOnly": true, +"type": "string" +}, +"headline": { +"description": "Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by \" | \". This field is read-only.", +"readOnly": true, +"type": "string" +}, +"landingPage": { +"description": "Output only. The destination URL, which was dynamically generated. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. The search term that triggered the ad. This field is read-only.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup": { +"description": "An Android privacy shared key view for Google ad group key.", +"id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup", +"properties": { +"adGroupId": { +"description": "Output only. The ad group ID used in the share key encoding.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"androidPrivacyInteractionDate": { +"description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", +"readOnly": true, +"type": "string" +}, +"androidPrivacyInteractionType": { +"description": "Output only. The interaction type enum used in the share key encoding.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICK", +"ENGAGED_VIEW", +"VIEW" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The physical click interaction type.", +"The 10 seconds engaged view interaction type.", +"The view (ad impression) interaction type." +], +"readOnly": true, +"type": "string" +}, +"androidPrivacyNetworkType": { +"description": "Output only. The network type enum used in the share key encoding.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"YOUTUBE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Search Network.", +"Display Network.", +"YouTube Network." +], +"readOnly": true, +"type": "string" +}, +"campaignId": { +"description": "Output only. The campaign ID used in the share key encoding.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", +"readOnly": true, +"type": "string" +}, +"sharedAdGroupKey": { +"description": "Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign": { +"description": "An Android privacy shared key view for Google campaign key.", +"id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign", +"properties": { +"androidPrivacyInteractionDate": { +"description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", +"readOnly": true, +"type": "string" +}, +"androidPrivacyInteractionType": { +"description": "Output only. The interaction type enum used in the share key encoding.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICK", +"ENGAGED_VIEW", +"VIEW" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The physical click interaction type.", +"The 10 seconds engaged view interaction type.", +"The view (ad impression) interaction type." +], +"readOnly": true, +"type": "string" +}, +"campaignId": { +"description": "Output only. The campaign ID used in the share key encoding.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", +"readOnly": true, +"type": "string" +}, +"sharedCampaignKey": { +"description": "Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType": { +"description": "An Android privacy shared key view for Google network type key.", +"id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType", +"properties": { +"androidPrivacyInteractionDate": { +"description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", +"readOnly": true, +"type": "string" +}, +"androidPrivacyInteractionType": { +"description": "Output only. The interaction type enum used in the share key encoding.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICK", +"ENGAGED_VIEW", +"VIEW" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The physical click interaction type.", +"The 10 seconds engaged view interaction type.", +"The view (ad impression) interaction type." +], +"readOnly": true, +"type": "string" +}, +"androidPrivacyNetworkType": { +"description": "Output only. The network type enum used in the share key encoding.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"YOUTUBE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Search Network.", +"Display Network.", +"YouTube Network." +], +"readOnly": true, +"type": "string" +}, +"campaignId": { +"description": "Output only. The campaign ID used in the share key encoding.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", +"readOnly": true, +"type": "string" +}, +"sharedNetworkTypeKey": { +"description": "Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Asset": { +"description": "Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.", +"id": "GoogleAdsSearchads360V23Resources__Asset", +"properties": { +"appDeepLinkAsset": { +"$ref": "GoogleAdsSearchads360V23Common__AppDeepLinkAsset", +"description": "Immutable. An app deep link asset." +}, +"bookOnGoogleAsset": { +"$ref": "GoogleAdsSearchads360V23Common__BookOnGoogleAsset", +"description": "A book on google asset." +}, +"businessMessageAsset": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessMessageAsset", +"description": "A business message asset." +}, +"callAsset": { +"$ref": "GoogleAdsSearchads360V23Common__CallAsset", +"description": "A call asset." +}, +"callToActionAsset": { +"$ref": "GoogleAdsSearchads360V23Common__CallToActionAsset", +"description": "Immutable. A call to action asset." +}, +"calloutAsset": { +"$ref": "GoogleAdsSearchads360V23Common__CalloutAsset", +"description": "A callout asset." +}, +"creationTime": { +"description": "Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"demandGenCarouselCardAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset", +"description": "Immutable. A Demand Gen carousel card asset." +}, +"dynamicCustomAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicCustomAsset", +"description": "A dynamic custom asset." +}, +"dynamicEducationAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicEducationAsset", +"description": "A dynamic education asset." +}, +"dynamicFlightsAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicFlightsAsset", +"description": "A dynamic flights asset." +}, +"dynamicHotelsAndRentalsAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset", +"description": "A dynamic hotels and rentals asset." +}, +"dynamicJobsAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicJobsAsset", +"description": "A dynamic jobs asset." +}, +"dynamicLocalAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicLocalAsset", +"description": "A dynamic local asset." +}, +"dynamicRealEstateAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicRealEstateAsset", +"description": "A dynamic real estate asset." +}, +"dynamicTravelAsset": { +"$ref": "GoogleAdsSearchads360V23Common__DynamicTravelAsset", +"description": "A dynamic travel asset." +}, +"engineStatus": { +"description": "Output only. The Engine Status for an asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SERVING", +"SERVING_LIMITED", +"DISAPPROVED", +"DISABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is active.", +"The asset is active limited.", +"The asset is disapproved (not eligible).", +"The asset is inactive (pending).", +"The asset has been removed." +], +"readOnly": true, +"type": "string" +}, +"fieldTypePolicySummaries": { +"description": "Output only. Policy information for the asset for each FieldType.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary" +}, +"readOnly": true, +"type": "array" +}, +"finalMobileUrls": { +"description": "A list of possible final mobile URLs after all cross domain redirects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrlSuffix": { +"description": "URL template for appending params to landing page URLs served with parallel tracking.", +"type": "string" +}, +"finalUrls": { +"description": "A list of possible final URLs after all cross domain redirects.", +"items": { +"type": "string" +}, +"type": "array" +}, +"hotelCalloutAsset": { +"$ref": "GoogleAdsSearchads360V23Common__HotelCalloutAsset", +"description": "A hotel callout asset." +}, +"hotelPropertyAsset": { +"$ref": "GoogleAdsSearchads360V23Common__HotelPropertyAsset", +"description": "Immutable. A hotel property asset." +}, +"id": { +"description": "Output only. The ID of the asset.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"imageAsset": { +"$ref": "GoogleAdsSearchads360V23Common__ImageAsset", +"description": "Output only. An image asset.", +"readOnly": true +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"leadFormAsset": { +"$ref": "GoogleAdsSearchads360V23Common__LeadFormAsset", +"description": "A lead form asset." +}, +"locationAsset": { +"$ref": "GoogleAdsSearchads360V23Common__LocationAsset", +"description": "Output only. A location asset.", +"readOnly": true +}, +"mediaBundleAsset": { +"$ref": "GoogleAdsSearchads360V23Common__MediaBundleAsset", +"description": "Immutable. A media bundle asset." +}, +"mobileAppAsset": { +"$ref": "GoogleAdsSearchads360V23Common__MobileAppAsset", +"description": "A mobile app asset." +}, +"name": { +"description": "Optional name of the asset.", +"type": "string" +}, +"orientation": { +"description": "Output only. Orientation of the asset. This is only supported for image and video assets.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LANDSCAPE", +"PORTRAIT", +"SQUARE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Landscape orientation.", +"Portrait orientation.", +"Square orientation." +], +"readOnly": true, +"type": "string" +}, +"pageFeedAsset": { +"$ref": "GoogleAdsSearchads360V23Common__PageFeedAsset", +"description": "A page feed asset." +}, +"policySummary": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", +"description": "Output only. Policy information for the asset.", +"readOnly": true +}, +"priceAsset": { +"$ref": "GoogleAdsSearchads360V23Common__PriceAsset", +"description": "A price asset." +}, +"promotionAsset": { +"$ref": "GoogleAdsSearchads360V23Common__PromotionAsset", +"description": "A promotion asset." +}, +"resourceName": { +"description": "Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`", +"type": "string" +}, +"searchAds360CallAsset": { +"$ref": "GoogleAdsSearchads360V23Common__UnifiedCallAsset", +"description": "Output only. A unified call asset.", +"readOnly": true +}, +"searchAds360CalloutAsset": { +"$ref": "GoogleAdsSearchads360V23Common__UnifiedCalloutAsset", +"description": "Output only. A unified callout asset.", +"readOnly": true +}, +"searchAds360LocationAsset": { +"$ref": "GoogleAdsSearchads360V23Common__UnifiedLocationAsset", +"description": "Output only. A unified location asset.", +"readOnly": true +}, +"searchAds360PageFeedAsset": { +"$ref": "GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset", +"description": "Output only. A unified page feed asset.", +"readOnly": true +}, +"searchAds360SitelinkAsset": { +"$ref": "GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset", +"description": "Output only. A unified sitelink asset.", +"readOnly": true +}, +"sitelinkAsset": { +"$ref": "GoogleAdsSearchads360V23Common__SitelinkAsset", +"description": "A sitelink asset." +}, +"source": { +"description": "Output only. Source of the asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"ARCHIVED", +"PENDING_SYSTEM_GENERATED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset is enabled.", +"The asset is removed.", +"The asset is archived.", +"The asset is system generated pending user review." +], +"readOnly": true, +"type": "string" +}, +"structuredSnippetAsset": { +"$ref": "GoogleAdsSearchads360V23Common__StructuredSnippetAsset", +"description": "A structured snippet asset." +}, +"textAsset": { +"$ref": "GoogleAdsSearchads360V23Common__TextAsset", +"description": "Immutable. A text asset." +}, +"trackingUrlTemplate": { +"description": "URL template for constructing a tracking URL.", +"type": "string" +}, +"type": { +"description": "Output only. Type of the asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"YOUTUBE_VIDEO", +"MEDIA_BUNDLE", +"IMAGE", +"TEXT", +"LEAD_FORM", +"BOOK_ON_GOOGLE", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"CALL_TO_ACTION", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"APP_DEEP_LINK" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"YouTube video asset.", +"Media bundle asset.", +"Image asset.", +"Text asset.", +"Lead form asset.", +"Book on Google asset.", +"Promotion asset.", +"Callout asset.", +"Structured Snippet asset.", +"Sitelink asset.", +"Page Feed asset.", +"Dynamic Education asset.", +"Mobile app asset.", +"Hotel callout asset.", +"Call asset.", +"Price asset.", +"Call to action asset.", +"Dynamic real estate asset.", +"Dynamic custom asset.", +"Dynamic hotels and rentals asset.", +"Dynamic flights asset.", +"Dynamic travel asset.", +"Dynamic local asset.", +"Dynamic jobs asset.", +"Location asset.", +"Hotel property asset.", +"Demand Gen Carousel Card asset.", +"Business message asset.", +"App deep link asset." +], +"readOnly": true, +"type": "string" +}, +"urlCustomParameters": { +"description": "A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +}, +"youtubeVideoAsset": { +"$ref": "GoogleAdsSearchads360V23Common__YoutubeVideoAsset", +"description": "Immutable. A YouTube video asset." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetCoverage": { +"description": "Information about the asset coverage of an asset group.", +"id": "GoogleAdsSearchads360V23Resources__AssetCoverage", +"properties": { +"adStrengthActionItems": { +"description": "Output only. A list of action items to improve the ad strength of an asset group.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__AdStrengthActionItem" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary": { +"description": "Contains policy information for an asset under AssetFieldType context.", +"id": "GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary", +"properties": { +"assetFieldType": { +"description": "Output only. FieldType of this asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"assetSource": { +"description": "Output only. Source of this asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"policySummaryInfo": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", +"description": "Output only. Policy summary.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetFieldTypeView": { +"description": "An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension.", +"id": "GoogleAdsSearchads360V23Resources__AssetFieldTypeView", +"properties": { +"fieldType": { +"description": "Output only. The asset field type of the asset field type view.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id}/assetFieldTypeViews/{field_type}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroup": { +"description": "An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroup", +"properties": { +"adStrength": { +"description": "Output only. Overall ad strength of this asset group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"NO_ADS", +"POOR", +"AVERAGE", +"GOOD", +"EXCELLENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The ad strength is currently pending.", +"No ads could be generated.", +"Poor strength.", +"Average strength.", +"Good strength.", +"Excellent strength." +], +"readOnly": true, +"type": "string" +}, +"assetCoverage": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetCoverage", +"description": "Output only. The asset coverage of this asset group.", +"readOnly": true +}, +"campaign": { +"description": "Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.", +"type": "string" +}, +"finalMobileUrls": { +"description": "A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrls": { +"description": "A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the asset group.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.", +"type": "string" +}, +"path1": { +"description": "First part of text that may appear appended to the url displayed in the ad.", +"type": "string" +}, +"path2": { +"description": "Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.", +"type": "string" +}, +"primaryStatus": { +"description": "Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"NOT_ELIGIBLE", +"LIMITED", +"PENDING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset group is eligible to serve.", +"The asset group is paused.", +"The asset group is removed.", +"The asset group is not eligible to serve.", +"The asset group has limited servability.", +"The asset group is pending approval and may serve in the future." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusReasons": { +"description": "Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_GROUP_PAUSED", +"ASSET_GROUP_REMOVED", +"CAMPAIGN_REMOVED", +"CAMPAIGN_PAUSED", +"CAMPAIGN_PENDING", +"CAMPAIGN_ENDED", +"ASSET_GROUP_LIMITED", +"ASSET_GROUP_DISAPPROVED", +"ASSET_GROUP_UNDER_REVIEW" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user-specified asset group status is paused. Contributes to AssetGroupPrimaryStatus.PAUSED", +"The user-specified asset group status is removed. Contributes to AssetGroupPrimaryStatus.REMOVED.", +"The user-specified campaign status is removed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified campaign status is paused. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified time for this campaign to start is in the future. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", +"The user-specified time for this campaign to end has passed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", +"The asset group is approved but only serves in limited capacity due to policies. Contributes to AssetGroupPrimaryStatus.LIMITED.", +"The asset group has been marked as disapproved. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", +"The asset group has not completed policy review. Contributes to AssetGroupPrimaryStatus.PENDING." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`", +"type": "string" +}, +"status": { +"description": "The status of the asset group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The asset group is enabled.", +"The asset group is paused.", +"The asset group is removed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupAsset": { +"description": "AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", +"properties": { +"asset": { +"description": "Immutable. The asset which this asset group asset is linking.", +"type": "string" +}, +"assetGroup": { +"description": "Immutable. The asset group which this asset group asset is linking.", +"type": "string" +}, +"fieldType": { +"description": "The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"policySummary": { +"$ref": "GoogleAdsSearchads360V23Common__PolicySummary", +"description": "Output only. The policy information for this asset group asset.", +"readOnly": true +}, +"primaryStatus": { +"description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is eligible to serve.", +"The user-specified asset link status is paused.", +"The user-specified asset link status is removed.", +"The asset may serve in the future.", +"The asset is serving in a partial capacity.", +"The asset is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusDetails": { +"description": "Output only. Provides the details of the primary status and its associated reasons.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" +}, +"readOnly": true, +"type": "array" +}, +"primaryStatusReasons": { +"description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_LINK_PAUSED", +"ASSET_LINK_REMOVED", +"ASSET_DISAPPROVED", +"ASSET_UNDER_REVIEW", +"ASSET_APPROVED_LABELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", +"The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", +"The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", +"The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", +"The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"source": { +"description": "Output only. Source of the asset group asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "The status of the link between an asset and asset group.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Asset link is enabled.", +"Asset link has been removed.", +"Asset link is paused." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData": { +"description": "Asset group asset combination data", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData", +"properties": { +"assetCombinationServedAssets": { +"description": "Output only. Served assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetUsage" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter": { +"description": "AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", +"properties": { +"assetGroup": { +"description": "Immutable. The asset group which this asset group listing group filter is part of.", +"type": "string" +}, +"caseValue": { +"$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension", +"description": "Dimension value with which this listing group is refining its parent. Undefined for the root group." +}, +"id": { +"description": "Output only. The ID of the ListingGroupFilter.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"listingSource": { +"description": "Immutable. The source of listings filtered by this listing group filter.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SHOPPING", +"WEBPAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Listings from a Shopping source, like products from Google Merchant Center.", +"Listings from a webpage source, like URLs from a page feed or from the advertiser web domain." +], +"type": "string" +}, +"parentListingGroupFilter": { +"description": "Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.", +"type": "string" +}, +"path": { +"$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath", +"description": "Output only. The path of dimensions defining this listing group filter.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`", +"type": "string" +}, +"type": { +"description": "Immutable. Type of a listing group filter node.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SUBDIVISION", +"UNIT_INCLUDED", +"UNIT_EXCLUDED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Subdivision of products along some listing dimensions.", +"An included listing group filter leaf node.", +"An excluded listing group filter leaf node." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView": { +"description": "An asset group product group view.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView", +"properties": { +"assetGroup": { +"description": "Output only. The asset group associated with the listing group filter.", +"readOnly": true, +"type": "string" +}, +"assetGroupListingGroupFilter": { +"description": "Output only. The resource name of the asset group listing group filter.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupSignal": { +"description": "AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", +"properties": { +"approvalStatus": { +"description": "Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPROVED", +"LIMITED", +"DISAPPROVED", +"UNDER_REVIEW" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Search Theme is eligible to show ads.", +"Low search volume; Below first page bid estimate.", +"Search Theme is inactive and isn't showing ads. A disapproved Search Theme usually means there's an issue with one or more of our advertising policies.", +"Search Theme is under review. It won\u2019t be able to trigger ads until it's been reviewed." +], +"readOnly": true, +"type": "string" +}, +"assetGroup": { +"description": "Immutable. The asset group which this asset group signal belongs to.", +"type": "string" +}, +"audience": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInfo", +"description": "Immutable. The audience signal to be used by the performance max campaign." +}, +"disapprovalReasons": { +"description": "Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`", +"type": "string" +}, +"searchTheme": { +"$ref": "GoogleAdsSearchads360V23Common__SearchThemeInfo", +"description": "Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView": { +"description": "A view on the usage of asset group asset top combinations.", +"id": "GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView", +"properties": { +"assetGroupTopCombinations": { +"description": "Output only. The top combinations of assets that served together.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `\"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetPolicySummary": { +"description": "Contains policy information for an asset.", +"id": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", +"properties": { +"approvalStatus": { +"description": "Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISAPPROVED", +"APPROVED_LIMITED", +"APPROVED", +"AREA_OF_INTEREST_ONLY" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Will not serve.", +"Serves with restrictions.", +"Serves without restrictions.", +"Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." +], +"readOnly": true, +"type": "string" +}, +"policyTopicEntries": { +"description": "Output only. The list of policy findings for this asset.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" +}, +"readOnly": true, +"type": "array" +}, +"reviewStatus": { +"description": "Output only. Where in the review process this asset is.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REVIEW_IN_PROGRESS", +"REVIEWED", +"UNDER_APPEAL", +"ELIGIBLE_MAY_SERVE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Currently under review.", +"Primary review complete. Other reviews may be continuing.", +"The resource has been resubmitted for approval or its policy decision has been appealed.", +"The resource is eligible and may be serving but could still undergo further review." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetSet": { +"description": "An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.", +"id": "GoogleAdsSearchads360V23Resources__AssetSet", +"properties": { +"businessProfileLocationGroup": { +"$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup", +"description": "Business Profile location group asset set data." +}, +"chainLocationGroup": { +"$ref": "GoogleAdsSearchads360V23Common__ChainLocationGroup", +"description": "Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain." +}, +"hotelPropertyData": { +"$ref": "GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData", +"description": "Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the asset set.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"locationGroupParentAssetSetId": { +"description": "Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.", +"format": "int64", +"type": "string" +}, +"locationSet": { +"$ref": "GoogleAdsSearchads360V23Common__LocationSet", +"description": "Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC." +}, +"merchantCenterFeed": { +"$ref": "GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed", +"description": "Merchant ID and Feed Label from Google Merchant Center." +}, +"name": { +"description": "Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the asset set. Read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset set is enabled.", +"The asset set is removed." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Required. Immutable. The type of the asset set. Required.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MERCHANT_CENTER_FEED", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION_SYNC", +"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", +"CHAIN_DYNAMIC_LOCATION_GROUP", +"STATIC_LOCATION_GROUP", +"HOTEL_PROPERTY", +"TRAVEL_FEED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Page asset set.", +"Dynamic education asset set.", +"Google Merchant Center asset set.", +"Dynamic real estate asset set.", +"Dynamic custom asset set.", +"Dynamic hotels and rentals asset set.", +"Dynamic flights asset set.", +"Dynamic travel asset set.", +"Dynamic local asset set.", +"Dynamic jobs asset set.", +"Location sync level asset set.", +"Business Profile location group asset set.", +"Chain location group asset set which can be used for both owned locations and affiliate locations.", +"Static location group asset set which can be used for both owned locations and affiliate locations.", +"Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", +"Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetSetAsset": { +"description": "AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set.", +"id": "GoogleAdsSearchads360V23Resources__AssetSetAsset", +"properties": { +"asset": { +"description": "Immutable. The asset which this asset set asset is linking to.", +"type": "string" +}, +"assetSet": { +"description": "Immutable. The asset set which this asset set asset is linking to.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the asset set asset. Read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The asset set asset is enabled.", +"The asset set asset is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__AssetSetTypeView": { +"description": "An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type.", +"id": "GoogleAdsSearchads360V23Resources__AssetSetTypeView", +"properties": { +"assetSetType": { +"description": "Output only. The asset set type of the asset set type view.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MERCHANT_CENTER_FEED", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION_SYNC", +"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", +"CHAIN_DYNAMIC_LOCATION_GROUP", +"STATIC_LOCATION_GROUP", +"HOTEL_PROPERTY", +"TRAVEL_FEED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Page asset set.", +"Dynamic education asset set.", +"Google Merchant Center asset set.", +"Dynamic real estate asset set.", +"Dynamic custom asset set.", +"Dynamic hotels and rentals asset set.", +"Dynamic flights asset set.", +"Dynamic travel asset set.", +"Dynamic local asset set.", +"Dynamic jobs asset set.", +"Location sync level asset set.", +"Business Profile location group asset set.", +"Chain location group asset set which can be used for both owned locations and affiliate locations.", +"Static location group asset set which can be used for both owned locations and affiliate locations.", +"Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", +"Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id}/assetSetTypeViews/{asset_set_type}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Audience": { +"description": "Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments.", +"id": "GoogleAdsSearchads360V23Resources__Audience", +"properties": { +"assetGroup": { +"description": "Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.", +"type": "string" +}, +"description": { +"description": "Description of this audience.", +"type": "string" +}, +"dimensions": { +"description": "Positive dimensions specifying the audience composition.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceDimension" +}, +"type": "array" +}, +"exclusionDimension": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceExclusionDimension", +"description": "Negative dimension specifying the audience composition." +}, +"id": { +"description": "Output only. ID of the audience.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`", +"type": "string" +}, +"scope": { +"description": "Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"ASSET_GROUP" +], +"enumDescriptions": [ +"The scope has not been specified.", +"The received value is not known in this version.", +"The audience is scoped at the customer level.", +"The audience is scoped under a specific AssetGroup." +], +"type": "string" +}, +"status": { +"description": "Output only. Status of this audience. Indicates whether the audience is enabled or removed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Enabled status - audience is enabled and can be targeted.", +"Removed status - audience is removed and cannot be used for targeting." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact": { +"description": "specific to local services background check.", +"id": "GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact", +"properties": { +"caseUrl": { +"description": "Output only. URL to access background case.", +"readOnly": true, +"type": "string" +}, +"finalAdjudicationDateTime": { +"description": "Output only. The timestamp when this background check case result was adjudicated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BatchJob": { +"description": "A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults.", +"id": "GoogleAdsSearchads360V23Resources__BatchJob", +"properties": { +"id": { +"description": "Output only. ID of this batch job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"longRunningOperation": { +"description": "Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.", +"readOnly": true, +"type": "string" +}, +"metadata": { +"$ref": "GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata", +"description": "Output only. Contains additional information about this batch job.", +"readOnly": true +}, +"nextAddSequenceToken": { +"description": "Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Status of this batch job.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"RUNNING", +"DONE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The job is not currently running.", +"The job is running.", +"The job is done." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BiddingDataExclusion": { +"description": "Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See \"About data exclusions\" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions.", +"id": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", +"properties": { +"advertisingChannelTypes": { +"description": "The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"SHOPPING", +"HOTEL", +"VIDEO", +"MULTI_CHANNEL", +"LOCAL", +"SMART", +"PERFORMANCE_MAX", +"LOCAL_SERVICES", +"TRAVEL", +"DEMAND_GEN", +"SOCIAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search Network. Includes display bundled, and Search+ campaigns.", +"Google Display Network only.", +"Shopping campaigns serve on the shopping property and on google.com search results.", +"Hotel Ads campaigns.", +"Video campaigns.", +"App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", +"Local ads campaigns.", +"Smart campaigns.", +"Performance Max campaigns.", +"Local services campaigns.", +"Travel campaigns.", +"Demand Gen campaigns.", +"Social campaigns." +], +"type": "string" +}, +"type": "array" +}, +"campaigns": { +"description": "The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dataExclusionId": { +"description": "Output only. The ID of the data exclusion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"description": { +"description": "The description of the data exclusion. The description can be at most 2048 characters.", +"type": "string" +}, +"devices": { +"description": "If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +}, +"type": "array" +}, +"endDateTime": { +"description": "Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].", +"type": "string" +}, +"name": { +"description": "The name of the data exclusion. The name can be at most 255 characters.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`", +"type": "string" +}, +"scope": { +"description": "The scope of the data exclusion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN", +"CHANNEL" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.", +"The seasonality event is applied to all specified campaigns.", +"The seasonality event is applied to all campaigns that belong to specified channel types." +], +"type": "string" +}, +"startDateTime": { +"description": "Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.", +"type": "string" +}, +"status": { +"description": "Output only. The status of the data exclusion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The seasonality event is enabled.", +"The seasonality event is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment": { +"description": "Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See \"About seasonality adjustments\" at https://support.google.com/google-ads/answer/10369906.", +"id": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", +"properties": { +"advertisingChannelTypes": { +"description": "The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"SHOPPING", +"HOTEL", +"VIDEO", +"MULTI_CHANNEL", +"LOCAL", +"SMART", +"PERFORMANCE_MAX", +"LOCAL_SERVICES", +"TRAVEL", +"DEMAND_GEN", +"SOCIAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search Network. Includes display bundled, and Search+ campaigns.", +"Google Display Network only.", +"Shopping campaigns serve on the shopping property and on google.com search results.", +"Hotel Ads campaigns.", +"Video campaigns.", +"App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", +"Local ads campaigns.", +"Smart campaigns.", +"Performance Max campaigns.", +"Local services campaigns.", +"Travel campaigns.", +"Demand Gen campaigns.", +"Social campaigns." +], +"type": "string" +}, +"type": "array" +}, +"campaigns": { +"description": "The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.", +"items": { +"type": "string" +}, +"type": "array" +}, +"conversionRateModifier": { +"description": "Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.", +"format": "double", +"type": "number" +}, +"description": { +"description": "The description of the seasonality adjustment. The description can be at most 2048 characters.", +"type": "string" +}, +"devices": { +"description": "If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET", +"DESKTOP", +"CONNECTED_TV", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Mobile devices with full browsers.", +"Tablets with full browsers.", +"Computers.", +"Smart TVs and game consoles.", +"Other device types." +], +"type": "string" +}, +"type": "array" +}, +"endDateTime": { +"description": "Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].", +"type": "string" +}, +"name": { +"description": "The name of the seasonality adjustment. The name can be at most 255 characters.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`", +"type": "string" +}, +"scope": { +"description": "The scope of the seasonality adjustment.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN", +"CHANNEL" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.", +"The seasonality event is applied to all specified campaigns.", +"The seasonality event is applied to all campaigns that belong to specified channel types." +], +"type": "string" +}, +"seasonalityAdjustmentId": { +"description": "Output only. The ID of the seasonality adjustment.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"startDateTime": { +"description": "Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.", +"type": "string" +}, +"status": { +"description": "Output only. The status of the seasonality adjustment.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The seasonality event is enabled.", +"The seasonality event is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BiddingStrategy": { +"description": "A bidding strategy.", +"id": "GoogleAdsSearchads360V23Resources__BiddingStrategy", +"properties": { +"alignedCampaignBudgetId": { +"description": "ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.", +"format": "int64", +"type": "string" +}, +"campaignCount": { +"description": "Output only. The number of campaigns attached to this bidding strategy. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.", +"type": "string" +}, +"effectiveCurrencyCode": { +"description": "Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"enhancedCpc": { +"$ref": "GoogleAdsSearchads360V23Common__EnhancedCpc", +"description": "A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely." +}, +"id": { +"description": "Output only. The ID of the bidding strategy.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"maximizeConversionValue": { +"$ref": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", +"description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget." +}, +"maximizeConversions": { +"$ref": "GoogleAdsSearchads360V23Common__MaximizeConversions", +"description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget." +}, +"name": { +"description": "The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).", +"type": "string" +}, +"nonRemovedCampaignCount": { +"description": "Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the bidding strategy. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The bidding strategy is enabled.", +"The bidding strategy is removed." +], +"readOnly": true, +"type": "string" +}, +"targetCpa": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpa", +"description": "A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set." +}, +"targetImpressionShare": { +"$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShare", +"description": "A bidding strategy that automatically optimizes towards a chosen percentage of impressions." +}, +"targetRoas": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoas", +"description": "A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS)." +}, +"targetSpend": { +"$ref": "GoogleAdsSearchads360V23Common__TargetSpend", +"description": "A bid strategy that sets your bids to help get as many clicks as possible within your budget." +}, +"type": { +"description": "Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"COMMISSION", +"ENHANCED_CPC", +"INVALID", +"MANUAL_CPA", +"MANUAL_CPC", +"MANUAL_CPM", +"MANUAL_CPV", +"MAXIMIZE_CONVERSIONS", +"MAXIMIZE_CONVERSION_VALUE", +"PAGE_ONE_PROMOTED", +"PERCENT_CPC", +"TARGET_CPA", +"TARGET_CPC", +"TARGET_CPM", +"TARGET_IMPRESSION_SHARE", +"TARGET_OUTRANK_SHARE", +"TARGET_ROAS", +"TARGET_SPEND" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", +"Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", +"Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", +"Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", +"Manual click based bidding where user pays per click.", +"Manual impression based bidding where user pays per thousand impressions.", +"A bidding strategy that pays a configurable amount per video view.", +"A bidding strategy that automatically maximizes number of conversions given a daily budget.", +"An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", +"Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", +"Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", +"Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", +"Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", +"An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", +"Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", +"Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BiddingStrategySimulation": { +"description": "A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM", +"id": "GoogleAdsSearchads360V23Resources__BiddingStrategySimulation", +"properties": { +"biddingStrategyId": { +"description": "Output only. Bidding strategy shared set id of the simulation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"endDate": { +"description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", +"readOnly": true, +"type": "string" +}, +"modificationMethod": { +"description": "Output only. How the simulation modifies the field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNIFORM", +"DEFAULT", +"SCALING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", +"The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", +"The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}`", +"readOnly": true, +"type": "string" +}, +"startDate": { +"description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", +"readOnly": true, +"type": "string" +}, +"targetCpaPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_CPA.", +"readOnly": true +}, +"targetRoasPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", +"readOnly": true +}, +"type": { +"description": "Output only. The field that the simulation modifies.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CPC_BID", +"CPV_BID", +"TARGET_CPA", +"BID_MODIFIER", +"TARGET_ROAS", +"PERCENT_CPC_BID", +"TARGET_IMPRESSION_SHARE", +"BUDGET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The simulation is for a CPC bid.", +"The simulation is for a CPV bid.", +"The simulation is for a CPA target.", +"The simulation is for a bid modifier.", +"The simulation is for a ROAS target.", +"The simulation is for a percent CPC bid.", +"The simulation is for an impression share target.", +"The simulation is for a budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BillingSetup": { +"description": "A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser.", +"id": "GoogleAdsSearchads360V23Resources__BillingSetup", +"properties": { +"endDateTime": { +"description": "Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"endTimeType": { +"description": "Output only. The end time as a type. The only possible value is FOREVER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the billing setup.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"paymentsAccount": { +"description": "Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.", +"type": "string" +}, +"paymentsAccountInfo": { +"$ref": "GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo", +"description": "Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated." +}, +"resourceName": { +"description": "Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`", +"type": "string" +}, +"startDateTime": { +"description": "Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.", +"type": "string" +}, +"startTimeType": { +"description": "Immutable. The start time as a type. Only NOW is allowed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOW", +"FOREVER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"As soon as possible.", +"An infinite point in the future." +], +"type": "string" +}, +"status": { +"description": "Output only. The status of the billing setup.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"APPROVED_HELD", +"APPROVED", +"CANCELLED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The billing setup is pending approval.", +"The billing setup has been approved but the corresponding first budget has not. This can only occur for billing setups configured for monthly invoicing.", +"The billing setup has been approved.", +"The billing setup was cancelled by the user prior to approval." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact": { +"description": "specific to a local services business registration check.", +"id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact", +"properties": { +"checkId": { +"description": "Output only. The id of the check, such as vat_tax_id, representing \"VAT Tax ID\" requirement.", +"readOnly": true, +"type": "string" +}, +"registrationDocument": { +"$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument", +"description": "Output only. Message storing document info for the business.", +"readOnly": true +}, +"registrationNumber": { +"$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber", +"description": "Output only. Message storing government issued number for the business.", +"readOnly": true +}, +"registrationType": { +"description": "Output only. The type of business registration check (number, document).", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NUMBER", +"DOCUMENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Registration number check type.", +"Registration document check type." +], +"readOnly": true, +"type": "string" +}, +"rejectionReason": { +"description": "Output only. Registration document rejection reason.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_NAME_MISMATCH", +"BUSINESS_DETAILS_MISMATCH", +"ID_NOT_FOUND", +"POOR_DOCUMENT_IMAGE_QUALITY", +"DOCUMENT_EXPIRED", +"DOCUMENT_INVALID", +"DOCUMENT_TYPE_MISMATCH", +"DOCUMENT_UNVERIFIABLE", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business name doesn't match business name for the Local Services Ad.", +"Business details mismatch.", +"Business registration ID not found.", +"Uploaded document not clear, blurry, etc.", +"Uploaded document has expired.", +"Document revoked or annuled.", +"Document type mismatch.", +"Uploaded document could not be verified as legitimate.", +"The business registration process could not be completed due to an issue. Contact https://support.google.com/localservices to learn more." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument": { +"description": "specific to a local services business registration document.", +"id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument", +"properties": { +"documentReadonly": { +"$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", +"description": "Output only. The readonly field containing the information for an uploaded business registration document.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber": { +"description": "specific to a local services business registration number.", +"id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber", +"properties": { +"number": { +"description": "Output only. Government-issued number for the business.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CallReportingSetting": { +"description": "Call reporting setting for a customer.", +"id": "GoogleAdsSearchads360V23Resources__CallReportingSetting", +"properties": { +"callConversionAction": { +"description": "Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.", +"type": "string" +}, +"callConversionReportingEnabled": { +"description": "Whether to enable call conversion reporting.", +"type": "boolean" +}, +"callReportingEnabled": { +"description": "Enable reporting of phone call events by redirecting them through Google System.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CallView": { +"description": "A call view that includes data for call tracking of call-only ads or call extensions.", +"id": "GoogleAdsSearchads360V23Resources__CallView", +"properties": { +"callDurationSeconds": { +"description": "Output only. The advertiser-provided call duration in seconds.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"callStatus": { +"description": "Output only. The status of the call.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MISSED", +"RECEIVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The call was missed.", +"The call was received." +], +"readOnly": true, +"type": "string" +}, +"callTrackingDisplayLocation": { +"description": "Output only. The call tracking display location.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD", +"LANDING_PAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The phone call placed from the ad.", +"The phone call placed from the landing page ad points to." +], +"readOnly": true, +"type": "string" +}, +"callerAreaCode": { +"description": "Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.", +"readOnly": true, +"type": "string" +}, +"callerCountryCode": { +"description": "Output only. code of the caller.", +"readOnly": true, +"type": "string" +}, +"endCallDateTime": { +"description": "Output only. The advertiser-provided call end date time.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id}/callViews/{call_detail_id}`", +"readOnly": true, +"type": "string" +}, +"startCallDateTime": { +"description": "Output only. The advertiser-provided call start date time.", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the call.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MANUALLY_DIALED", +"HIGH_END_MOBILE_SEARCH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The phone call was manually dialed.", +"The phone call was a mobile click-to-call." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Campaign": { +"description": "A campaign.", +"id": "GoogleAdsSearchads360V23Resources__Campaign", +"properties": { +"accessibleBiddingStrategy": { +"description": "Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.", +"readOnly": true, +"type": "string" +}, +"adServingOptimizationStatus": { +"description": "The ad serving optimization status of the campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPTIMIZE", +"CONVERSION_OPTIMIZE", +"ROTATE", +"ROTATE_INDEFINITELY", +"UNAVAILABLE" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Ad serving is optimized based on CTR for the campaign.", +"Ad serving is optimized based on CTR * Conversion for the campaign. If the campaign is not in the conversion optimizer bidding strategy, it will default to OPTIMIZED.", +"Ads are rotated evenly for 90 days, then optimized for clicks.", +"Show lower performing ads more evenly with higher performing ads, and do not optimize.", +"Ad serving optimization status is not available." +], +"type": "string" +}, +"advertisingChannelSubType": { +"description": "Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH_MOBILE_APP", +"DISPLAY_MOBILE_APP", +"SEARCH_EXPRESS", +"DISPLAY_EXPRESS", +"SHOPPING_SMART_ADS", +"DISPLAY_GMAIL_AD", +"DISPLAY_SMART_CAMPAIGN", +"VIDEO_ACTION", +"VIDEO_NON_SKIPPABLE", +"APP_CAMPAIGN", +"APP_CAMPAIGN_FOR_ENGAGEMENT", +"LOCAL_CAMPAIGN", +"SHOPPING_COMPARISON_LISTING_ADS", +"SMART_CAMPAIGN", +"VIDEO_SEQUENCE", +"APP_CAMPAIGN_FOR_PRE_REGISTRATION", +"VIDEO_REACH_TARGET_FREQUENCY", +"TRAVEL_ACTIVITIES", +"SOCIAL_FACEBOOK_TRACKING_ONLY" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"Mobile app campaigns for Search.", +"Mobile app campaigns for Display.", +"AdWords express campaigns for search.", +"AdWords Express campaigns for display.", +"Smart Shopping campaigns.", +"Gmail Ad campaigns.", +"Smart display campaigns. New campaigns of this sub type cannot be created.", +"Video TrueView for Action campaigns.", +"Video campaigns with non-skippable video ads.", +"App Campaign that lets you easily promote your Android or iOS app across Google's top properties including Search, Play, YouTube, and the Google Display Network.", +"App Campaign for engagement, focused on driving re-engagement with the app across several of Google's top properties including Search, YouTube, and the Google Display Network.", +"Campaigns specialized for local advertising.", +"Shopping Comparison Listing campaigns.", +"Standard Smart campaigns.", +"Video campaigns with sequence video ads.", +"App Campaign for pre registration, specialized for advertising mobile app pre-registration, that targets multiple advertising channels across Google Play, YouTube and Display Network.", +"Video reach campaign with Target Frequency bidding strategy.", +"Travel Activities campaigns.", +"Facebook tracking only social campaigns." +], +"type": "string" +}, +"advertisingChannelType": { +"description": "Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"SHOPPING", +"HOTEL", +"VIDEO", +"MULTI_CHANNEL", +"LOCAL", +"SMART", +"PERFORMANCE_MAX", +"LOCAL_SERVICES", +"TRAVEL", +"DEMAND_GEN", +"SOCIAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search Network. Includes display bundled, and Search+ campaigns.", +"Google Display Network only.", +"Shopping campaigns serve on the shopping property and on google.com search results.", +"Hotel Ads campaigns.", +"Video campaigns.", +"App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", +"Local ads campaigns.", +"Smart campaigns.", +"Performance Max campaigns.", +"Local services campaigns.", +"Travel campaigns.", +"Demand Gen campaigns.", +"Social campaigns." +], +"type": "string" +}, +"aiMaxSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting", +"description": "Settings for AI Max in search campaigns." +}, +"appCampaignSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting", +"description": "The setting related to App Campaign." +}, +"assetAutomationSettings": { +"description": "Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting" +}, +"type": "array" +}, +"audienceSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting", +"description": "Immutable. Setting for audience related features." +}, +"baseCampaign": { +"description": "Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"biddingStrategy": { +"description": "The resource name of the portfolio bidding strategy used by the campaign.", +"type": "string" +}, +"biddingStrategySystemStatus": { +"description": "Output only. The system status of the campaign's bidding strategy.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"LEARNING_NEW", +"LEARNING_SETTING_CHANGE", +"LEARNING_BUDGET_CHANGE", +"LEARNING_COMPOSITION_CHANGE", +"LEARNING_CONVERSION_TYPE_CHANGE", +"LEARNING_CONVERSION_SETTING_CHANGE", +"LIMITED_BY_CPC_BID_CEILING", +"LIMITED_BY_CPC_BID_FLOOR", +"LIMITED_BY_DATA", +"LIMITED_BY_BUDGET", +"LIMITED_BY_LOW_PRIORITY_SPEND", +"LIMITED_BY_LOW_QUALITY", +"LIMITED_BY_INVENTORY", +"MISCONFIGURED_ZERO_ELIGIBILITY", +"MISCONFIGURED_CONVERSION_TYPES", +"MISCONFIGURED_CONVERSION_SETTINGS", +"MISCONFIGURED_SHARED_BUDGET", +"MISCONFIGURED_STRATEGY_TYPE", +"PAUSED", +"UNAVAILABLE", +"MULTIPLE_LEARNING", +"MULTIPLE_LIMITED", +"MULTIPLE_MISCONFIGURED", +"MULTIPLE" +], +"enumDescriptions": [ +"Signals that an unexpected error occurred, for example, no bidding strategy type was found, or no status information was found.", +"Used for return value only. Represents value unknown in this version.", +"The bid strategy is active, and AdWords cannot find any specific issues with the strategy.", +"The bid strategy is learning because it has been recently created or recently reactivated.", +"The bid strategy is learning because of a recent setting change.", +"The bid strategy is learning because of a recent budget change.", +"The bid strategy is learning because of recent change in number of campaigns, ad groups or keywords attached to it.", +"The bid strategy depends on conversion reporting and the customer recently modified conversion types that were relevant to the bid strategy.", +"The bid strategy depends on conversion reporting and the customer recently changed their conversion settings.", +"The bid strategy is limited by its bid ceiling.", +"The bid strategy is limited by its bid floor.", +"The bid strategy is limited because there was not enough conversion traffic over the past weeks.", +"A significant fraction of keywords in this bid strategy are limited by budget.", +"The bid strategy cannot reach its target spend because its spend has been de-prioritized.", +"A significant fraction of keywords in this bid strategy have a low Quality Score.", +"The bid strategy cannot fully spend its budget because of narrow targeting.", +"Missing conversion tracking (no pings present) and/or remarketing lists for SSC.", +"The bid strategy depends on conversion reporting and the customer is lacking conversion types that might be reported against this strategy.", +"The bid strategy depends on conversion reporting and the customer's conversion settings are misconfigured.", +"There are campaigns outside the bid strategy that share budgets with campaigns included in the strategy.", +"The campaign has an invalid strategy type and is not serving.", +"The bid strategy is not active. Either there are no active campaigns, ad groups or keywords attached to the bid strategy. Or there are no active budgets connected to the bid strategy.", +"This bid strategy currently does not support status reporting.", +"There were multiple LEARNING_* system statuses for this bid strategy during the time in question.", +"There were multiple LIMITED_* system statuses for this bid strategy during the time in question.", +"There were multiple MISCONFIGURED_* system statuses for this bid strategy during the time in question.", +"There were multiple system statuses for this bid strategy during the time in question." +], +"readOnly": true, +"type": "string" +}, +"biddingStrategyType": { +"description": "Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"COMMISSION", +"ENHANCED_CPC", +"INVALID", +"MANUAL_CPA", +"MANUAL_CPC", +"MANUAL_CPM", +"MANUAL_CPV", +"MAXIMIZE_CONVERSIONS", +"MAXIMIZE_CONVERSION_VALUE", +"PAGE_ONE_PROMOTED", +"PERCENT_CPC", +"TARGET_CPA", +"TARGET_CPC", +"TARGET_CPM", +"TARGET_IMPRESSION_SHARE", +"TARGET_OUTRANK_SHARE", +"TARGET_ROAS", +"TARGET_SPEND" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", +"Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", +"Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", +"Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", +"Manual click based bidding where user pays per click.", +"Manual impression based bidding where user pays per thousand impressions.", +"A bidding strategy that pays a configurable amount per video view.", +"A bidding strategy that automatically maximizes number of conversions given a daily budget.", +"An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", +"Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", +"Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", +"Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", +"Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", +"An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", +"Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", +"Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." +], +"readOnly": true, +"type": "string" +}, +"brandGuidelines": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines" +}, +"brandGuidelinesEnabled": { +"description": "Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.", +"type": "boolean" +}, +"campaignBudget": { +"description": "The resource name of the campaign budget of the campaign.", +"type": "string" +}, +"campaignGroup": { +"description": "The resource name of the campaign group that this campaign belongs to.", +"type": "string" +}, +"commission": { +"$ref": "GoogleAdsSearchads360V23Common__Commission", +"description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value." +}, +"containsEuPoliticalAdvertising": { +"description": "The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONTAINS_EU_POLITICAL_ADVERTISING", +"DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.", +"The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply." +], +"type": "string" +}, +"demandGenCampaignSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings", +"description": "Settings for Demand Gen campaign." +}, +"dynamicSearchAdsSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting", +"description": "The setting for controlling Dynamic Search Ads (DSA)." +}, +"effectiveLabels": { +"description": "Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"endDateTime": { +"description": "The last day and time of the campaign in serving customer's timezone in \"yyyy-MM-dd HH:mm:ss\" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.", +"type": "string" +}, +"engineId": { +"description": "Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"campaign.id\" instead.", +"readOnly": true, +"type": "string" +}, +"excludedParentAssetFieldTypes": { +"description": "The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"type": "array" +}, +"excludedParentAssetSetTypes": { +"description": "The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MERCHANT_CENTER_FEED", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION_SYNC", +"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", +"CHAIN_DYNAMIC_LOCATION_GROUP", +"STATIC_LOCATION_GROUP", +"HOTEL_PROPERTY", +"TRAVEL_FEED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Page asset set.", +"Dynamic education asset set.", +"Google Merchant Center asset set.", +"Dynamic real estate asset set.", +"Dynamic custom asset set.", +"Dynamic hotels and rentals asset set.", +"Dynamic flights asset set.", +"Dynamic travel asset set.", +"Dynamic local asset set.", +"Dynamic jobs asset set.", +"Location sync level asset set.", +"Business Profile location group asset set.", +"Chain location group asset set which can be used for both owned locations and affiliate locations.", +"Static location group asset set which can be used for both owned locations and affiliate locations.", +"Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", +"Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." +], +"type": "string" +}, +"type": "array" +}, +"experimentType": { +"description": "Output only. The type of campaign: normal, draft, or experiment.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BASE", +"DRAFT", +"EXPERIMENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This is a regular campaign.", +"This is a draft version of a campaign. It has some modifications from a base campaign, but it does not serve or accrue metrics.", +"This is an experiment version of a campaign. It has some modifications from a base campaign, and a percentage of traffic is being diverted from the BASE campaign to this experiment campaign." +], +"readOnly": true, +"type": "string" +}, +"feedTypes": { +"description": "Output only. Types of feeds that are attached directly to this campaign.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAGE_FEED", +"DYNAMIC_EDUCATION", +"MERCHANT_CENTER_FEED", +"DYNAMIC_REAL_ESTATE", +"DYNAMIC_CUSTOM", +"DYNAMIC_HOTELS_AND_RENTALS", +"DYNAMIC_FLIGHTS", +"DYNAMIC_TRAVEL", +"DYNAMIC_LOCAL", +"DYNAMIC_JOBS", +"LOCATION_SYNC", +"BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", +"CHAIN_DYNAMIC_LOCATION_GROUP", +"STATIC_LOCATION_GROUP", +"HOTEL_PROPERTY", +"TRAVEL_FEED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Page asset set.", +"Dynamic education asset set.", +"Google Merchant Center asset set.", +"Dynamic real estate asset set.", +"Dynamic custom asset set.", +"Dynamic hotels and rentals asset set.", +"Dynamic flights asset set.", +"Dynamic travel asset set.", +"Dynamic local asset set.", +"Dynamic jobs asset set.", +"Location sync level asset set.", +"Business Profile location group asset set.", +"Chain location group asset set which can be used for both owned locations and affiliate locations.", +"Static location group asset set which can be used for both owned locations and affiliate locations.", +"Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", +"Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"finalUrlSuffix": { +"description": "Suffix used to append query parameters to landing pages that are served with parallel tracking.", +"type": "string" +}, +"frequencyCaps": { +"description": "A list that limits how often each user will see this campaign's ads.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__FrequencyCapEntry" +}, +"type": "array" +}, +"geoTargetTypeSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting", +"description": "The setting for ads geotargeting." +}, +"hotelPropertyAssetSet": { +"description": "Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.", +"type": "string" +}, +"hotelSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo", +"description": "Output only. The hotel setting for the campaign.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keywordMatchType": { +"description": "Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BROAD" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents value unknown in this version.", +"Campaign level broad match." +], +"type": "string" +}, +"labels": { +"description": "Output only. The resource names of labels attached to this campaign.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"listingType": { +"description": "Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VEHICLES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This campaign serves vehicle ads." +], +"type": "string" +}, +"localCampaignSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting", +"description": "The setting for local campaign." +}, +"localServicesCampaignSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings", +"description": "The Local Services Campaign related settings." +}, +"manualCpa": { +"$ref": "GoogleAdsSearchads360V23Common__ManualCpa", +"description": "Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns." +}, +"manualCpc": { +"$ref": "GoogleAdsSearchads360V23Common__ManualCpc", +"description": "Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click." +}, +"manualCpm": { +"$ref": "GoogleAdsSearchads360V23Common__ManualCpm", +"description": "Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions." +}, +"manualCpv": { +"$ref": "GoogleAdsSearchads360V23Common__ManualCpv", +"description": "A bidding strategy that pays a configurable amount per video view." +}, +"maximizeConversionValue": { +"$ref": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", +"description": "Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget." +}, +"maximizeConversions": { +"$ref": "GoogleAdsSearchads360V23Common__MaximizeConversions", +"description": "Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget." +}, +"missingEuPoliticalAdvertisingDeclaration": { +"description": "Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", +"type": "string" +}, +"networkSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings", +"description": "The network settings for the campaign." +}, +"optimizationGoalSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting", +"description": "Optimization goal setting for this campaign, which includes a set of optimization goal types." +}, +"optimizationScore": { +"description": "Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See \"About optimization score\" at https://support.google.com/google-ads/answer/9061546. This field is read-only.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"paymentMode": { +"description": "Payment mode for the campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLICKS", +"CONVERSION_VALUE", +"CONVERSIONS", +"GUEST_STAY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Pay per interaction.", +"Pay per conversion value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType..", +"Pay per conversion. This mode is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA, and BudgetType.FIXED_CPA. The customer must also be eligible for this mode. See Customer.eligibility_failure_reasons for details.", +"Pay per guest stay value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType.STANDARD." +], +"type": "string" +}, +"percentCpc": { +"$ref": "GoogleAdsSearchads360V23Common__PercentCpc", +"description": "Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service." +}, +"performanceMaxUpgrade": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade", +"description": "Output only. Information about campaigns being upgraded to Performance Max.", +"readOnly": true +}, +"pmaxCampaignSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings", +"description": "Settings for Performance Max campaign." +}, +"primaryStatus": { +"description": "Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"ENDED", +"PENDING", +"MISCONFIGURED", +"LIMITED", +"LEARNING", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The campaign is eligible to serve.", +"The user-specified campaign status is paused.", +"The user-specified campaign status is removed.", +"The user-specified time for this campaign to end has passed.", +"The campaign may serve in the future.", +"The campaign or its associated entities have incorrect user-specified settings.", +"The campaign or its associated entities are limited by user-specified settings.", +"The automated bidding system is adjusting to user-specified changes to the campaign or associated entities.", +"The campaign is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusReasons": { +"description": "Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_REMOVED", +"CAMPAIGN_PAUSED", +"CAMPAIGN_PENDING", +"CAMPAIGN_ENDED", +"CAMPAIGN_DRAFT", +"BIDDING_STRATEGY_MISCONFIGURED", +"BIDDING_STRATEGY_LIMITED", +"BIDDING_STRATEGY_LEARNING", +"BIDDING_STRATEGY_CONSTRAINED", +"BUDGET_CONSTRAINED", +"BUDGET_MISCONFIGURED", +"SEARCH_VOLUME_LIMITED", +"AD_GROUPS_PAUSED", +"NO_AD_GROUPS", +"KEYWORDS_PAUSED", +"NO_KEYWORDS", +"AD_GROUP_ADS_PAUSED", +"NO_AD_GROUP_ADS", +"HAS_ADS_LIMITED_BY_POLICY", +"HAS_ADS_DISAPPROVED", +"MOST_ADS_UNDER_REVIEW", +"MISSING_LEAD_FORM_EXTENSION", +"MISSING_CALL_EXTENSION", +"LEAD_FORM_EXTENSION_UNDER_REVIEW", +"LEAD_FORM_EXTENSION_DISAPPROVED", +"CALL_EXTENSION_UNDER_REVIEW", +"CALL_EXTENSION_DISAPPROVED", +"NO_MOBILE_APPLICATION_AD_GROUP_CRITERIA", +"CAMPAIGN_GROUP_PAUSED", +"CAMPAIGN_GROUP_ALL_GROUP_BUDGETS_ENDED", +"APP_NOT_RELEASED", +"APP_PARTIALLY_RELEASED", +"HAS_ASSET_GROUPS_DISAPPROVED", +"HAS_ASSET_GROUPS_LIMITED_BY_POLICY", +"MOST_ASSET_GROUPS_UNDER_REVIEW", +"NO_ASSET_GROUPS", +"ASSET_GROUPS_PAUSED", +"MISSING_LOCATION_TARGETING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user-specified campaign status is removed.", +"The user-specified campaign status is paused.", +"The user-specified time for this campaign to start is in the future.", +"The user-specified time for this campaign to end has passed.", +"The campaign is a draft.", +"The bidding strategy has incorrect user-specified settings.", +"The bidding strategy is limited by user-specified settings such as lack of data or similar.", +"The automated bidding system is adjusting to user-specified changes to the bidding strategy.", +"Campaign could capture more conversion value by adjusting CPA/ROAS targets.", +"The budget is limiting the campaign's ability to serve.", +"The budget has incorrect user-specified settings.", +"Campaign is not targeting all relevant queries.", +"The user-specified ad group statuses are all paused.", +"No eligible ad groups exist in this campaign.", +"The user-specified keyword statuses are all paused.", +"No eligible keywords exist in this campaign.", +"The user-specified ad group ad statuses are all paused.", +"No eligible ad group ads exist in this campaign.", +"At least one ad in this campaign is limited by policy.", +"At least one ad in this campaign is disapproved.", +"Most ads in this campaign are pending review.", +"The campaign has a lead form goal, and the lead form extension is missing.", +"The campaign has a call goal, and the call extension is missing.", +"The lead form extension is under review.", +"The lead extension is disapproved.", +"The call extension is under review.", +"The call extension is disapproved.", +"No eligible mobile application ad group criteria exist in this campaign.", +"The user-specified campaign group status is paused.", +"The user-specified times of all group budgets associated with the parent campaign group has passed.", +"The app associated with this ACi campaign is not released in the target countries of the campaign.", +"The app associated with this ACi campaign is partially released in the target countries of the campaign.", +"At least one asset group in this campaign is disapproved.", +"At least one asset group in this campaign is limited by policy.", +"Most asset groups in this campaign are pending review.", +"No eligible asset groups exist in this campaign.", +"All asset groups in this campaign are paused.", +"The campaign has location restrictions but does not specify location targeting." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"realTimeBiddingSetting": { +"$ref": "GoogleAdsSearchads360V23Common__RealTimeBiddingSetting", +"description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network." +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`", +"type": "string" +}, +"selectiveOptimization": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization", +"description": "Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType." +}, +"selectiveOptimizationMode": { +"description": "Selective optimization mode for this campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNCONSTRAINED", +"MATCHES_SEARCH_ADS360_EFFECTIVE_CAMPAIGN_LEVEL_CONFIG" +], +"enumDescriptions": [ +"The selective optimization mode has not been specified.", +"The selective optimization mode is not known in this version.", +"Google Ads selective optimization setting has no constraints.", +"Google Ads selective optimization setting matches Search Ads 360 effective campaign level selective optimization setting." +], +"type": "string" +}, +"servingStatus": { +"description": "Output only. The ad serving status of the campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SERVING", +"NONE", +"ENDED", +"PENDING", +"SUSPENDED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"Serving.", +"None.", +"Ended.", +"Pending.", +"Suspended." +], +"readOnly": true, +"type": "string" +}, +"shoppingSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting", +"description": "The setting for controlling Shopping campaigns." +}, +"startDateTime": { +"description": "The date and time when campaign started in serving. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.", +"type": "string" +}, +"status": { +"description": "The status of the campaign. When a new campaign is added, the status defaults to ENABLED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Campaign is active and can show ads.", +"Campaign has been paused by the user.", +"Campaign has been removed." +], +"type": "string" +}, +"targetCpa": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpa", +"description": "Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set." +}, +"targetCpc": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpc", +"description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set." +}, +"targetCpm": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpm", +"description": "A bidding strategy that automatically optimizes cost per thousand impressions." +}, +"targetImpressionShare": { +"$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShare", +"description": "Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions." +}, +"targetRoas": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoas", +"description": "Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS)." +}, +"targetSpend": { +"$ref": "GoogleAdsSearchads360V23Common__TargetSpend", +"description": "Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget." +}, +"targetingSetting": { +"$ref": "GoogleAdsSearchads360V23Common__TargetingSetting", +"description": "Setting for targeting related features." +}, +"thirdPartyIntegrationPartners": { +"$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners", +"description": "Third-Party integration partners." +}, +"trackingSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting", +"description": "Output only. Campaign-level settings for tracking information.", +"readOnly": true +}, +"trackingUrlTemplate": { +"description": "The URL template for constructing a tracking URL.", +"type": "string" +}, +"travelCampaignSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings", +"description": "Settings for Travel campaign." +}, +"urlCustomParameters": { +"description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CustomParameter" +}, +"type": "array" +}, +"vanityPharma": { +"$ref": "GoogleAdsSearchads360V23Resources_Campaign_VanityPharma", +"description": "Describes how unbranded pharma ads will be displayed." +}, +"videoBrandSafetySuitability": { +"description": "Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXPANDED_INVENTORY", +"STANDARD_INVENTORY", +"LIMITED_INVENTORY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This option lets you show ads across all inventory on YouTube and video partners that meet our standards for monetization. This option may be an appropriate choice for brands that want maximum access to the full breadth of videos eligible for ads, including, for example, videos that have strong profanity in the context of comedy or a documentary, or excessive violence as featured in video games.", +"This option lets you show ads across a wide range of content that's appropriate for most brands, such as popular music videos, documentaries, and movie trailers. The content you can show ads on is based on YouTube's advertiser-friendly content guidelines that take into account, for example, the strength or frequency of profanity, or the appropriateness of subject matter like sensitive events. Ads won't show, for example, on content with repeated strong profanity, strong sexual content, or graphic violence.", +"This option lets you show ads on a reduced range of content that's appropriate for brands with particularly strict guidelines around inappropriate language and sexual suggestiveness; above and beyond what YouTube's advertiser-friendly content guidelines address. The videos accessible in this sensitive category meet heightened requirements, especially for inappropriate language and sexual suggestiveness. For example, your ads will be excluded from showing on some of YouTube's most popular music videos and other pop culture content across YouTube and Google video partners." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignAsset": { +"description": "A link between a Campaign and an Asset.", +"id": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"properties": { +"asset": { +"description": "Immutable. The asset which is linked to the campaign.", +"type": "string" +}, +"campaign": { +"description": "Immutable. The campaign to which the asset is linked.", +"type": "string" +}, +"fieldType": { +"description": "Immutable. Role that the asset takes under the linked campaign. Required.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"primaryStatus": { +"description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is eligible to serve.", +"The user-specified asset link status is paused.", +"The user-specified asset link status is removed.", +"The asset may serve in the future.", +"The asset is serving in a partial capacity.", +"The asset is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusDetails": { +"description": "Output only. Provides the details of the primary status and its associated reasons.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" +}, +"readOnly": true, +"type": "array" +}, +"primaryStatusReasons": { +"description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_LINK_PAUSED", +"ASSET_LINK_REMOVED", +"ASSET_DISAPPROVED", +"ASSET_UNDER_REVIEW", +"ASSET_APPROVED_LABELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", +"The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", +"The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", +"The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", +"The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"source": { +"description": "Output only. Source of the campaign asset link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Status of the campaign asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Asset link is enabled.", +"Asset link has been removed.", +"Asset link is paused." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignAssetSet": { +"description": "CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign.", +"id": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", +"properties": { +"assetSet": { +"description": "Immutable. The asset set which is linked to the campaign.", +"type": "string" +}, +"campaign": { +"description": "Immutable. The campaign to which this asset set is linked.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the campaign asset set asset. Read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The linkage between asset set and its container is enabled.", +"The linkage between asset set and its container is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignAudienceView": { +"description": "A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level.", +"id": "GoogleAdsSearchads360V23Resources__CampaignAudienceView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignBidModifier": { +"description": "Represents a bid-modifiable only criterion at the campaign level.", +"id": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", +"properties": { +"bidModifier": { +"description": "The modifier for the bid when the criterion matches.", +"format": "double", +"type": "number" +}, +"campaign": { +"description": "Output only. The campaign to which this criterion belongs.", +"readOnly": true, +"type": "string" +}, +"criterionId": { +"description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"interactionType": { +"$ref": "GoogleAdsSearchads360V23Common__InteractionTypeInfo", +"description": "Immutable. Criterion for interaction type. Only supported for search campaigns." +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignBudget": { +"description": "A campaign budget.", +"id": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"properties": { +"alignedBiddingStrategyId": { +"description": "ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.", +"format": "int64", +"type": "string" +}, +"amountMicros": { +"description": "The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.", +"format": "int64", +"type": "string" +}, +"deliveryMethod": { +"description": "The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STANDARD", +"ACCELERATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The budget server will throttle serving evenly across the entire time period.", +"The budget server will not throttle serving, and ads will serve as fast as possible." +], +"type": "string" +}, +"explicitlyShared": { +"description": "Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.", +"type": "boolean" +}, +"hasRecommendedBudget": { +"description": "Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"id": { +"description": "Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).", +"type": "string" +}, +"period": { +"description": "Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DAILY", +"CUSTOM_PERIOD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Daily budget.", +"Custom budget can be used with total_amount to specify lifetime budget limit." +], +"type": "string" +}, +"recommendedBudgetAmountMicros": { +"description": "Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedBudgetEstimatedChangeWeeklyClicks": { +"description": "Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedBudgetEstimatedChangeWeeklyCostMicros": { +"description": "Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedBudgetEstimatedChangeWeeklyInteractions": { +"description": "Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"recommendedBudgetEstimatedChangeWeeklyViews": { +"description": "Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"referenceCount": { +"description": "Output only. The number of campaigns actively using the budget. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of this campaign budget. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Budget is enabled.", +"Budget is removed." +], +"readOnly": true, +"type": "string" +}, +"totalAmountMicros": { +"description": "The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.", +"format": "int64", +"type": "string" +}, +"type": { +"description": "Immutable. The type of the campaign budget.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STANDARD", +"FIXED_CPA", +"SMART_CAMPAIGN", +"LOCAL_SERVICES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Budget type for standard Google Ads usage. Caps daily spend at two times the specified budget amount. Full details: https://support.google.com/google-ads/answer/6385083", +"Budget type with a fixed cost-per-acquisition (conversion). Full details: https://support.google.com/google-ads/answer/7528254 This type is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS.", +"Budget type for Smart Campaign. Full details: https://support.google.com/google-ads/answer/7653509 This type is only supported by campaigns with AdvertisingChannelType.SMART and AdvertisingChannelSubType.SMART_CAMPAIGN.", +"Budget type for Local Services Campaign. Full details: https://support.google.com/localservices/answer/7434558 This type is only supported by campaigns with AdvertisingChannelType.LOCAL_SERVICES." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignConversionGoal": { +"description": "The biddability setting for the specified campaign only for all conversion actions with a matching category and origin.", +"id": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", +"properties": { +"biddable": { +"description": "The biddability of the campaign conversion goal.", +"type": "boolean" +}, +"campaign": { +"description": "Immutable. The campaign with which this campaign conversion goal is associated.", +"type": "string" +}, +"category": { +"description": "The conversion category of this campaign conversion goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT", +"PAGE_VIEW", +"PURCHASE", +"SIGNUP", +"DOWNLOAD", +"ADD_TO_CART", +"BEGIN_CHECKOUT", +"SUBSCRIBE_PAID", +"PHONE_CALL_LEAD", +"IMPORTED_LEAD", +"SUBMIT_LEAD_FORM", +"BOOK_APPOINTMENT", +"REQUEST_QUOTE", +"GET_DIRECTIONS", +"OUTBOUND_CLICK", +"CONTACT", +"ENGAGEMENT", +"STORE_VISIT", +"STORE_SALE", +"QUALIFIED_LEAD", +"CONVERTED_LEAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Default category.", +"User visiting a page.", +"Purchase, sales, or \"order placed\" event.", +"Signup user action.", +"Software download action (as for an app).", +"The addition of items to a shopping cart or bag on an advertiser site.", +"When someone enters the checkout flow on an advertiser site.", +"The start of a paid subscription for a product or service.", +"A call to indicate interest in an advertiser's offering.", +"A lead conversion imported from an external source into Google Ads.", +"A submission of a form on an advertiser site indicating business interest.", +"A booking of an appointment with an advertiser's business.", +"A quote or price estimate request.", +"A search for an advertiser's business location with intention to visit.", +"A click to an advertiser's partner's site.", +"A call, SMS, email, chat or other type of contact to an advertiser.", +"A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", +"A visit to a physical store location.", +"A sale occurring in a physical store.", +"A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", +"A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." +], +"type": "string" +}, +"origin": { +"description": "The conversion origin of this campaign conversion goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"GOOGLE_HOSTED", +"APP", +"CALL_FROM_ADS", +"STORE", +"YOUTUBE_HOSTED", +"FLOODLIGHT" +], +"enumDescriptions": [ +"The conversion origin has not been specified.", +"The conversion origin is not known in this version.", +"Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", +"Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", +"Conversion that occurs when a user performs an action through any app platforms.", +"Conversion that occurs when a user makes a call from ads.", +"Conversion that occurs when a user visits or makes a purchase at a physical store.", +"Conversion that occurs on YouTube.", +"Conversions that occur through Floodlight tag." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`", +"type": "string" +}, +"searchAds360Biddable": { +"description": "Search Ads 360 biddability of the campaign conversion goal.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignCriterion": { +"description": "A campaign criterion.", +"id": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"properties": { +"adSchedule": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo", +"description": "Immutable. Ad Schedule." +}, +"ageRange": { +"$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", +"description": "Immutable. Age range." +}, +"bidModifier": { +"description": "The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.", +"format": "float", +"type": "number" +}, +"brandList": { +"$ref": "GoogleAdsSearchads360V23Common__BrandListInfo", +"description": "Immutable. Brand list campaign criterion." +}, +"campaign": { +"description": "Immutable. The campaign to which the criterion belongs.", +"type": "string" +}, +"carrier": { +"$ref": "GoogleAdsSearchads360V23Common__CarrierInfo", +"description": "Immutable. Carrier." +}, +"combinedAudience": { +"$ref": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", +"description": "Immutable. Combined Audience." +}, +"contentLabel": { +"$ref": "GoogleAdsSearchads360V23Common__ContentLabelInfo", +"description": "Immutable. ContentLabel." +}, +"criterionId": { +"description": "Output only. The ID of the criterion. This field is ignored during mutate.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"device": { +"$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", +"description": "Immutable. Device." +}, +"displayName": { +"description": "Output only. The display name of the criterion. This field is ignored for mutates.", +"readOnly": true, +"type": "string" +}, +"extendedDemographic": { +"$ref": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", +"description": "Immutable. Extended demographic criterion." +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo", +"description": "Immutable. Gender." +}, +"incomeRange": { +"$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", +"description": "Immutable. Income range." +}, +"ipBlock": { +"$ref": "GoogleAdsSearchads360V23Common__IpBlockInfo", +"description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign." +}, +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Immutable. Keyword." +}, +"keywordTheme": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordThemeInfo", +"description": "Immutable. Smart Campaign Keyword Theme." +}, +"language": { +"$ref": "GoogleAdsSearchads360V23Common__LanguageInfo", +"description": "Immutable. Language." +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"lifeEvent": { +"$ref": "GoogleAdsSearchads360V23Common__LifeEventInfo", +"description": "Immutable. Life event campaign criterion." +}, +"listingScope": { +"$ref": "GoogleAdsSearchads360V23Common__ListingScopeInfo", +"description": "Immutable. Listing scope." +}, +"localServiceId": { +"$ref": "GoogleAdsSearchads360V23Common__LocalServiceIdInfo", +"description": "Immutable. GLS service campaign criterion." +}, +"location": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "Immutable. Location." +}, +"locationGroup": { +"$ref": "GoogleAdsSearchads360V23Common__LocationGroupInfo", +"description": "Immutable. Location Group" +}, +"mobileAppCategory": { +"$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", +"description": "Immutable. Mobile app category." +}, +"mobileApplication": { +"$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", +"description": "Immutable. Mobile application." +}, +"mobileDevice": { +"$ref": "GoogleAdsSearchads360V23Common__MobileDeviceInfo", +"description": "Immutable. Mobile Device." +}, +"negative": { +"description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion.", +"type": "boolean" +}, +"operatingSystemVersion": { +"$ref": "GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo", +"description": "Immutable. Operating system version." +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"description": "Immutable. Parental status." +}, +"placement": { +"$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", +"description": "Immutable. Placement." +}, +"proximity": { +"$ref": "GoogleAdsSearchads360V23Common__ProximityInfo", +"description": "Immutable. Proximity." +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`", +"type": "string" +}, +"status": { +"description": "The status of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The campaign criterion is enabled.", +"The campaign criterion is paused.", +"The campaign criterion is removed." +], +"type": "string" +}, +"topic": { +"$ref": "GoogleAdsSearchads360V23Common__TopicInfo", +"description": "Immutable. Topic." +}, +"type": { +"description": "Output only. The type of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"PLACEMENT", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"DEVICE", +"LOCATION", +"LISTING_GROUP", +"AD_SCHEDULE", +"AGE_RANGE", +"GENDER", +"INCOME_RANGE", +"PARENTAL_STATUS", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"USER_LIST", +"PROXIMITY", +"TOPIC", +"LISTING_SCOPE", +"LANGUAGE", +"IP_BLOCK", +"CONTENT_LABEL", +"CARRIER", +"USER_INTEREST", +"WEBPAGE", +"OPERATING_SYSTEM_VERSION", +"APP_PAYMENT_MODEL", +"MOBILE_DEVICE", +"CUSTOM_AFFINITY", +"CUSTOM_INTENT", +"LOCATION_GROUP", +"CUSTOM_AUDIENCE", +"COMBINED_AUDIENCE", +"KEYWORD_THEME", +"AUDIENCE", +"NEGATIVE_KEYWORD_LIST", +"LOCAL_SERVICE_ID", +"SEARCH_THEME", +"BRAND", +"BRAND_LIST", +"LIFE_EVENT", +"WEBPAGE_LIST", +"VIDEO_LINEUP", +"PLACEMENT_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword, for example, 'mars cruise'.", +"Placement, also known as Website, for example, 'www.flowers4sale.com'", +"Mobile application categories to target.", +"Mobile applications to target.", +"Devices to target.", +"Locations to target.", +"Listing groups to target.", +"Ad Schedule.", +"Age range.", +"Gender.", +"Income Range.", +"Parental status.", +"YouTube Video.", +"YouTube Channel.", +"User list.", +"Proximity.", +"A topic target on the display network (for example, \"Pets & Animals\").", +"Listing scope to target.", +"Language.", +"IpBlock.", +"Content Label for category exclusion.", +"Carrier.", +"A category the user is interested in.", +"Webpage criterion for dynamic search ads.", +"Operating system version.", +"App payment model.", +"Mobile device.", +"Custom affinity.", +"Custom intent.", +"Location group.", +"Custom audience", +"Combined audience", +"Smart Campaign keyword theme", +"Audience", +"Negative Keyword List", +"Local Services Ads Service ID.", +"Search Theme.", +"Brand", +"Brand List", +"Life Event", +"Webpage List", +"Video lineup", +"Placement List", +"A list of rules for item groups in Vertical Ads.", +"A rule for an item group in Vertical Ads." +], +"readOnly": true, +"type": "string" +}, +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", +"description": "Immutable. User Interest." +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo", +"description": "Immutable. User List." +}, +"videoLineup": { +"$ref": "GoogleAdsSearchads360V23Common__VideoLineupInfo", +"description": "Immutable. Video lineup criterion." +}, +"webpage": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", +"description": "Immutable. Webpage." +}, +"webpageList": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageListInfo", +"description": "Immutable. Webpage list. This criterion is not publicly available." +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "Immutable. YouTube Channel." +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"description": "Immutable. YouTube Video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignCustomizer": { +"description": "A customizer value for the associated CustomizerAttribute at the Campaign level.", +"id": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", +"properties": { +"campaign": { +"description": "Immutable. The campaign to which the customizer attribute is linked.", +"type": "string" +}, +"customizerAttribute": { +"description": "Required. Immutable. The customizer attribute which is linked to the campaign.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the campaign customizer.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The customizer value is enabled.", +"The customizer value is removed." +], +"readOnly": true, +"type": "string" +}, +"value": { +"$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", +"description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignDraft": { +"description": "A campaign draft.", +"id": "GoogleAdsSearchads360V23Resources__CampaignDraft", +"properties": { +"baseCampaign": { +"description": "Immutable. The base campaign to which the draft belongs.", +"type": "string" +}, +"draftCampaign": { +"description": "Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"draftId": { +"description": "Output only. The ID of the draft. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"hasExperimentRunning": { +"description": "Output only. Whether there is an experiment based on this draft currently serving.", +"readOnly": true, +"type": "boolean" +}, +"longRunningOperation": { +"description": "Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PROPOSED", +"REMOVED", +"PROMOTING", +"PROMOTED", +"PROMOTE_FAILED" +], +"enumDescriptions": [ +"The status has not been specified.", +"Used for return value only. Represents value unknown in this version.", +"Initial state of the draft, the advertiser can start adding changes with no effect on serving.", +"The campaign draft is removed.", +"Advertiser requested to promote draft's changes back into the original campaign. Advertiser can poll the long running operation returned by the promote action to see the status of the promotion.", +"The process to merge changes in the draft back to the original campaign has completed successfully.", +"The promotion failed after it was partially applied. Promote cannot be attempted again safely, so the issue must be corrected in the original campaign." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel": { +"description": "Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign.", +"id": "GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel", +"properties": { +"campaign": { +"description": "Immutable. The campaign to which the effective label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The effective label assigned to the campaign.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the effective label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignGoalConfig": { +"description": "A link between a campaign and a goal enabling campaign-specific optimization.", +"id": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", +"properties": { +"campaign": { +"description": "Immutable. The resource name of the campaign for this link.", +"type": "string" +}, +"campaignRetentionSettings": { +"$ref": "GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings", +"description": "Retention goal campaign settings." +}, +"goal": { +"description": "Immutable. The resource name of the goal this link is attached to.", +"type": "string" +}, +"goalType": { +"description": "Output only. The goal type this link is attached to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_RETENTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)" +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignGroup": { +"description": "A campaign group.", +"id": "GoogleAdsSearchads360V23Resources__CampaignGroup", +"properties": { +"id": { +"description": "Output only. The ID of the campaign group.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`", +"type": "string" +}, +"status": { +"description": "The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The campaign group is active.", +"The campaign group has been removed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignLabel": { +"description": "Represents a relationship between a campaign and a label.", +"id": "GoogleAdsSearchads360V23Resources__CampaignLabel", +"properties": { +"campaign": { +"description": "Immutable. The campaign to which the label is attached.", +"type": "string" +}, +"label": { +"description": "Immutable. The label assigned to the campaign.", +"type": "string" +}, +"ownerCustomerId": { +"description": "Output only. The ID of the Customer which owns the label.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal": { +"description": "Campaign level customer lifecycle goal settings.", +"id": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", +"properties": { +"campaign": { +"description": "Output only. The campaign where the goal is attached.", +"readOnly": true, +"type": "string" +}, +"customerAcquisitionGoalSettings": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings", +"description": "Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight": { +"description": "This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.", +"id": "GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight", +"properties": { +"campaignId": { +"description": "Output only. The ID of the campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"categoryLabel": { +"description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the insight.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignSearchTermView": { +"description": "This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results.", +"id": "GoogleAdsSearchads360V23Resources__CampaignSearchTermView", +"properties": { +"campaign": { +"description": "Output only. The campaign the search term served in.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. The search term.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignSharedSet": { +"description": "CampaignSharedSets are used for managing the shared sets associated with a campaign.", +"id": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", +"properties": { +"campaign": { +"description": "Immutable. The campaign to which the campaign shared set belongs.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`", +"type": "string" +}, +"sharedSet": { +"description": "Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.", +"type": "string" +}, +"status": { +"description": "Output only. The status of this campaign shared set. Read only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The campaign shared set is enabled.", +"The campaign shared set is removed and can no longer be used." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CampaignSimulation": { +"description": "A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM", +"id": "GoogleAdsSearchads360V23Resources__CampaignSimulation", +"properties": { +"budgetPointList": { +"$ref": "GoogleAdsSearchads360V23Common__BudgetSimulationPointList", +"description": "Output only. Simulation points if the simulation type is BUDGET.", +"readOnly": true +}, +"campaignId": { +"description": "Output only. Campaign id of the simulation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"cpcBidPointList": { +"$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", +"description": "Output only. Simulation points if the simulation type is CPC_BID.", +"readOnly": true +}, +"endDate": { +"description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", +"readOnly": true, +"type": "string" +}, +"modificationMethod": { +"description": "Output only. How the simulation modifies the field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNIFORM", +"DEFAULT", +"SCALING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", +"The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", +"The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}`", +"readOnly": true, +"type": "string" +}, +"startDate": { +"description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", +"readOnly": true, +"type": "string" +}, +"targetCpaPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_CPA.", +"readOnly": true +}, +"targetImpressionSharePointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.", +"readOnly": true +}, +"targetRoasPointList": { +"$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", +"description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", +"readOnly": true +}, +"type": { +"description": "Output only. The field that the simulation modifies.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CPC_BID", +"CPV_BID", +"TARGET_CPA", +"BID_MODIFIER", +"TARGET_ROAS", +"PERCENT_CPC_BID", +"TARGET_IMPRESSION_SHARE", +"BUDGET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The simulation is for a CPC bid.", +"The simulation is for a CPV bid.", +"The simulation is for a CPA target.", +"The simulation is for a bid modifier.", +"The simulation is for a ROAS target.", +"The simulation is for a percent CPC bid.", +"The simulation is for an impression share target.", +"The simulation is for a budget." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CarrierConstant": { +"description": "A carrier criterion that can be used in campaign targeting.", +"id": "GoogleAdsSearchads360V23Resources__CarrierConstant", +"properties": { +"countryCode": { +"description": "Output only. The country code of the country where the carrier is located, for example, \"AR\", \"FR\", etc.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the carrier criterion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full name of the carrier in English.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CartDataSalesView": { +"description": "Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together.", +"id": "GoogleAdsSearchads360V23Resources__CartDataSalesView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id}/cartDataSalesView`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ChangeEvent": { +"description": "Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change.", +"id": "GoogleAdsSearchads360V23Resources__ChangeEvent", +"properties": { +"adGroup": { +"description": "Output only. The AdGroup affected by this change.", +"readOnly": true, +"type": "string" +}, +"asset": { +"description": "Output only. The Asset affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Output only. The Campaign affected by this change.", +"readOnly": true, +"type": "string" +}, +"changeDateTime": { +"description": "Output only. Time at which the change was committed on this resource.", +"readOnly": true, +"type": "string" +}, +"changeResourceName": { +"description": "Output only. The Simply resource this change occurred on.", +"readOnly": true, +"type": "string" +}, +"changeResourceType": { +"description": "Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD", +"AD_GROUP", +"AD_GROUP_CRITERION", +"CAMPAIGN", +"CAMPAIGN_BUDGET", +"AD_GROUP_BID_MODIFIER", +"CAMPAIGN_CRITERION", +"FEED", +"FEED_ITEM", +"CAMPAIGN_FEED", +"AD_GROUP_FEED", +"AD_GROUP_AD", +"ASSET", +"CUSTOMER_ASSET", +"CAMPAIGN_ASSET", +"AD_GROUP_ASSET", +"ASSET_SET", +"ASSET_SET_ASSET", +"CAMPAIGN_ASSET_SET" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified resource unknown in this version.", +"An Ad resource change.", +"An AdGroup resource change.", +"An AdGroupCriterion resource change.", +"A Campaign resource change.", +"A CampaignBudget resource change.", +"An AdGroupBidModifier resource change.", +"A CampaignCriterion resource change.", +"A Feed resource change.", +"A FeedItem resource change.", +"A CampaignFeed resource change.", +"An AdGroupFeed resource change.", +"An AdGroupAd resource change.", +"An Asset resource change.", +"A CustomerAsset resource change.", +"A CampaignAsset resource change.", +"An AdGroupAsset resource change.", +"An AssetSet resource change.", +"An AssetSetAsset resource change.", +"A CampaignAssetSet resource change." +], +"readOnly": true, +"type": "string" +}, +"changedFields": { +"description": "Output only. A list of fields that are changed in the returned resource.", +"format": "google-fieldmask", +"readOnly": true, +"type": "string" +}, +"clientType": { +"description": "Output only. Where the change was made through.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_ADS_WEB_CLIENT", +"GOOGLE_ADS_AUTOMATED_RULE", +"GOOGLE_ADS_SCRIPTS", +"GOOGLE_ADS_BULK_UPLOAD", +"GOOGLE_ADS_API", +"GOOGLE_ADS_EDITOR", +"GOOGLE_ADS_MOBILE_APP", +"GOOGLE_ADS_RECOMMENDATIONS", +"SEARCH_ADS_360_SYNC", +"SEARCH_ADS_360_POST", +"INTERNAL_TOOL", +"OTHER", +"GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified client type unknown in this version.", +"Changes made through the \"ads.google.com\". For example, changes made through campaign management.", +"Changes made through Google Ads automated rules.", +"Changes made through Google Ads scripts.", +"Changes made by Google Ads bulk upload.", +"Changes made by Google Ads API.", +"Changes made by Google Ads Editor. This value is a placeholder. The API does not return these changes.", +"Changes made by Google Ads mobile app.", +"Changes made through Google Ads recommendations.", +"Changes made through Search Ads 360 Sync.", +"Changes made through Search Ads 360 Post.", +"Changes made through internal tools. For example, when a user sets a URL template on an entity like a Campaign, it's automatically wrapped with the SA360 Clickserver URL.", +"Types of changes that are not categorized, for example, changes made by coupon redemption through Google Ads.", +"Changes made by subscribing to Google Ads recommendations." +], +"readOnly": true, +"type": "string" +}, +"newResource": { +"$ref": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", +"description": "Output only. The new resource after the change. Only changed fields will be populated.", +"readOnly": true +}, +"oldResource": { +"$ref": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", +"description": "Output only. The old resource before the change. Only changed fields will be populated.", +"readOnly": true +}, +"resourceChangeOperation": { +"description": "Output only. The operation on the changed resource.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CREATE", +"UPDATE", +"REMOVE" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified operation unknown in this version.", +"The resource was created.", +"The resource was modified.", +"The resource was removed." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}`", +"readOnly": true, +"type": "string" +}, +"userEmail": { +"description": "Output only. The email of the user who made this change.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ChangeStatus": { +"description": "Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change.", +"id": "GoogleAdsSearchads360V23Resources__ChangeStatus", +"properties": { +"adGroup": { +"description": "Output only. The AdGroup affected by this change.", +"readOnly": true, +"type": "string" +}, +"adGroupAd": { +"description": "Output only. The AdGroupAd affected by this change.", +"readOnly": true, +"type": "string" +}, +"adGroupAsset": { +"description": "Output only. The AdGroupAsset affected by this change.", +"readOnly": true, +"type": "string" +}, +"adGroupBidModifier": { +"description": "Output only. The AdGroupBidModifier affected by this change.", +"readOnly": true, +"type": "string" +}, +"adGroupCriterion": { +"description": "Output only. The AdGroupCriterion affected by this change.", +"readOnly": true, +"type": "string" +}, +"asset": { +"description": "Output only. The Asset affected by this change.", +"readOnly": true, +"type": "string" +}, +"assetGroup": { +"description": "Output only. The AssetGroup affected by this change.", +"readOnly": true, +"type": "string" +}, +"assetSet": { +"description": "Output only. The AssetSet affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Output only. The Campaign affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaignAsset": { +"description": "Output only. The CampaignAsset affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaignAssetSet": { +"description": "Output only. The CampaignAssetSet affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaignBudget": { +"description": "Output only. The CampaignBudget affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaignCriterion": { +"description": "Output only. The CampaignCriterion affected by this change.", +"readOnly": true, +"type": "string" +}, +"campaignSharedSet": { +"description": "Output only. The CampaignSharedSet affected by this change.", +"readOnly": true, +"type": "string" +}, +"combinedAudience": { +"description": "Output only. The CombinedAudience affected by this change.", +"readOnly": true, +"type": "string" +}, +"customerAsset": { +"description": "Output only. The CustomerAsset affected by this change.", +"readOnly": true, +"type": "string" +}, +"lastChangeDateTime": { +"description": "Output only. Time at which the most recent change has occurred on this resource.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id}/changeStatus/{change_status_id}`", +"readOnly": true, +"type": "string" +}, +"resourceStatus": { +"description": "Output only. Represents the status of the changed resource.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADDED", +"CHANGED", +"REMOVED" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified resource unknown in this version.", +"The resource was created.", +"The resource was modified.", +"The resource was removed." +], +"readOnly": true, +"type": "string" +}, +"resourceType": { +"description": "Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_GROUP", +"AD_GROUP_AD", +"AD_GROUP_CRITERION", +"CAMPAIGN", +"CAMPAIGN_CRITERION", +"CAMPAIGN_BUDGET", +"FEED", +"FEED_ITEM", +"AD_GROUP_FEED", +"CAMPAIGN_FEED", +"AD_GROUP_BID_MODIFIER", +"SHARED_SET", +"CAMPAIGN_SHARED_SET", +"ASSET", +"CUSTOMER_ASSET", +"CAMPAIGN_ASSET", +"AD_GROUP_ASSET", +"COMBINED_AUDIENCE", +"ASSET_GROUP", +"ASSET_SET", +"CAMPAIGN_ASSET_SET" +], +"enumDescriptions": [ +"No value has been specified.", +"Used for return value only. Represents an unclassified resource unknown in this version.", +"An AdGroup resource change.", +"An AdGroupAd resource change.", +"An AdGroupCriterion resource change.", +"A Campaign resource change.", +"A CampaignCriterion resource change.", +"A CampaignBudget resource change.", +"A Feed resource change.", +"A FeedItem resource change.", +"An AdGroupFeed resource change.", +"A CampaignFeed resource change.", +"An AdGroupBidModifier resource change.", +"A SharedSet resource change.", +"A CampaignSharedSet resource change.", +"An Asset resource change.", +"A CustomerAsset resource change.", +"A CampaignAsset resource change.", +"An AdGroupAsset resource change.", +"A CombinedAudience resource change.", +"An AssetGroup resource change.", +"An AssetSet resource change.", +"A CampaignAssetSet resource change." +], +"readOnly": true, +"type": "string" +}, +"sharedSet": { +"description": "Output only. The SharedSet affected by this change.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ClickView": { +"description": "A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre).", +"id": "GoogleAdsSearchads360V23Resources__ClickView", +"properties": { +"adGroupAd": { +"description": "Output only. The associated ad.", +"readOnly": true, +"type": "string" +}, +"areaOfInterest": { +"$ref": "GoogleAdsSearchads360V23Common__ClickLocation", +"description": "Output only. The location criteria matching the area of interest associated with the impression.", +"readOnly": true +}, +"campaignLocationTarget": { +"description": "Output only. The associated campaign location target, if one exists.", +"readOnly": true, +"type": "string" +}, +"gclid": { +"description": "Output only. The Google Click ID.", +"readOnly": true, +"type": "string" +}, +"keyword": { +"description": "Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.", +"readOnly": true, +"type": "string" +}, +"keywordInfo": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Output only. Basic information about the associated keyword, if it exists.", +"readOnly": true +}, +"locationOfPresence": { +"$ref": "GoogleAdsSearchads360V23Common__ClickLocation", +"description": "Output only. The location criteria matching the location of presence associated with the impression.", +"readOnly": true +}, +"pageNumber": { +"description": "Output only. Page number in search results where the ad was shown.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`", +"readOnly": true, +"type": "string" +}, +"userList": { +"description": "Output only. The associated user list, if one exists.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CombinedAudience": { +"description": "Describe a resource for combined audiences which includes different audiences.", +"id": "GoogleAdsSearchads360V23Resources__CombinedAudience", +"properties": { +"description": { +"description": "Output only. Description of this combined audience.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID of the combined audience.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the combined audience. It should be unique across all combined audiences.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id}/combinedAudience/{combined_audience_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Enabled status - combined audience is enabled and can be targeted.", +"Removed status - combined audience is removed and cannot be used for targeting." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ContactDetails": { +"description": "Fields containing consumer contact details.", +"id": "GoogleAdsSearchads360V23Resources__ContactDetails", +"properties": { +"consumerName": { +"description": "Output only. Consumer name if consumer provided name from Message or Booking form on google.com", +"readOnly": true, +"type": "string" +}, +"email": { +"description": "Output only. Consumer email address.", +"readOnly": true, +"type": "string" +}, +"phoneNumber": { +"description": "Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ContentCriterionView": { +"description": "A content criterion view.", +"id": "GoogleAdsSearchads360V23Resources__ContentCriterionView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Conversion": { +"description": "A conversion.", +"id": "GoogleAdsSearchads360V23Resources__Conversion", +"properties": { +"adId": { +"description": "Output only. Ad ID. A value of 0 indicates that the ad is unattributed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"advertiserConversionId": { +"description": "Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions.", +"readOnly": true, +"type": "string" +}, +"assetFieldType": { +"description": "Output only. Asset field type of the conversion event.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"assetId": { +"description": "Output only. ID of the asset which was interacted with during the conversion event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"attributionType": { +"description": "Output only. What the conversion is attributed to: Visit or Keyword+Ad.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VISIT", +"CRITERION_AD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The conversion is attributed to a visit.", +"The conversion is attributed to a criterion and ad pair." +], +"readOnly": true, +"type": "string" +}, +"clickId": { +"description": "Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter.", +"readOnly": true, +"type": "string" +}, +"conversionDateTime": { +"description": "Output only. The timestamp of the conversion event.", +"readOnly": true, +"type": "string" +}, +"conversionLastModifiedDateTime": { +"description": "Output only. The timestamp of the last time the conversion was modified.", +"readOnly": true, +"type": "string" +}, +"conversionQuantity": { +"description": "Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"conversionRevenueMicros": { +"description": "Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"conversionVisitDateTime": { +"description": "Output only. The timestamp of the visit that the conversion is attributed to.", +"readOnly": true, +"type": "string" +}, +"criterionId": { +"description": "Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"floodlightOrderId": { +"description": "Output only. The Floodlight order ID provided by the advertiser for the conversion.", +"readOnly": true, +"type": "string" +}, +"floodlightOriginalRevenue": { +"description": "Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the conversion", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"merchantId": { +"description": "Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"productChannel": { +"description": "Output only. The sales channel of the product that was clicked on: Online or Local.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"readOnly": true, +"type": "string" +}, +"productCountryCode": { +"description": "Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on.", +"readOnly": true, +"type": "string" +}, +"productId": { +"description": "Output only. The ID of the product clicked on.", +"readOnly": true, +"type": "string" +}, +"productLanguageCode": { +"description": "Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.", +"readOnly": true, +"type": "string" +}, +"productStoreId": { +"description": "Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the conversion, either ENABLED or REMOVED..", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The conversion is enabled.", +"The conversion has been removed." +], +"readOnly": true, +"type": "string" +}, +"visitId": { +"description": "Output only. The Search Ads 360 visit ID that the conversion is attributed to.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionAction": { +"description": "A conversion action.", +"id": "GoogleAdsSearchads360V23Resources__ConversionAction", +"properties": { +"appId": { +"description": "App ID for an app conversion action.", +"type": "string" +}, +"attributionModelSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings", +"description": "Settings related to this conversion action's attribution model." +}, +"category": { +"description": "The category of conversions reported for this conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT", +"PAGE_VIEW", +"PURCHASE", +"SIGNUP", +"DOWNLOAD", +"ADD_TO_CART", +"BEGIN_CHECKOUT", +"SUBSCRIBE_PAID", +"PHONE_CALL_LEAD", +"IMPORTED_LEAD", +"SUBMIT_LEAD_FORM", +"BOOK_APPOINTMENT", +"REQUEST_QUOTE", +"GET_DIRECTIONS", +"OUTBOUND_CLICK", +"CONTACT", +"ENGAGEMENT", +"STORE_VISIT", +"STORE_SALE", +"QUALIFIED_LEAD", +"CONVERTED_LEAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Default category.", +"User visiting a page.", +"Purchase, sales, or \"order placed\" event.", +"Signup user action.", +"Software download action (as for an app).", +"The addition of items to a shopping cart or bag on an advertiser site.", +"When someone enters the checkout flow on an advertiser site.", +"The start of a paid subscription for a product or service.", +"A call to indicate interest in an advertiser's offering.", +"A lead conversion imported from an external source into Google Ads.", +"A submission of a form on an advertiser site indicating business interest.", +"A booking of an appointment with an advertiser's business.", +"A quote or price estimate request.", +"A search for an advertiser's business location with intention to visit.", +"A click to an advertiser's partner's site.", +"A call, SMS, email, chat or other type of contact to an advertiser.", +"A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", +"A visit to a physical store location.", +"A sale occurring in a physical store.", +"A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", +"A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." +], +"type": "string" +}, +"clickThroughLookbackWindowDays": { +"description": "The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.", +"format": "int64", +"type": "string" +}, +"countingType": { +"description": "How to count conversion events for the conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONE_PER_CLICK", +"MANY_PER_CLICK" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Count only one conversion per click.", +"Count all conversions per click." +], +"type": "string" +}, +"creationTime": { +"description": "Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.", +"readOnly": true, +"type": "string" +}, +"firebaseSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings", +"description": "Output only. Firebase settings for Firebase conversion types.", +"readOnly": true +}, +"floodlightSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings", +"description": "Output only. Floodlight settings for Floodlight conversion types.", +"readOnly": true +}, +"googleAnalytics4Settings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings", +"description": "Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the conversion action.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"includeInClientAccountConversionsMetric": { +"description": "Whether this conversion action should be included in the \"client_account_conversions\" metric.", +"type": "boolean" +}, +"includeInConversionsMetric": { +"description": "Output only. Whether this conversion action should be included in the \"conversions\" metric.", +"readOnly": true, +"type": "boolean" +}, +"mobileAppVendor": { +"description": "Output only. Mobile app vendor for an app conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLE_APP_STORE", +"GOOGLE_APP_STORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Mobile app vendor for Apple app store.", +"Mobile app vendor for Google app store." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the conversion action. This field is required and should not be empty when creating new conversion actions.", +"type": "string" +}, +"origin": { +"description": "Output only. The conversion origin of this conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"GOOGLE_HOSTED", +"APP", +"CALL_FROM_ADS", +"STORE", +"YOUTUBE_HOSTED", +"FLOODLIGHT" +], +"enumDescriptions": [ +"The conversion origin has not been specified.", +"The conversion origin is not known in this version.", +"Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", +"Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", +"Conversion that occurs when a user performs an action through any app platforms.", +"Conversion that occurs when a user makes a call from ads.", +"Conversion that occurs when a user visits or makes a purchase at a physical store.", +"Conversion that occurs on YouTube.", +"Conversions that occur through Floodlight tag." +], +"readOnly": true, +"type": "string" +}, +"ownerCustomer": { +"description": "Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.", +"readOnly": true, +"type": "string" +}, +"phoneCallDurationSeconds": { +"description": "The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.", +"format": "int64", +"type": "string" +}, +"primaryForGoal": { +"description": "If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.", +"type": "boolean" +}, +"resourceName": { +"description": "Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`", +"type": "string" +}, +"status": { +"description": "The status of this conversion action for conversion event accrual.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"HIDDEN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Conversions will be recorded.", +"Conversions will not be recorded.", +"Conversions will not be recorded and the conversion action will not appear in the UI." +], +"type": "string" +}, +"tagSnippets": { +"description": "Output only. The snippets used for tracking conversions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TagSnippet" +}, +"readOnly": true, +"type": "array" +}, +"thirdPartyAppAnalyticsSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings", +"description": "Output only. Third Party App Analytics settings for third party conversion types.", +"readOnly": true +}, +"type": { +"description": "Immutable. The type of this conversion action.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AD_CALL", +"CLICK_TO_CALL", +"GOOGLE_PLAY_DOWNLOAD", +"GOOGLE_PLAY_IN_APP_PURCHASE", +"UPLOAD_CALLS", +"UPLOAD_CLICKS", +"WEBPAGE", +"WEBSITE_CALL", +"STORE_SALES_DIRECT_UPLOAD", +"STORE_SALES", +"FIREBASE_ANDROID_FIRST_OPEN", +"FIREBASE_ANDROID_IN_APP_PURCHASE", +"FIREBASE_ANDROID_CUSTOM", +"FIREBASE_IOS_FIRST_OPEN", +"FIREBASE_IOS_IN_APP_PURCHASE", +"FIREBASE_IOS_CUSTOM", +"THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN", +"THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE", +"THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM", +"THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN", +"THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE", +"THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM", +"ANDROID_APP_PRE_REGISTRATION", +"ANDROID_INSTALLS_ALL_OTHER_APPS", +"FLOODLIGHT_ACTION", +"FLOODLIGHT_TRANSACTION", +"GOOGLE_HOSTED", +"LEAD_FORM_SUBMIT", +"SALESFORCE", +"SEARCH_ADS_360", +"SMART_CAMPAIGN_AD_CLICKS_TO_CALL", +"SMART_CAMPAIGN_MAP_CLICKS_TO_CALL", +"SMART_CAMPAIGN_MAP_DIRECTIONS", +"SMART_CAMPAIGN_TRACKED_CALLS", +"STORE_VISITS", +"WEBPAGE_CODELESS", +"UNIVERSAL_ANALYTICS_GOAL", +"UNIVERSAL_ANALYTICS_TRANSACTION", +"GOOGLE_ANALYTICS_4_CUSTOM", +"GOOGLE_ANALYTICS_4_PURCHASE" +], +"enumDeprecated": [ +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +true, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false, +false +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Conversions that occur when a user clicks on an ad's call extension.", +"Conversions that occur when a user on a mobile device clicks a phone number.", +"Conversions that occur when a user downloads a mobile app from the Google Play Store.", +"Conversions that occur when a user makes a purchase in an app through Android billing.", +"Call conversions that are tracked by the advertiser and uploaded.", +"Conversions that are tracked by the advertiser and uploaded with attributed clicks.", +"Conversions that occur on a webpage.", +"Conversions that occur when a user calls a dynamically-generated phone number from an advertiser's website.", +"Store Sales conversion based on first-party or third-party merchant data uploads. Only customers on the allowlist can use store sales direct upload types.", +"Store Sales conversion based on first-party or third-party merchant data uploads and/or from in-store purchases using cards from payment networks. Only customers on the allowlist can use store sales types. Read only.", +"Android app first open conversions tracked through Firebase.", +"Android app in app purchase conversions tracked through Firebase.", +"Android app custom conversions tracked through Firebase.", +"iOS app first open conversions tracked through Firebase.", +"iOS app in app purchase conversions tracked through Firebase.", +"iOS app custom conversions tracked through Firebase.", +"Android app first open conversions tracked through Third Party App Analytics.", +"Android app in app purchase conversions tracked through Third Party App Analytics.", +"Android app custom conversions tracked through Third Party App Analytics.", +"iOS app first open conversions tracked through Third Party App Analytics.", +"iOS app in app purchase conversions tracked through Third Party App Analytics.", +"iOS app custom conversions tracked through Third Party App Analytics.", +"Conversions that occur when a user pre-registers a mobile app from the Google Play Store. Read only.", +"Conversions that track all Google Play downloads which aren't tracked by an app-specific type. Read only.", +"Floodlight activity that counts the number of times that users have visited a particular webpage after seeing or clicking on one of an advertiser's ads. Read only.", +"Floodlight activity that tracks the number of sales made or the number of items purchased. Can also capture the total value of each sale. Read only.", +"Conversions that track local actions from Google's products and services after interacting with an ad. Read only.", +"Conversions reported when a user submits a lead form. Read only.", +"Deprecated: The Salesforce integration will be going away and replaced with an improved way to import your conversions from Salesforce. - see https://support.google.com/google-ads/answer/14728349", +"Conversions imported from Search Ads 360 Floodlight data. Read only.", +"Call conversions that occur on Smart campaign Ads without call tracking setup, using Smart campaign custom criteria. Read only.", +"The user clicks on a call element within Google Maps. Smart campaign only. Read only.", +"The user requests directions to a business location within Google Maps. Smart campaign only. Read only.", +"Call conversions that occur on Smart campaign Ads with call tracking setup, using Smart campaign custom criteria. Read only.", +"Conversions that occur when a user visits an advertiser's retail store. Read only.", +"Conversions created from website events (such as form submissions or page loads), that don't use individually coded event snippets. Read only.", +"Conversions that come from linked Universal Analytics goals.", +"Conversions that come from linked Universal Analytics transactions.", +"Conversions that come from linked Google Analytics 4 custom event conversions.", +"Conversions that come from linked Google Analytics 4 purchase conversions." +], +"type": "string" +}, +"valueSettings": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings", +"description": "Settings related to the value for conversion events associated with this conversion action." +}, +"viewThroughLookbackWindowDays": { +"description": "The maximum number of days which may elapse between an impression and a conversion without an interaction.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionCustomVariable": { +"description": "A conversion custom variable. See \"About custom Floodlight metrics and dimensions in the new Search Ads 360\" at https://support.google.com/sa360/answer/13567857", +"id": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", +"properties": { +"cardinality": { +"description": "Output only. Cardinality of the conversion custom variable.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BELOW_ALL_LIMITS", +"EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT", +"APPROACHES_STATS_LIMIT", +"EXCEEDS_STATS_LIMIT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The conversion custom variable has cardinality below all limits. The variable can be used for segmentation, and stats can accrue for new values if the variable is enabled.", +"The conversion custom variable has cardinality that exceeds the segmentation limit, but does not exceed the stats limit. Segmentation will be disabled, but stats can accrue for new values if the variable is enabled.", +"The conversion custom variable has exceeded the segmentation limits, and is approaching the stats limits (> 90%). Segmentation will be disabled, but stats can accrue for new values if the variable is enabled.", +"The conversion custom variable has exceeded both the segmentation limits and stats limits. Segmentation will be disabled, and stats for enabled variables can accrue only if the existing values do not increase the cardinality of the variable any further." +], +"readOnly": true, +"type": "string" +}, +"customColumnIds": { +"description": "Output only. The IDs of custom columns that use this conversion custom variable.", +"items": { +"format": "int64", +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"family": { +"description": "Output only. Family of the conversion custom variable.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STANDARD", +"FLOODLIGHT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The standard conversion custom variable. Customers are required to activate before use.", +"The conversion custom variable imported from a custom floodlight variable." +], +"readOnly": true, +"type": "string" +}, +"floodlightConversionCustomVariableInfo": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo", +"description": "Output only. Fields for Search Ads 360 floodlight conversion custom variables.", +"readOnly": true +}, +"id": { +"description": "Output only. The ID of the conversion custom variable.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.", +"type": "string" +}, +"ownerCustomer": { +"description": "Output only. The resource name of the customer that owns the conversion custom variable.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`", +"type": "string" +}, +"status": { +"description": "The status of the conversion custom variable for conversion event accrual.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACTIVATION_NEEDED", +"ENABLED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The conversion custom variable is pending activation and will not accrue stats until set to ENABLED. This status can't be used in CREATE and UPDATE requests.", +"The conversion custom variable is enabled and will accrue stats.", +"The conversion custom variable is paused and will not accrue stats until set to ENABLED again." +], +"type": "string" +}, +"tag": { +"description": "Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a \"u\" character directly followed with a number less than ormequal to 100. For example: \"u4\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig": { +"description": "Conversion goal settings for a Campaign.", +"id": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", +"properties": { +"campaign": { +"description": "Immutable. The campaign with which this conversion goal campaign config is associated.", +"type": "string" +}, +"customConversionGoal": { +"description": "The custom conversion goal the campaign is using for optimization.", +"type": "string" +}, +"goalConfigLevel": { +"description": "The level of goal config the campaign is using.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN" +], +"enumDescriptions": [ +"The goal config level has not been specified.", +"The goal config level is not known in this version.", +"The goal config is defined at the customer level.", +"The goal config is defined at the campaign level." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`", +"type": "string" +}, +"searchAds360CustomConversionGoal": { +"description": "The Search Ads 360 custom conversion goal the campaign is using for optimization.", +"type": "string" +}, +"searchAds360GoalConfigLevel": { +"description": "The level of Search Ads 360 goal config the campaign is using.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN" +], +"enumDescriptions": [ +"The goal config level has not been specified.", +"The goal config level is not known in this version.", +"The goal config is defined at the customer level.", +"The goal config is defined at the campaign level." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionTrackingSetting": { +"description": "A collection of customer-wide settings related to Search Ads 360 Conversion Tracking.", +"id": "GoogleAdsSearchads360V23Resources__ConversionTrackingSetting", +"properties": { +"acceptedCustomerDataTerms": { +"description": "Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.", +"readOnly": true, +"type": "boolean" +}, +"conversionTrackingId": { +"description": "Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"conversionTrackingStatus": { +"description": "Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_CONVERSION_TRACKED", +"CONVERSION_TRACKING_MANAGED_BY_SELF", +"CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER", +"CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Customer does not use any conversion tracking.", +"The conversion actions are created and managed by this customer.", +"The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.", +"The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`." +], +"readOnly": true, +"type": "string" +}, +"crossAccountConversionTrackingId": { +"description": "Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"enhancedConversionsForLeadsEnabled": { +"description": "Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"googleAdsConversionCustomer": { +"description": "The resource name of the customer where conversions are created and managed. This field is read-only.", +"type": "string" +}, +"googleAdsCrossAccountConversionTrackingId": { +"description": "Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionValueRule": { +"description": "A conversion value rule", +"id": "GoogleAdsSearchads360V23Resources__ConversionValueRule", +"properties": { +"action": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction", +"description": "Action applied when the rule is triggered." +}, +"audienceCondition": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition", +"description": "Condition for audience that must be satisfied for the value rule to apply." +}, +"deviceCondition": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition", +"description": "Condition for device type that must be satisfied for the value rule to apply." +}, +"geoLocationCondition": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition", +"description": "Condition for Geo location that must be satisfied for the value rule to apply." +}, +"id": { +"description": "Output only. The ID of the conversion value rule.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"itineraryCondition": { +"$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition", +"description": "Condition for itinerary that must be satisfied for the value rule to apply." +}, +"ownerCustomer": { +"description": "Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`", +"type": "string" +}, +"status": { +"description": "The status of the conversion value rule.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Conversion Value Rule is enabled and can be applied.", +"Conversion Value Rule is permanently deleted and can't be applied.", +"Conversion Value Rule is paused, but can be re-enabled." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ConversionValueRuleSet": { +"description": "A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field.", +"id": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", +"properties": { +"attachmentType": { +"description": "Immutable. Defines the scope where the conversion value rule set is attached.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Attached to the customer.", +"Attached to a campaign." +], +"type": "string" +}, +"campaign": { +"description": "The resource name of the campaign when the conversion value rule set is attached to a campaign.", +"type": "string" +}, +"conversionActionCategories": { +"description": "Immutable. The conversion action categories of the conversion value rule set.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT", +"PAGE_VIEW", +"PURCHASE", +"SIGNUP", +"DOWNLOAD", +"ADD_TO_CART", +"BEGIN_CHECKOUT", +"SUBSCRIBE_PAID", +"PHONE_CALL_LEAD", +"IMPORTED_LEAD", +"SUBMIT_LEAD_FORM", +"BOOK_APPOINTMENT", +"REQUEST_QUOTE", +"GET_DIRECTIONS", +"OUTBOUND_CLICK", +"CONTACT", +"ENGAGEMENT", +"STORE_VISIT", +"STORE_SALE", +"QUALIFIED_LEAD", +"CONVERTED_LEAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Default category.", +"User visiting a page.", +"Purchase, sales, or \"order placed\" event.", +"Signup user action.", +"Software download action (as for an app).", +"The addition of items to a shopping cart or bag on an advertiser site.", +"When someone enters the checkout flow on an advertiser site.", +"The start of a paid subscription for a product or service.", +"A call to indicate interest in an advertiser's offering.", +"A lead conversion imported from an external source into Google Ads.", +"A submission of a form on an advertiser site indicating business interest.", +"A booking of an appointment with an advertiser's business.", +"A quote or price estimate request.", +"A search for an advertiser's business location with intention to visit.", +"A click to an advertiser's partner's site.", +"A call, SMS, email, chat or other type of contact to an advertiser.", +"A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", +"A visit to a physical store location.", +"A sale occurring in a physical store.", +"A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", +"A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." +], +"type": "string" +}, +"type": "array" +}, +"conversionValueRules": { +"description": "Resource names of rules within the rule set.", +"items": { +"type": "string" +}, +"type": "array" +}, +"dimensions": { +"description": "Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GEO_LOCATION", +"DEVICE", +"AUDIENCE", +"NO_CONDITION", +"ITINERARY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Dimension for geo location.", +"Dimension for device type.", +"Dimension for audience.", +"This dimension implies the rule will always apply.", +"Dimension for itinerary." +], +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the conversion value rule set.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ownerCustomer": { +"description": "Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the conversion value rule set. ** Read-only **", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Conversion Value Rule Set is enabled and can be applied.", +"Conversion Value Rule Set is permanently deleted and can't be applied.", +"Conversion Value Rule Set is paused and won't be applied. It can be enabled again." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CreditDetails": { +"description": "Represents the credit details of a lead.", +"id": "GoogleAdsSearchads360V23Resources__CreditDetails", +"properties": { +"creditState": { +"description": "Output only. Credit state of the lead.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"CREDITED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A credit has been filed and is being processed by Ads backend, but has not been applied to the account yet.", +"The credit has been issued to the Ads account." +], +"readOnly": true, +"type": "string" +}, +"creditStateLastUpdateDateTime": { +"description": "Output only. The date time when the credit state of the lead was last updated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CurrencyConstant": { +"description": "A currency constant.", +"id": "GoogleAdsSearchads360V23Resources__CurrencyConstant", +"properties": { +"billableUnitMicros": { +"description": "Output only. The billable unit for this currency. Billed amounts should be multiples of this value.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"code": { +"description": "Output only. ISO 4217 three-letter currency code, for example, \"USD\"", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Full English name of the currency.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code}`", +"readOnly": true, +"type": "string" +}, +"symbol": { +"description": "Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomAudience": { +"description": "A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED", +"id": "GoogleAdsSearchads360V23Resources__CustomAudience", +"properties": { +"description": { +"description": "Description of this custom audience.", +"type": "string" +}, +"id": { +"description": "Output only. ID of the custom audience.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"members": { +"description": "List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomAudienceMember" +}, +"type": "array" +}, +"name": { +"description": "Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Enabled status - custom audience is enabled and can be targeted.", +"Removed status - custom audience is removed and cannot be used for targeting." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Type of the custom audience. (\"INTEREST\" OR \"PURCHASE_INTENT\" is not allowed for newly created custom audience but kept for existing audiences)", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AUTO", +"INTEREST", +"PURCHASE_INTENT", +"SEARCH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Google Ads will auto-select the best interpretation at serving time.", +"Matches users by their interests.", +"Matches users by topics they are researching or products they are considering for purchase.", +"Matches users by what they searched on Google Search." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomAudienceMember": { +"description": "A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.", +"id": "GoogleAdsSearchads360V23Resources__CustomAudienceMember", +"properties": { +"app": { +"description": "A package name of Android apps which users installed such as com.google.example.", +"type": "string" +}, +"keyword": { +"description": "A keyword or keyword phrase \u2014 at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.", +"type": "string" +}, +"memberType": { +"description": "The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"URL", +"PLACE_CATEGORY", +"APP" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Users whose interests or actions are described by a keyword.", +"Users who have interests related to the website's content.", +"Users who visit place types described by a place category.", +"Users who have installed a mobile app." +], +"type": "string" +}, +"placeCategory": { +"description": "A place type described by a place category users visit.", +"format": "int64", +"type": "string" +}, +"url": { +"description": "An HTTP URL, protocol-included \u2014 at most 2048 characters, which includes contents users have interests in.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomColumn": { +"description": "A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916", +"id": "GoogleAdsSearchads360V23Resources__CustomColumn", +"properties": { +"description": { +"description": "Output only. User-defined description of the custom column.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID of the custom column.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. User-defined name of the custom column.", +"readOnly": true, +"type": "string" +}, +"queryable": { +"description": "Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream.", +"readOnly": true, +"type": "boolean" +}, +"referencedSystemColumns": { +"description": "Output only. The list of the referenced system columns of this custom column. For example, A custom column \"sum of impressions and clicks\" has referenced system columns of {\"metrics.clicks\", \"metrics.impressions\"}.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"referencesAttributes": { +"description": "Output only. True when the custom column is referring to one or more attributes.", +"readOnly": true, +"type": "boolean" +}, +"referencesMetrics": { +"description": "Output only. True when the custom column is referring to one or more metrics.", +"readOnly": true, +"type": "boolean" +}, +"renderType": { +"description": "Output only. How the result value of the custom column should be interpreted.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NUMBER", +"PERCENT", +"MONEY", +"STRING", +"BOOLEAN", +"DATE" +], +"enumDescriptions": [ +"Not specified.", +"Unknown.", +"The custom column is a raw numerical value. See value_type field to determine if it is an integer or a double.", +"The custom column should be multiplied by 100 to retrieve the percentage value.", +"The custom column value is a monetary value and is in micros.", +"The custom column value is a string.", +"The custom column value is a boolean.", +"The custom column value is a date represented as an integer in YYYYMMDD format." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id}/customColumns/{custom_column_id}`", +"type": "string" +}, +"valueType": { +"description": "Output only. The type of the result value of the custom column.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STRING", +"INT64", +"DOUBLE", +"BOOLEAN", +"DATE" +], +"enumDescriptions": [ +"Not specified.", +"Unknown.", +"The custom column value is a string.", +"The custom column value is an int64 number.", +"The custom column value is a double number.", +"The custom column value is a boolean.", +"The custom column value is a date, in YYYYMMDD format." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomConversionGoal": { +"description": "Custom conversion goal that can make arbitrary conversion actions biddable.", +"id": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", +"properties": { +"conversionActions": { +"description": "Conversion actions that the custom conversion goal makes biddable.", +"items": { +"type": "string" +}, +"type": "array" +}, +"id": { +"description": "Immutable. The ID for this custom conversion goal.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The name for this custom conversion goal.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`", +"type": "string" +}, +"status": { +"description": "The status of the custom conversion goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The custom conversion goal is enabled.", +"The custom conversion goal is removed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomInterest": { +"description": "A custom interest. This is a list of users by interest.", +"id": "GoogleAdsSearchads360V23Resources__CustomInterest", +"properties": { +"description": { +"description": "Description of this custom interest audience.", +"type": "string" +}, +"id": { +"description": "Output only. Id of the custom interest.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"members": { +"description": "List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomInterestMember" +}, +"type": "array" +}, +"name": { +"description": "Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`", +"type": "string" +}, +"status": { +"description": "Status of this custom interest. Indicates whether the custom interest is enabled or removed.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Enabled status - custom interest is enabled and can be targeted to.", +"Removed status - custom interest is removed and cannot be used for targeting." +], +"type": "string" +}, +"type": { +"description": "Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOM_AFFINITY", +"CUSTOM_INTENT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Allows brand advertisers to define custom affinity audience lists.", +"Allows advertisers to define custom intent audience lists." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomInterestMember": { +"description": "A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.", +"id": "GoogleAdsSearchads360V23Resources__CustomInterestMember", +"properties": { +"memberType": { +"description": "The type of custom interest member, KEYWORD or URL.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"URL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Custom interest member type KEYWORD.", +"Custom interest member type URL." +], +"type": "string" +}, +"parameter": { +"description": "Keyword text when member_type is KEYWORD or URL string when member_type is URL.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField": { +"description": "Fields in the submitted custom question", +"id": "GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField", +"properties": { +"fieldValue": { +"description": "Output only. Field value for custom question response, maximum number of characters is 70.", +"readOnly": true, +"type": "string" +}, +"questionText": { +"description": "Output only. Question text for custom question, maximum number of characters is 300.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Customer": { +"description": "A customer.", +"id": "GoogleAdsSearchads360V23Resources__Customer", +"properties": { +"accountLevel": { +"description": "Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CLIENT_ACCOUNT_FACEBOOK", +"CLIENT_ACCOUNT_GOOGLE_ADS", +"CLIENT_ACCOUNT_MICROSOFT", +"CLIENT_ACCOUNT_YAHOO_JAPAN", +"CLIENT_ACCOUNT_ENGINE_TRACK", +"MANAGER", +"SUB_MANAGER", +"ASSOCIATE_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Client account (Facebook)", +"Client account (Google Ads)", +"Client account (Microsoft)", +"Client account (Yahoo Japan)", +"Client account (Engine Track)", +"Top-level manager.", +"Sub manager.", +"Associate manager." +], +"readOnly": true, +"type": "string" +}, +"accountStatus": { +"description": "Output only. Account status, for example, Enabled, Paused, Removed, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED", +"SUSPENDED", +"REMOVED", +"DRAFT" +], +"enumDescriptions": [ +"Default value.", +"Unknown value.", +"Account is able to serve ads.", +"Account is deactivated by the user.", +"Account is deactivated by an internal process.", +"Account is irrevocably deactivated.", +"Account is still in the process of setup, not ENABLED yet." +], +"readOnly": true, +"type": "string" +}, +"accountType": { +"description": "Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BAIDU", +"ENGINE_TRACK", +"FACEBOOK", +"FACEBOOK_GATEWAY", +"GOOGLE_ADS", +"MICROSOFT", +"SEARCH_ADS_360", +"YAHOO_JAPAN" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Baidu account.", +"Engine track account.", +"Facebook account.", +"Facebook account managed through gateway.", +"Google Ads account.", +"Microsoft Advertising account.", +"Search Ads 360 manager account.", +"Yahoo Japan account." +], +"readOnly": true, +"type": "string" +}, +"associateManagerDescriptiveName": { +"description": "Output only. The descriptive name of the associate manager.", +"readOnly": true, +"type": "string" +}, +"associateManagerId": { +"description": "Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"autoTaggingEnabled": { +"description": "Whether auto-tagging is enabled for the customer.", +"type": "boolean" +}, +"callReportingSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__CallReportingSetting", +"description": "Call reporting setting for a customer." +}, +"containsEuPoliticalAdvertising": { +"description": "Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CONTAINS_EU_POLITICAL_ADVERTISING", +"DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.", +"The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply." +], +"readOnly": true, +"type": "string" +}, +"conversionTrackingSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionTrackingSetting", +"description": "Conversion tracking setting for a customer." +}, +"creationTime": { +"description": "Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.", +"type": "string" +}, +"customerAgreementSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAgreementSetting", +"description": "Output only. Customer Agreement Setting for a customer.", +"readOnly": true +}, +"descriptiveName": { +"description": "Optional, non-unique descriptive name of the customer.", +"type": "string" +}, +"doubleClickCampaignManagerSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting", +"description": "Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.", +"readOnly": true +}, +"engineId": { +"description": "Output only. ID of the account in the external engine account.", +"readOnly": true, +"type": "string" +}, +"finalUrlSuffix": { +"description": "The URL template for appending params to the final URL.", +"type": "string" +}, +"hasPartnersBadge": { +"description": "Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.", +"readOnly": true, +"type": "boolean" +}, +"id": { +"description": "Output only. The ID of the customer.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"imageAssetAutoMigrationDone": { +"description": "Output only. True if feed based image has been migrated to asset based image.", +"readOnly": true, +"type": "boolean" +}, +"imageAssetAutoMigrationDoneDateTime": { +"description": "Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"lastModifiedTime": { +"description": "Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"localServicesSettings": { +"$ref": "GoogleAdsSearchads360V23Resources__LocalServicesSettings", +"description": "Output only. Settings for Local Services customer.", +"readOnly": true +}, +"locationAssetAutoMigrationDone": { +"description": "Output only. True if feed based location has been migrated to asset based location.", +"readOnly": true, +"type": "boolean" +}, +"locationAssetAutoMigrationDoneDateTime": { +"description": "Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.", +"readOnly": true, +"type": "string" +}, +"manager": { +"description": "Output only. Whether the customer is a manager.", +"readOnly": true, +"type": "boolean" +}, +"managerDescriptiveName": { +"description": "Output only. The descriptive name of the manager.", +"readOnly": true, +"type": "string" +}, +"managerId": { +"description": "Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"optimizationScore": { +"description": "Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See \"About optimization score\" at https://support.google.com/google-ads/answer/9061546. This field is read-only.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"optimizationScoreWeight": { +"description": "Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"payPerConversionEligibilityFailureReasons": { +"description": "Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_ENOUGH_CONVERSIONS", +"CONVERSION_LAG_TOO_HIGH", +"HAS_CAMPAIGN_WITH_SHARED_BUDGET", +"HAS_UPLOAD_CLICKS_CONVERSION", +"AVERAGE_DAILY_SPEND_TOO_HIGH", +"ANALYSIS_NOT_COMPLETE", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Customer does not have enough conversions.", +"Customer's conversion lag is too high.", +"Customer uses shared budgets.", +"Customer has conversions with ConversionActionType.UPLOAD_CLICKS.", +"Customer's average daily spend is too high.", +"Customer's eligibility has not yet been calculated by the Google Ads backend. Check back soon.", +"Customer is not eligible due to other reasons." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"remarketingSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__RemarketingSetting", +"description": "Output only. Remarketing setting for a customer.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the customer.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"CANCELED", +"SUSPENDED", +"CLOSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Indicates an active account able to serve ads.", +"Indicates a canceled account unable to serve ads. Can be reactivated by an admin user.", +"Indicates a suspended account unable to serve ads. May only be activated by Google support.", +"Indicates a closed account unable to serve ads. Test account will also have CLOSED status. Status is permanent and may not be reopened." +], +"readOnly": true, +"type": "string" +}, +"subManagerDescriptiveName": { +"description": "Output only. The descriptive name of the sub manager.", +"readOnly": true, +"type": "string" +}, +"subManagerId": { +"description": "Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"testAccount": { +"description": "Output only. Whether the customer is a test account.", +"readOnly": true, +"type": "boolean" +}, +"timeZone": { +"description": "Immutable. The local timezone ID of the customer.", +"type": "string" +}, +"trackingUrlTemplate": { +"description": "The URL template for constructing a tracking URL out of parameters.", +"type": "string" +}, +"videoBrandSafetySuitability": { +"description": "Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXPANDED_INVENTORY", +"STANDARD_INVENTORY", +"LIMITED_INVENTORY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"This option lets you show ads across all inventory on YouTube and video partners that meet our standards for monetization. This option may be an appropriate choice for brands that want maximum access to the full breadth of videos eligible for ads, including, for example, videos that have strong profanity in the context of comedy or a documentary, or excessive violence as featured in video games.", +"This option lets you show ads across a wide range of content that's appropriate for most brands, such as popular music videos, documentaries, and movie trailers. The content you can show ads on is based on YouTube's advertiser-friendly content guidelines that take into account, for example, the strength or frequency of profanity, or the appropriateness of subject matter like sensitive events. Ads won't show, for example, on content with repeated strong profanity, strong sexual content, or graphic violence.", +"This option lets you show ads on a reduced range of content that's appropriate for brands with particularly strict guidelines around inappropriate language and sexual suggestiveness; above and beyond what YouTube's advertiser-friendly content guidelines address. The videos accessible in this sensitive category meet heightened requirements, especially for inappropriate language and sexual suggestiveness. For example, your ads will be excluded from showing on some of YouTube's most popular music videos and other pop culture content across YouTube and Google video partners." +], +"type": "string" +}, +"videoCustomer": { +"$ref": "GoogleAdsSearchads360V23Resources__VideoCustomer", +"description": "Video specific information about a Customer." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings": { +"description": "The customer acquisition goal settings for the campaign.", +"id": "GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings", +"properties": { +"optimizationMode": { +"description": "Output only. Customer acquisition optimization mode of this campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TARGET_ALL_EQUALLY", +"BID_HIGHER_FOR_NEW_CUSTOMER", +"TARGET_NEW_CUSTOMER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The mode is used when campaign is optimizing equally for existing and new customers, which is the default value.", +"The mode is used when campaign is bidding higher for new customers than existing customer.", +"The mode is used when campaign is only optimizing for new customers." +], +"readOnly": true, +"type": "string" +}, +"valueSettings": { +"$ref": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", +"description": "Output only. Campaign specific values for the customer acquisition goal.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerAgreementSetting": { +"description": "Customer Agreement Setting for a customer.", +"id": "GoogleAdsSearchads360V23Resources__CustomerAgreementSetting", +"properties": { +"acceptedLeadFormTerms": { +"description": "Output only. Whether the customer has accepted lead form term of service.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerAsset": { +"description": "A link between a customer and an asset.", +"id": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"properties": { +"asset": { +"description": "Required. Immutable. The asset which is linked to the customer.", +"type": "string" +}, +"fieldType": { +"description": "Required. Immutable. Role that the asset takes for the customer link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"primaryStatus": { +"description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"PAUSED", +"REMOVED", +"PENDING", +"LIMITED", +"NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is eligible to serve.", +"The user-specified asset link status is paused.", +"The user-specified asset link status is removed.", +"The asset may serve in the future.", +"The asset is serving in a partial capacity.", +"The asset is not eligible to serve." +], +"readOnly": true, +"type": "string" +}, +"primaryStatusDetails": { +"description": "Output only. Provides the details of the primary status and its associated reasons.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" +}, +"readOnly": true, +"type": "array" +}, +"primaryStatusReasons": { +"description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ASSET_LINK_PAUSED", +"ASSET_LINK_REMOVED", +"ASSET_DISAPPROVED", +"ASSET_UNDER_REVIEW", +"ASSET_APPROVED_LABELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", +"The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", +"The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", +"The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", +"The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." +], +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`", +"type": "string" +}, +"source": { +"description": "Output only. Source of the customer asset link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"AUTOMATICALLY_CREATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset or asset link is provided by advertiser.", +"The asset or asset link is generated by Google." +], +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Status of the customer asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Asset link is enabled.", +"Asset link has been removed.", +"Asset link is paused." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerAssetSet": { +"description": "CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer.", +"id": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", +"properties": { +"assetSet": { +"description": "Immutable. The asset set which is linked to the customer.", +"type": "string" +}, +"customer": { +"description": "Immutable. The customer to which this asset set is linked.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the customer asset set asset. Read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The linkage between asset set and its container is enabled.", +"The linkage between asset set and its container is removed." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerClient": { +"description": "A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself.", +"id": "GoogleAdsSearchads360V23Resources__CustomerClient", +"properties": { +"appliedLabels": { +"description": "Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"clientCustomer": { +"description": "Output only. The resource name of the client-customer which is linked to the given customer. Read only.", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.", +"readOnly": true, +"type": "string" +}, +"descriptiveName": { +"description": "Output only. Descriptive name for the client. Read only.", +"readOnly": true, +"type": "string" +}, +"hidden": { +"description": "Output only. Specifies whether this is a hidden account. Read only.", +"readOnly": true, +"type": "boolean" +}, +"id": { +"description": "Output only. The ID of the client customer. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"level": { +"description": "Output only. Distance between given customer and client. For self link, the level value will be 0. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"manager": { +"description": "Output only. Identifies if the client is a manager. Read only.", +"readOnly": true, +"type": "boolean" +}, +"resourceName": { +"description": "Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id}/customerClients/{client_customer_id}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status of the client customer. Read only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"CANCELED", +"SUSPENDED", +"CLOSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Indicates an active account able to serve ads.", +"Indicates a canceled account unable to serve ads. Can be reactivated by an admin user.", +"Indicates a suspended account unable to serve ads. May only be activated by Google support.", +"Indicates a closed account unable to serve ads. Test account will also have CLOSED status. Status is permanent and may not be reopened." +], +"readOnly": true, +"type": "string" +}, +"testAccount": { +"description": "Output only. Identifies if the client is a test account. Read only.", +"readOnly": true, +"type": "boolean" +}, +"timeZone": { +"description": "Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerClientLink": { +"description": "Represents customer client link relationship.", +"id": "GoogleAdsSearchads360V23Resources__CustomerClientLink", +"properties": { +"clientCustomer": { +"description": "Immutable. The client customer linked to this customer.", +"type": "string" +}, +"hidden": { +"description": "The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false", +"type": "boolean" +}, +"managerLinkId": { +"description": "Output only. This is uniquely identifies a customer client link. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`", +"type": "string" +}, +"status": { +"description": "This is the status of the link between client and manager.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACTIVE", +"INACTIVE", +"PENDING", +"REFUSED", +"CANCELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Indicates current in-effect relationship", +"Indicates terminated relationship", +"Indicates relationship has been requested by manager, but the client hasn't accepted yet.", +"Relationship was requested by the manager, but the client has refused.", +"Indicates relationship has been requested by manager, but manager canceled it." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerConversionGoal": { +"description": "Biddability control for conversion actions with a matching category and origin.", +"id": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", +"properties": { +"biddable": { +"description": "The biddability of the customer conversion goal.", +"type": "boolean" +}, +"category": { +"description": "The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DEFAULT", +"PAGE_VIEW", +"PURCHASE", +"SIGNUP", +"DOWNLOAD", +"ADD_TO_CART", +"BEGIN_CHECKOUT", +"SUBSCRIBE_PAID", +"PHONE_CALL_LEAD", +"IMPORTED_LEAD", +"SUBMIT_LEAD_FORM", +"BOOK_APPOINTMENT", +"REQUEST_QUOTE", +"GET_DIRECTIONS", +"OUTBOUND_CLICK", +"CONTACT", +"ENGAGEMENT", +"STORE_VISIT", +"STORE_SALE", +"QUALIFIED_LEAD", +"CONVERTED_LEAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Default category.", +"User visiting a page.", +"Purchase, sales, or \"order placed\" event.", +"Signup user action.", +"Software download action (as for an app).", +"The addition of items to a shopping cart or bag on an advertiser site.", +"When someone enters the checkout flow on an advertiser site.", +"The start of a paid subscription for a product or service.", +"A call to indicate interest in an advertiser's offering.", +"A lead conversion imported from an external source into Google Ads.", +"A submission of a form on an advertiser site indicating business interest.", +"A booking of an appointment with an advertiser's business.", +"A quote or price estimate request.", +"A search for an advertiser's business location with intention to visit.", +"A click to an advertiser's partner's site.", +"A call, SMS, email, chat or other type of contact to an advertiser.", +"A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", +"A visit to a physical store location.", +"A sale occurring in a physical store.", +"A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", +"A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." +], +"type": "string" +}, +"origin": { +"description": "The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"GOOGLE_HOSTED", +"APP", +"CALL_FROM_ADS", +"STORE", +"YOUTUBE_HOSTED", +"FLOODLIGHT" +], +"enumDescriptions": [ +"The conversion origin has not been specified.", +"The conversion origin is not known in this version.", +"Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", +"Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", +"Conversion that occurs when a user performs an action through any app platforms.", +"Conversion that occurs when a user makes a call from ads.", +"Conversion that occurs when a user visits or makes a purchase at a physical store.", +"Conversion that occurs on YouTube.", +"Conversions that occur through Floodlight tag." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerCustomizer": { +"description": "A customizer value for the associated CustomizerAttribute at the Customer level.", +"id": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", +"properties": { +"customizerAttribute": { +"description": "Required. Immutable. The customizer attribute which is linked to the customer.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the customer customizer attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The customizer value is enabled.", +"The customizer value is removed." +], +"readOnly": true, +"type": "string" +}, +"value": { +"$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", +"description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerLabel": { +"description": "Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id.", +"id": "GoogleAdsSearchads360V23Resources__CustomerLabel", +"properties": { +"customer": { +"description": "Output only. The resource name of the customer to which the label is attached. Read only.", +"readOnly": true, +"type": "string" +}, +"label": { +"description": "Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal": { +"description": "Account level customer lifecycle goal settings.", +"id": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", +"properties": { +"customerAcquisitionGoalValueSettings": { +"$ref": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", +"description": "Output only. Customer acquisition goal customer level value settings.", +"readOnly": true +}, +"ownerCustomer": { +"description": "Output only. The resource name of the customer which owns the lifecycle goal.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerManagerLink": { +"description": "Represents customer-manager link relationship.", +"id": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", +"properties": { +"managerCustomer": { +"description": "Output only. The manager customer linked to the customer.", +"readOnly": true, +"type": "string" +}, +"managerLinkId": { +"description": "Output only. ID of the customer-manager link. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`", +"type": "string" +}, +"startTime": { +"description": "Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Status of the link between the customer and the manager.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACTIVE", +"INACTIVE", +"PENDING", +"REFUSED", +"CANCELED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Indicates current in-effect relationship", +"Indicates terminated relationship", +"Indicates relationship has been requested by manager, but the client hasn't accepted yet.", +"Relationship was requested by the manager, but the client has refused.", +"Indicates relationship has been requested by manager, but manager canceled it." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion": { +"description": "A negative criterion for exclusions at the customer level.", +"id": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", +"properties": { +"contentLabel": { +"$ref": "GoogleAdsSearchads360V23Common__ContentLabelInfo", +"description": "Immutable. ContentLabel." +}, +"id": { +"description": "Output only. The ID of the criterion.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"ipBlock": { +"$ref": "GoogleAdsSearchads360V23Common__IpBlockInfo", +"description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per account." +}, +"mobileAppCategory": { +"$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", +"description": "Immutable. MobileAppCategory." +}, +"mobileApplication": { +"$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", +"description": "Immutable. MobileApplication." +}, +"negativeKeywordList": { +"$ref": "GoogleAdsSearchads360V23Common__NegativeKeywordListInfo", +"description": "Immutable. NegativeKeywordList." +}, +"placement": { +"$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", +"description": "Immutable. Placement." +}, +"placementList": { +"$ref": "GoogleAdsSearchads360V23Common__PlacementListInfo", +"description": "Immutable. PlacementList." +}, +"resourceName": { +"description": "Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`", +"type": "string" +}, +"type": { +"description": "Output only. The type of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"PLACEMENT", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"DEVICE", +"LOCATION", +"LISTING_GROUP", +"AD_SCHEDULE", +"AGE_RANGE", +"GENDER", +"INCOME_RANGE", +"PARENTAL_STATUS", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"USER_LIST", +"PROXIMITY", +"TOPIC", +"LISTING_SCOPE", +"LANGUAGE", +"IP_BLOCK", +"CONTENT_LABEL", +"CARRIER", +"USER_INTEREST", +"WEBPAGE", +"OPERATING_SYSTEM_VERSION", +"APP_PAYMENT_MODEL", +"MOBILE_DEVICE", +"CUSTOM_AFFINITY", +"CUSTOM_INTENT", +"LOCATION_GROUP", +"CUSTOM_AUDIENCE", +"COMBINED_AUDIENCE", +"KEYWORD_THEME", +"AUDIENCE", +"NEGATIVE_KEYWORD_LIST", +"LOCAL_SERVICE_ID", +"SEARCH_THEME", +"BRAND", +"BRAND_LIST", +"LIFE_EVENT", +"WEBPAGE_LIST", +"VIDEO_LINEUP", +"PLACEMENT_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword, for example, 'mars cruise'.", +"Placement, also known as Website, for example, 'www.flowers4sale.com'", +"Mobile application categories to target.", +"Mobile applications to target.", +"Devices to target.", +"Locations to target.", +"Listing groups to target.", +"Ad Schedule.", +"Age range.", +"Gender.", +"Income Range.", +"Parental status.", +"YouTube Video.", +"YouTube Channel.", +"User list.", +"Proximity.", +"A topic target on the display network (for example, \"Pets & Animals\").", +"Listing scope to target.", +"Language.", +"IpBlock.", +"Content Label for category exclusion.", +"Carrier.", +"A category the user is interested in.", +"Webpage criterion for dynamic search ads.", +"Operating system version.", +"App payment model.", +"Mobile device.", +"Custom affinity.", +"Custom intent.", +"Location group.", +"Custom audience", +"Combined audience", +"Smart Campaign keyword theme", +"Audience", +"Negative Keyword List", +"Local Services Ads Service ID.", +"Search Theme.", +"Brand", +"Brand List", +"Life Event", +"Webpage List", +"Video lineup", +"Placement List", +"A list of rules for item groups in Vertical Ads.", +"A rule for an item group in Vertical Ads." +], +"readOnly": true, +"type": "string" +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "Immutable. YouTube Channel." +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"description": "Immutable. YouTube Video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight": { +"description": "This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.", +"id": "GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight", +"properties": { +"categoryLabel": { +"description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the insight.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id}/customerSearchTermInsights/{category_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema": { +"description": "A CustomerSkAdNetworkConversionValueSchema.", +"id": "GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the schema. CustomerSkAdNetworkConversionValueSchema resource names have the form: customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}", +"readOnly": true, +"type": "string" +}, +"schema": { +"$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema", +"description": "Output only. The schema for the specified resource.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerUserAccess": { +"description": "Represents the permission of a single user onto a single customer.", +"id": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", +"properties": { +"accessCreationDateTime": { +"description": "Output only. The customer user access creation time. Read only field The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"accessRole": { +"description": "Access role of the user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADMIN", +"STANDARD", +"READ_ONLY", +"EMAIL_ONLY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Owns its account and can control the addition of other users.", +"Can modify , but can't affect other users.", +"Can view and account changes, but cannot make edits.", +"Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." +], +"type": "string" +}, +"emailAddress": { +"description": "Output only. Email address of the user. Read only field", +"readOnly": true, +"type": "string" +}, +"inviterUserEmailAddress": { +"description": "Output only. The email address of the inviter user. Read only field", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`", +"type": "string" +}, +"userId": { +"description": "Output only. User id of the user with the customer access. Read only field", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation": { +"description": "Represent an invitation to a new user on this customer account.", +"id": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", +"properties": { +"accessRole": { +"description": "Immutable. Access role of the user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADMIN", +"STANDARD", +"READ_ONLY", +"EMAIL_ONLY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Owns its account and can control the addition of other users.", +"Can modify , but can't affect other users.", +"Can view and account changes, but cannot make edits.", +"Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." +], +"type": "string" +}, +"creationDateTime": { +"description": "Output only. Time invitation was created. This field is read-only. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"emailAddress": { +"description": "Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.", +"type": "string" +}, +"invitationId": { +"description": "Output only. The ID of the invitation. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"invitationStatus": { +"description": "Output only. Invitation status of the user.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"DECLINED", +"EXPIRED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The initial state of an invitation, before being acted upon by anyone.", +"Invitation process was terminated by the email recipient. No new user was created.", +"Invitation URLs expired without being acted upon. No new user can be created. Invitations expire 20 days after creation." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__CustomizerAttribute": { +"description": "A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively.", +"id": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", +"properties": { +"id": { +"description": "Output only. The ID of the customizer attribute.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the customizer attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"The customizer attribute is enabled.", +"The customizer attribute is removed." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Immutable. The type of the customizer attribute.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TEXT", +"NUMBER", +"PRICE", +"PERCENT" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version.", +"Text customizer.", +"Number customizer.", +"Price customizer consisting of a number and a currency.", +"Percentage customizer consisting of a number and a '%'." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DataLink": { +"description": "Represents the data sharing connection between", +"id": "GoogleAdsSearchads360V23Resources__DataLink", +"properties": { +"dataLinkId": { +"description": "Output only. The ID of the data link. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"productLinkId": { +"description": "Output only. The ID of the link. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Resource name of the product data link. DataLink resource names have the form: `", +"type": "string" +}, +"status": { +"description": "Output only. The status of the data link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUESTED", +"PENDING_APPROVAL", +"ENABLED", +"DISABLED", +"REVOKED", +"REJECTED" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Link has been requested by one party, but not confirmed by the other party.", +"Link is waiting for the customer to approve.", +"Link is established and can be used as needed.", +"Link is no longer valid and should be ignored.", +"Link request has been cancelled by the requester and further cleanup may be needed.", +"Link request has been rejected by the approver." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the data.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VIDEO" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A data link to YouTube video." +], +"readOnly": true, +"type": "string" +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier", +"description": "Immutable. A data link to YouTube video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DataPartnerIdentifier": { +"description": "The identifier for Data Partner account.", +"id": "GoogleAdsSearchads360V23Resources__DataPartnerIdentifier", +"properties": { +"dataPartnerId": { +"description": "Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView": { +"description": "A detail content suitability placement view.", +"id": "GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView", +"properties": { +"displayName": { +"description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", +"readOnly": true, +"type": "string" +}, +"placement": { +"description": "Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id.", +"readOnly": true, +"type": "string" +}, +"placementType": { +"description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"GOOGLE_PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Websites(for example, 'www.flowers4sale.com').", +"Mobile application categories(for example, 'Games').", +"mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", +"YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", +"YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", +"Surfaces owned and operated by Google(for example, 'tv.google.com')." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}`", +"readOnly": true, +"type": "string" +}, +"targetUrl": { +"description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DetailPlacementView": { +"description": "A view with metrics aggregated by ad group and URL or YouTube video. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations.", +"id": "GoogleAdsSearchads360V23Resources__DetailPlacementView", +"properties": { +"displayName": { +"description": "Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", +"readOnly": true, +"type": "string" +}, +"groupPlacementTargetUrl": { +"description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.", +"readOnly": true, +"type": "string" +}, +"placement": { +"description": "Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.", +"readOnly": true, +"type": "string" +}, +"placementType": { +"description": "Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"GOOGLE_PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Websites(for example, 'www.flowers4sale.com').", +"Mobile application categories(for example, 'Games').", +"mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", +"YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", +"YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", +"Surfaces owned and operated by Google(for example, 'tv.google.com')." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`", +"readOnly": true, +"type": "string" +}, +"targetUrl": { +"description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DetailedDemographic": { +"description": "A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts.", +"id": "GoogleAdsSearchads360V23Resources__DetailedDemographic", +"properties": { +"availabilities": { +"description": "Output only. Availability information of the detailed demographic.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" +}, +"readOnly": true, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the detailed demographic.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"launchedToAll": { +"description": "Output only. True if the detailed demographic is launched to all channels and locales.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the detailed demographic. For example,\"Highest Level of Educational Attainment\"", +"readOnly": true, +"type": "string" +}, +"parent": { +"description": "Output only. The parent of the detailed_demographic.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DisplayKeywordView": { +"description": "A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics.", +"id": "GoogleAdsSearchads360V23Resources__DisplayKeywordView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DistanceView": { +"description": "A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance.", +"id": "GoogleAdsSearchads360V23Resources__DistanceView", +"properties": { +"distanceBucket": { +"description": "Output only. Grouping of user distance from location extensions.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WITHIN_700M", +"WITHIN_1KM", +"WITHIN_5KM", +"WITHIN_10KM", +"WITHIN_15KM", +"WITHIN_20KM", +"WITHIN_25KM", +"WITHIN_30KM", +"WITHIN_35KM", +"WITHIN_40KM", +"WITHIN_45KM", +"WITHIN_50KM", +"WITHIN_55KM", +"WITHIN_60KM", +"WITHIN_65KM", +"BEYOND_65KM", +"WITHIN_0_7MILES", +"WITHIN_1MILE", +"WITHIN_5MILES", +"WITHIN_10MILES", +"WITHIN_15MILES", +"WITHIN_20MILES", +"WITHIN_25MILES", +"WITHIN_30MILES", +"WITHIN_35MILES", +"WITHIN_40MILES", +"BEYOND_40MILES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"User was within 700m of the location.", +"User was within 1KM of the location.", +"User was within 5KM of the location.", +"User was within 10KM of the location.", +"User was within 15KM of the location.", +"User was within 20KM of the location.", +"User was within 25KM of the location.", +"User was within 30KM of the location.", +"User was within 35KM of the location.", +"User was within 40KM of the location.", +"User was within 45KM of the location.", +"User was within 50KM of the location.", +"User was within 55KM of the location.", +"User was within 60KM of the location.", +"User was within 65KM of the location.", +"User was beyond 65KM of the location.", +"User was within 0.7 miles of the location.", +"User was within 1 mile of the location.", +"User was within 5 miles of the location.", +"User was within 10 miles of the location.", +"User was within 15 miles of the location.", +"User was within 20 miles of the location.", +"User was within 25 miles of the location.", +"User was within 30 miles of the location.", +"User was within 35 miles of the location.", +"User was within 40 miles of the location.", +"User was beyond 40 miles of the location." +], +"readOnly": true, +"type": "string" +}, +"metricSystem": { +"description": "Output only. True if the DistanceBucket is using the metric system, false otherwise.", +"readOnly": true, +"type": "boolean" +}, +"resourceName": { +"description": "Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id}/distanceViews/1~{distance_bucket}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting": { +"description": "DoubleClick Campaign Manager (DCM) setting for a manager customer.", +"id": "GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting", +"properties": { +"advertiserId": { +"description": "Output only. ID of the Campaign Manager advertiser associated with this customer.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"networkId": { +"description": "Output only. ID of the Campaign Manager network associated with this customer.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"timeZone": { +"description": "Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView": { +"description": "A dynamic search ads search term view.", +"id": "GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView", +"properties": { +"hasMatchingKeyword": { +"description": "Output only. True if query is added to targeted keywords. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"hasNegativeKeyword": { +"description": "Output only. True if query matches a negative keyword. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"hasNegativeUrl": { +"description": "Output only. True if query matches a negative url. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"headline": { +"description": "Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"landingPage": { +"description": "Output only. The dynamically selected landing page URL of the impression. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"pageUrl": { +"description": "Output only. The URL of page feed item served for the impression. This field is read-only.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. Search term This field is read-only.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ExpandedLandingPageView": { +"description": "A landing page view with metrics aggregated at the expanded final URL level.", +"id": "GoogleAdsSearchads360V23Resources__ExpandedLandingPageView", +"properties": { +"expandedFinalUrl": { +"description": "Output only. The final URL that clicks are directed to.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Experiment": { +"description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.", +"id": "GoogleAdsSearchads360V23Resources__Experiment", +"properties": { +"description": { +"description": "The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.", +"type": "string" +}, +"endDate": { +"description": "Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18", +"type": "string" +}, +"experimentId": { +"description": "Output only. The ID of the experiment. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"goals": { +"description": "The goals of this experiment.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__MetricGoal" +}, +"type": "array" +}, +"longRunningOperation": { +"description": "Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.", +"type": "string" +}, +"promoteStatus": { +"description": "Output only. The status of the experiment promotion process.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_STARTED", +"IN_PROGRESS", +"COMPLETED", +"FAILED", +"COMPLETED_WITH_WARNING" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Action has not started.", +"Action is in progress.", +"Action has completed successfully.", +"Action has failed.", +"Action has completed successfully with warnings." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`", +"type": "string" +}, +"startDate": { +"description": "Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14", +"type": "string" +}, +"status": { +"description": "The Advertiser-chosen status of this experiment.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"HALTED", +"PROMOTED", +"SETUP", +"INITIATED", +"GRADUATED" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The experiment is enabled.", +"The experiment has been removed.", +"The experiment has been halted. This status can be set from ENABLED status through API.", +"The experiment will be promoted out of experimental status.", +"Initial status of the experiment.", +"The experiment's campaigns are pending materialization. This status can be set from SETUP status through API.", +"The experiment has been graduated." +], +"type": "string" +}, +"suffix": { +"description": "For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.", +"type": "string" +}, +"syncEnabled": { +"description": "Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.", +"type": "boolean" +}, +"type": { +"description": "Required. The product/feature that uses this experiment.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISPLAY_AND_VIDEO_360", +"AD_VARIATION", +"YOUTUBE_CUSTOM", +"DISPLAY_CUSTOM", +"SEARCH_CUSTOM", +"DISPLAY_AUTOMATED_BIDDING_STRATEGY", +"SEARCH_AUTOMATED_BIDDING_STRATEGY", +"SHOPPING_AUTOMATED_BIDDING_STRATEGY", +"SMART_MATCHING", +"HOTEL_CUSTOM" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"This is a DISPLAY_AND_VIDEO_360 experiment.", +"This is an ad variation experiment.", +"A custom experiment consisting of Video campaigns.", +"A custom experiment consisting of display campaigns.", +"A custom experiment consisting of search campaigns.", +"An experiment that compares bidding strategies for display campaigns.", +"An experiment that compares bidding strategies for search campaigns.\"", +"An experiment that compares bidding strategies for shopping campaigns.", +"DEPRECATED. A smart matching experiment with search campaigns.", +"A custom experiment consisting of hotel campaigns." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ExperimentArm": { +"description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.", +"id": "GoogleAdsSearchads360V23Resources__ExperimentArm", +"properties": { +"assetGroups": { +"description": "List of asset groups in the experiment arm.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo" +}, +"type": "array" +}, +"campaigns": { +"description": "List of campaigns in the trial arm. The max length is one.", +"items": { +"type": "string" +}, +"type": "array" +}, +"control": { +"description": "Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.", +"type": "boolean" +}, +"experiment": { +"description": "Immutable. The experiment to which the ExperimentArm belongs.", +"type": "string" +}, +"inDesignCampaigns": { +"description": "Output only. The in design campaigns in the treatment experiment arm.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`", +"type": "string" +}, +"trafficSplit": { +"description": "Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Fellowship": { +"description": "Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.", +"id": "GoogleAdsSearchads360V23Resources__Fellowship", +"properties": { +"completionYear": { +"description": "Output only. Year of completion.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"institutionName": { +"description": "Output only. Name of the instutition at which the fellowship was completed.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView": { +"description": "FinalUrlExpansionAssetView Resource.", +"id": "GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView", +"properties": { +"adGroup": { +"description": "Output only. Ad Group in which FinalUrlExpansionAsset served.", +"readOnly": true, +"type": "string" +}, +"asset": { +"description": "Output only. The ID of the asset.", +"readOnly": true, +"type": "string" +}, +"assetGroup": { +"description": "Output only. Asset Group in which FinalUrlExpansionAsset served.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Output only. Campaign in which the asset served.", +"readOnly": true, +"type": "string" +}, +"fieldType": { +"description": "Output only. The field type of the asset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"finalUrl": { +"description": "Output only. Final URL of the FinalUrlExpansionAsset.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the FinalUrlExpansionAsset.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Status of the FinalUrlExpansionAsset.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Asset link is enabled.", +"Asset link has been removed.", +"Asset link is paused." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GenderView": { +"description": "A gender view. The gender_view resource reflects the effective serving state, rather than what criteria were added. An ad group without gender criteria by default shows to all genders, so all genders appear in gender_view with stats.", +"id": "GoogleAdsSearchads360V23Resources__GenderView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GeoTargetConstant": { +"description": "A geo target constant.", +"id": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", +"properties": { +"canonicalName": { +"description": "Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.", +"readOnly": true, +"type": "string" +}, +"countryCode": { +"description": "Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the geo target constant.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Geo target constant English name.", +"readOnly": true, +"type": "string" +}, +"parentGeoTarget": { +"description": "Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Geo target constant status.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVAL_PLANNED" +], +"enumDescriptions": [ +"No value has been specified.", +"The received value is not known in this version. This is a response-only value.", +"The geo target constant is valid.", +"The geo target constant is obsolete and will be removed." +], +"readOnly": true, +"type": "string" +}, +"targetType": { +"description": "Output only. Geo target constant target type.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GeographicView": { +"description": "A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country.", +"id": "GoogleAdsSearchads360V23Resources__GeographicView", +"properties": { +"countryCriterionId": { +"description": "Output only. Criterion Id for the country.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"locationType": { +"description": "Output only. Type of the geo targeting of the campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AREA_OF_INTEREST", +"LOCATION_OF_PRESENCE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Location the user is interested in while making the query.", +"Location of the user issuing the query." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Goal": { +"description": "Representation of goals.", +"id": "GoogleAdsSearchads360V23Resources__Goal", +"properties": { +"goalId": { +"description": "Output only. The ID of this goal.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"goalType": { +"description": "Output only. The type of this goal.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_RETENTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)" +], +"readOnly": true, +"type": "string" +}, +"optimizationEligibility": { +"description": "Output only. Indicates if this goal is eligible for campaign optimization.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ELIGIBLE", +"INELIGIBLE" +], +"enumDescriptions": [ +"The goal optimization status has not been specified.", +"The goal optimization status is not known in this version.", +"The goal is eligible for campaign optimization.", +"The goal is not eligible for campaign optimization." +], +"readOnly": true, +"type": "string" +}, +"ownerCustomer": { +"description": "Output only. The resource name of the goal owner customer.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`", +"type": "string" +}, +"retentionGoalSettings": { +"$ref": "GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal", +"description": "Retention goal settings." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier": { +"description": "The identifier for Google Ads account.", +"id": "GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier", +"properties": { +"customer": { +"description": "Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GranularInsuranceStatus": { +"description": "Insurance status at geo + vertical level.", +"id": "GoogleAdsSearchads360V23Resources__GranularInsuranceStatus", +"properties": { +"categoryId": { +"description": "Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", +"readOnly": true, +"type": "string" +}, +"geoCriterionId": { +"description": "Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"verificationStatus": { +"description": "Output only. Granular insurance status, per geo + vertical.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEEDS_REVIEW", +"FAILED", +"PASSED", +"NOT_APPLICABLE", +"NO_SUBMISSION", +"PARTIAL_SUBMISSION", +"PENDING_ESCALATION" +], +"enumDescriptions": [ +"Not specified.", +"Unknown verification status.", +"Verification has started, but has not finished.", +"Verification has failed.", +"Verification has passed.", +"Verification is not applicable.", +"Verification is required but pending submission.", +"Not all required verification has been submitted.", +"Verification needs review by Local Services Ads Ops Specialist." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GranularLicenseStatus": { +"description": "License status at geo + vertical level.", +"id": "GoogleAdsSearchads360V23Resources__GranularLicenseStatus", +"properties": { +"categoryId": { +"description": "Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", +"readOnly": true, +"type": "string" +}, +"geoCriterionId": { +"description": "Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"verificationStatus": { +"description": "Output only. Granular license status, per geo + vertical.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEEDS_REVIEW", +"FAILED", +"PASSED", +"NOT_APPLICABLE", +"NO_SUBMISSION", +"PARTIAL_SUBMISSION", +"PENDING_ESCALATION" +], +"enumDescriptions": [ +"Not specified.", +"Unknown verification status.", +"Verification has started, but has not finished.", +"Verification has failed.", +"Verification has passed.", +"Verification is not applicable.", +"Verification is required but pending submission.", +"Not all required verification has been submitted.", +"Verification needs review by Local Services Ads Ops Specialist." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView": { +"description": "A group content suitability placement view.", +"id": "GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView", +"properties": { +"displayName": { +"description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", +"readOnly": true, +"type": "string" +}, +"placement": { +"description": "Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id.", +"readOnly": true, +"type": "string" +}, +"placementType": { +"description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"GOOGLE_PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Websites(for example, 'www.flowers4sale.com').", +"Mobile application categories(for example, 'Games').", +"mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", +"YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", +"YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", +"Surfaces owned and operated by Google(for example, 'tv.google.com')." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}`", +"readOnly": true, +"type": "string" +}, +"targetUrl": { +"description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__GroupPlacementView": { +"description": "A group placement view.", +"id": "GoogleAdsSearchads360V23Resources__GroupPlacementView", +"properties": { +"displayName": { +"description": "Output only. Domain name for websites and YouTube channel name for YouTube channels.", +"readOnly": true, +"type": "string" +}, +"placement": { +"description": "Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID.", +"readOnly": true, +"type": "string" +}, +"placementType": { +"description": "Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"GOOGLE_PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Websites(for example, 'www.flowers4sale.com').", +"Mobile application categories(for example, 'Games').", +"mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", +"YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", +"YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", +"Surfaces owned and operated by Google(for example, 'tv.google.com')." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`", +"readOnly": true, +"type": "string" +}, +"targetUrl": { +"description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier": { +"description": "The identifier for Hotel account.", +"id": "GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier", +"properties": { +"hotelCenterId": { +"description": "Output only. The hotel center id of the hotel account. This field is read only", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__HotelGroupView": { +"description": "A hotel group view.", +"id": "GoogleAdsSearchads360V23Resources__HotelGroupView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__HotelPerformanceView": { +"description": "A hotel performance view.", +"id": "GoogleAdsSearchads360V23Resources__HotelPerformanceView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id}/hotelPerformanceView`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__HotelReconciliation": { +"description": "A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads.", +"id": "GoogleAdsSearchads360V23Resources__HotelReconciliation", +"properties": { +"billed": { +"description": "Output only. Whether a given booking has been billed. Once billed, a booking can't be modified.", +"readOnly": true, +"type": "boolean" +}, +"campaign": { +"description": "Output only. The resource name for the Campaign associated with the conversion.", +"readOnly": true, +"type": "string" +}, +"checkInDate": { +"description": "Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.", +"readOnly": true, +"type": "string" +}, +"checkOutDate": { +"description": "Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.", +"readOnly": true, +"type": "string" +}, +"commissionId": { +"description": "Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay.", +"readOnly": true, +"type": "string" +}, +"hotelCenterId": { +"description": "Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"hotelId": { +"description": "Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.", +"readOnly": true, +"type": "string" +}, +"orderId": { +"description": "Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag.", +"readOnly": true, +"type": "string" +}, +"reconciledValueMicros": { +"description": "Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id}/hotelReconciliations/{commission_id}`", +"type": "string" +}, +"status": { +"description": "Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESERVATION_ENABLED", +"RECONCILIATION_NEEDED", +"RECONCILED", +"CANCELED" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Bookings are for a future date, or a stay is underway but the check-out date hasn't passed. An active reservation can't be reconciled.", +"Check-out has already taken place, or the booked dates have passed without cancellation. Bookings that are not reconciled within 45 days of the check-out date are billed based on the original booking price.", +"These bookings have been reconciled. Reconciled bookings are billed 45 days after the check-out date.", +"This booking was marked as canceled. Canceled stays with a value greater than zero (due to minimum stay rules or cancellation fees) are billed 45 days after the check-out date." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__IncomeRangeView": { +"description": "An income range view.", +"id": "GoogleAdsSearchads360V23Resources__IncomeRangeView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact": { +"description": "specific to a local services insurance.", +"id": "GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact", +"properties": { +"amountMicros": { +"description": "Output only. Insurance amount. This is measured in \"micros\" of the currency mentioned in the insurance document.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"expirationDateTime": { +"description": "Output only. The timestamp when this insurance expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"insuranceDocumentReadonly": { +"$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", +"description": "Output only. The readonly field containing the information for an uploaded insurance document.", +"readOnly": true +}, +"rejectionReason": { +"description": "Output only. Insurance document's rejection reason.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_NAME_MISMATCH", +"INSURANCE_AMOUNT_INSUFFICIENT", +"EXPIRED", +"NO_SIGNATURE", +"NO_POLICY_NUMBER", +"NO_COMMERCIAL_GENERAL_LIABILITY", +"EDITABLE_FORMAT", +"CATEGORY_MISMATCH", +"MISSING_EXPIRATION_DATE", +"POOR_QUALITY", +"POTENTIALLY_EDITED", +"WRONG_DOCUMENT_TYPE", +"NON_FINAL", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business name doesn't match business name for the Local Services Ad.", +"Insurance amount doesn't meet requirement listed in the legal summaries documentation for that geographic + category ID combination.", +"Insurance document is expired.", +"Insurance document is missing a signature.", +"Insurance document is missing a policy number.", +"Commercial General Liability(CGL) box is not marked in the insurance document.", +"Insurance document is in an editable format.", +"Insurance document does not cover insurance for a particular category.", +"Insurance document is missing an expiration date.", +"Insurance document is poor quality - blurry images, illegible, etc...", +"Insurance document is suspected of being edited.", +"Insurance document not accepted. For example, documents of insurance proposals, but missing coverages are not accepted.", +"Insurance document is not final.", +"Insurance document has another flaw not listed explicitly." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Invoice": { +"description": "An invoice. All invoice information is snapshotted to match the PDF invoice. For invoices older than the launch of InvoiceService, the snapshotted information may not match the PDF invoice.", +"id": "GoogleAdsSearchads360V23Resources__Invoice", +"properties": { +"accountBudgetSummaries": { +"description": "Output only. The list of summarized account budget information associated with this invoice.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary" +}, +"readOnly": true, +"type": "array" +}, +"accountSummaries": { +"description": "Output only. The list of summarized account information associated with this invoice.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_Invoice_AccountSummary" +}, +"readOnly": true, +"type": "array" +}, +"adjustmentsSubtotalAmountMicros": { +"description": "Output only. The pretax subtotal amount of invoice level adjustments, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"adjustmentsTaxAmountMicros": { +"description": "Output only. The sum of taxes on the invoice level adjustments, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"adjustmentsTotalAmountMicros": { +"description": "Output only. The total amount of invoice level adjustments, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"billingSetup": { +"description": "Output only. The resource name of this invoice's billing setup. `customers/{customer_id}/billingSetups/{billing_setup_id}`", +"readOnly": true, +"type": "string" +}, +"correctedInvoice": { +"description": "Output only. The resource name of the original invoice corrected, wrote off, or canceled by this invoice, if applicable. If `corrected_invoice` is set, `replaced_invoices` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Output only. The currency code. All costs are returned in this currency. A subset of the currency codes derived from the ISO 4217 standard is supported.", +"readOnly": true, +"type": "string" +}, +"dueDate": { +"description": "Output only. The due date in yyyy-mm-dd format.", +"readOnly": true, +"type": "string" +}, +"exportChargeSubtotalAmountMicros": { +"description": "Output only. The pretax subtotal amount of invoice level export charges, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exportChargeTaxAmountMicros": { +"description": "Output only. The sum of taxes on the invoice level export charges, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"exportChargeTotalAmountMicros": { +"description": "Output only. The total amount of invoice level export charges, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the invoice. It appears on the invoice PDF as \"Invoice number\".", +"readOnly": true, +"type": "string" +}, +"issueDate": { +"description": "Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as either \"Issue date\" or \"Invoice date\".", +"readOnly": true, +"type": "string" +}, +"paymentsAccountId": { +"description": "Output only. A 16 digit ID used to identify the payments account associated with the billing setup, for example, \"1234-5678-9012-3456\". It appears on the invoice PDF as \"Billing Account Number\".", +"readOnly": true, +"type": "string" +}, +"paymentsProfileId": { +"description": "Output only. A 12 digit ID used to identify the payments profile associated with the billing setup, for example, \"1234-5678-9012\". It appears on the invoice PDF as \"Billing ID\".", +"readOnly": true, +"type": "string" +}, +"pdfUrl": { +"description": "Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth token to request the PDF with this URL.", +"readOnly": true, +"type": "string" +}, +"regulatoryCostsSubtotalAmountMicros": { +"description": "Output only. The pretax subtotal amount of invoice level regulatory costs, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryCostsTaxAmountMicros": { +"description": "Output only. The sum of taxes on the invoice level regulatory costs, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"regulatoryCostsTotalAmountMicros": { +"description": "Output only. The total amount of invoice level regulatory costs, in micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"replacedInvoices": { +"description": "Output only. The resource name of the original invoice(s) being rebilled or replaced by this invoice, if applicable. There might be multiple replaced invoices due to invoice consolidation. The replaced invoices may not belong to the same payments account. If `replaced_invoices` is set, `corrected_invoice` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Output only. The resource name of the invoice. Multiple customers can share a given invoice, so multiple resource names may point to the same invoice. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", +"readOnly": true, +"type": "string" +}, +"serviceDateRange": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "Output only. The service period date range of this invoice. The end date is inclusive.", +"readOnly": true +}, +"subtotalAmountMicros": { +"description": "Output only. The pretax subtotal amount, in micros. This is equal to the sum of the AccountBudgetSummary subtotal amounts and Invoice.adjustments_subtotal_amount_micros.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"taxAmountMicros": { +"description": "Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the AccountBudgetSummary tax amounts, plus taxes not associated with a specific account budget.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalAmountMicros": { +"description": "Output only. The total amount, in micros. This equals the sum of Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, Invoice.regulatory_costs_subtotal_amount_micros, and Invoice.export_charge_subtotal_amount_micros (which is separated into a separate line item starting with V14.1).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of invoice.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CREDIT_MEMO", +"INVOICE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"An invoice with a negative amount. The account receives a credit.", +"An invoice with a positive amount. The account owes a balance." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlan": { +"description": "A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlan", +"properties": { +"forecastPeriod": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod", +"description": "The date period used for forecasting the plan." +}, +"id": { +"description": "Output only. The ID of the keyword plan.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup": { +"description": "A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", +"properties": { +"cpcBidMicros": { +"description": "A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "Output only. The ID of the keyword plan ad group.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keywordPlanCampaign": { +"description": "The keyword plan campaign to which this ad group belongs.", +"type": "string" +}, +"name": { +"description": "The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword": { +"description": "A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", +"properties": { +"cpcBidMicros": { +"description": "A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.", +"format": "int64", +"type": "string" +}, +"id": { +"description": "Output only. The ID of the Keyword Plan keyword.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keywordPlanAdGroup": { +"description": "The Keyword Plan ad group to which this keyword belongs.", +"type": "string" +}, +"matchType": { +"description": "The keyword match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"type": "string" +}, +"negative": { +"description": "Immutable. If true, the keyword is negative.", +"type": "boolean" +}, +"resourceName": { +"description": "Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`", +"type": "string" +}, +"text": { +"description": "The keyword text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanCampaign": { +"description": "A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", +"properties": { +"cpcBidMicros": { +"description": "A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.", +"format": "int64", +"type": "string" +}, +"geoTargets": { +"description": "The geo targets. Max number allowed: 20.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget" +}, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the Keyword Plan campaign.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keywordPlan": { +"description": "The keyword plan this campaign belongs to.", +"type": "string" +}, +"keywordPlanNetwork": { +"description": "Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_SEARCH", +"GOOGLE_SEARCH_AND_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Google Search.", +"Google Search + Search partners." +], +"type": "string" +}, +"languageConstants": { +"description": "The languages targeted for the Keyword Plan campaign. Max allowed: 1.", +"items": { +"type": "string" +}, +"type": "array" +}, +"name": { +"description": "The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword": { +"description": "A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", +"properties": { +"id": { +"description": "Output only. The ID of the Keyword Plan negative keyword.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keywordPlanCampaign": { +"description": "The Keyword Plan campaign to which this negative keyword belongs.", +"type": "string" +}, +"matchType": { +"description": "The keyword match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"type": "string" +}, +"negative": { +"description": "Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.", +"type": "boolean" +}, +"resourceName": { +"description": "Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`", +"type": "string" +}, +"text": { +"description": "The keyword text.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod": { +"description": "The forecasting period associated with the keyword plan.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod", +"properties": { +"dateInterval": { +"description": "A future date range relative to the current date used for forecasting.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEXT_WEEK", +"NEXT_MONTH", +"NEXT_QUARTER" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The next week date range for keyword plan. The next week is based on the default locale of the user's account and is mostly SUN-SAT or MON-SUN. This can be different from next-7 days.", +"The next month date range for keyword plan.", +"The next quarter date range for keyword plan." +], +"type": "string" +}, +"dateRange": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget": { +"description": "A geo target.", +"id": "GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget", +"properties": { +"geoTargetConstant": { +"description": "Required. The resource name of the geo target.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordThemeConstant": { +"description": "A Smart Campaign keyword theme constant.", +"id": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", +"properties": { +"countryCode": { +"description": "Output only. The ISO-3166 Alpha-2 country code of the constant, eg. \"US\". To display and query matching purpose, the keyword theme needs to be localized.", +"readOnly": true, +"type": "string" +}, +"displayName": { +"description": "Output only. The display name of the keyword theme or sub keyword theme.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Output only. The ISO-639-1 language code with 2 letters of the constant, eg. \"en\". To display and query matching purpose, the keyword theme needs to be localized.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__KeywordView": { +"description": "A keyword view.", +"id": "GoogleAdsSearchads360V23Resources__KeywordView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Label": { +"description": "A label.", +"id": "GoogleAdsSearchads360V23Resources__Label", +"properties": { +"id": { +"description": "Output only. ID of the label. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Status of the label. Read only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Label is enabled.", +"Label is removed." +], +"readOnly": true, +"type": "string" +}, +"textLabel": { +"$ref": "GoogleAdsSearchads360V23Common__TextLabel", +"description": "A type of label displaying text on a colored background." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LandingPageView": { +"description": "A landing page view with metrics aggregated at the unexpanded final URL level.", +"id": "GoogleAdsSearchads360V23Resources__LandingPageView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`", +"readOnly": true, +"type": "string" +}, +"unexpandedFinalUrl": { +"description": "Output only. The advertiser-specified final URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LanguageConstant": { +"description": "A language.", +"id": "GoogleAdsSearchads360V23Resources__LanguageConstant", +"properties": { +"code": { +"description": "Output only. The language code, for example, \"en_US\", \"en_AU\", \"es\", \"fr\", etc.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the language constant.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The full name of the language in English, for example, \"English (US)\", \"Spanish\", etc.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id}`", +"readOnly": true, +"type": "string" +}, +"targetable": { +"description": "Output only. Whether the language is targetable.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LeadFormSubmissionData": { +"description": "Data from lead form submissions.", +"id": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionData", +"properties": { +"adGroup": { +"description": "Output only. AdGroup associated with the submitted lead form.", +"readOnly": true, +"type": "string" +}, +"adGroupAd": { +"description": "Output only. AdGroupAd associated with the submitted lead form.", +"readOnly": true, +"type": "string" +}, +"asset": { +"description": "Output only. Asset associated with the submitted lead form.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Output only. Campaign associated with the submitted lead form.", +"readOnly": true, +"type": "string" +}, +"customLeadFormSubmissionFields": { +"description": "Output only. Submission data associated with a custom lead form.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField" +}, +"readOnly": true, +"type": "array" +}, +"gclid": { +"description": "Output only. Google Click Id associated with the submissed lead form.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID of this lead form submission.", +"readOnly": true, +"type": "string" +}, +"leadFormSubmissionFields": { +"description": "Output only. Submission data associated with a lead form.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionField" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}`", +"readOnly": true, +"type": "string" +}, +"submissionDateTime": { +"description": "Output only. The date and time at which the lead form was submitted. The format is \"yyyy-mm-dd hh:mm:ss+|-hh:mm\", for example, \"2019-01-01 12:32:45-08:00\".", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LeadFormSubmissionField": { +"description": "Fields in the submitted lead form.", +"id": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionField", +"properties": { +"fieldType": { +"description": "Output only. Field type for lead form fields.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FULL_NAME", +"EMAIL", +"PHONE_NUMBER", +"POSTAL_CODE", +"STREET_ADDRESS", +"CITY", +"REGION", +"COUNTRY", +"WORK_EMAIL", +"COMPANY_NAME", +"WORK_PHONE", +"JOB_TITLE", +"GOVERNMENT_ISSUED_ID_CPF_BR", +"GOVERNMENT_ISSUED_ID_DNI_AR", +"GOVERNMENT_ISSUED_ID_DNI_PE", +"GOVERNMENT_ISSUED_ID_RUT_CL", +"GOVERNMENT_ISSUED_ID_CC_CO", +"GOVERNMENT_ISSUED_ID_CI_EC", +"GOVERNMENT_ISSUED_ID_RFC_MX", +"FIRST_NAME", +"LAST_NAME", +"VEHICLE_MODEL", +"VEHICLE_TYPE", +"PREFERRED_DEALERSHIP", +"VEHICLE_PURCHASE_TIMELINE", +"VEHICLE_OWNERSHIP", +"VEHICLE_PAYMENT_TYPE", +"VEHICLE_CONDITION", +"COMPANY_SIZE", +"ANNUAL_SALES", +"YEARS_IN_BUSINESS", +"JOB_DEPARTMENT", +"JOB_ROLE", +"OVER_18_AGE", +"OVER_19_AGE", +"OVER_20_AGE", +"OVER_21_AGE", +"OVER_22_AGE", +"OVER_23_AGE", +"OVER_24_AGE", +"OVER_25_AGE", +"OVER_26_AGE", +"OVER_27_AGE", +"OVER_28_AGE", +"OVER_29_AGE", +"OVER_30_AGE", +"OVER_31_AGE", +"OVER_32_AGE", +"OVER_33_AGE", +"OVER_34_AGE", +"OVER_35_AGE", +"OVER_36_AGE", +"OVER_37_AGE", +"OVER_38_AGE", +"OVER_39_AGE", +"OVER_40_AGE", +"OVER_41_AGE", +"OVER_42_AGE", +"OVER_43_AGE", +"OVER_44_AGE", +"OVER_45_AGE", +"OVER_46_AGE", +"OVER_47_AGE", +"OVER_48_AGE", +"OVER_49_AGE", +"OVER_50_AGE", +"OVER_51_AGE", +"OVER_52_AGE", +"OVER_53_AGE", +"OVER_54_AGE", +"OVER_55_AGE", +"OVER_56_AGE", +"OVER_57_AGE", +"OVER_58_AGE", +"OVER_59_AGE", +"OVER_60_AGE", +"OVER_61_AGE", +"OVER_62_AGE", +"OVER_63_AGE", +"OVER_64_AGE", +"OVER_65_AGE", +"EDUCATION_PROGRAM", +"EDUCATION_COURSE", +"PRODUCT", +"SERVICE", +"OFFER", +"CATEGORY", +"PREFERRED_CONTACT_METHOD", +"PREFERRED_LOCATION", +"PREFERRED_CONTACT_TIME", +"PURCHASE_TIMELINE", +"YEARS_OF_EXPERIENCE", +"JOB_INDUSTRY", +"LEVEL_OF_EDUCATION", +"PROPERTY_TYPE", +"REALTOR_HELP_GOAL", +"PROPERTY_COMMUNITY", +"PRICE_RANGE", +"NUMBER_OF_BEDROOMS", +"FURNISHED_PROPERTY", +"PETS_ALLOWED_PROPERTY", +"NEXT_PLANNED_PURCHASE", +"EVENT_SIGNUP_INTEREST", +"PREFERRED_SHOPPING_PLACES", +"FAVORITE_BRAND", +"TRANSPORTATION_COMMERCIAL_LICENSE_TYPE", +"EVENT_BOOKING_INTEREST", +"DESTINATION_COUNTRY", +"DESTINATION_CITY", +"DEPARTURE_COUNTRY", +"DEPARTURE_CITY", +"DEPARTURE_DATE", +"RETURN_DATE", +"NUMBER_OF_TRAVELERS", +"TRAVEL_BUDGET", +"TRAVEL_ACCOMMODATION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user will be asked to fill in their given and family name. This field cannot be set at the same time as GIVEN_NAME or FAMILY_NAME.", +"The user will be asked to fill in their email address.", +"The user will be asked to fill in their phone number.", +"The user will be asked to fill in their zip code.", +"The user will be asked to fill in their street address.", +"The user will be asked to fill in their city.", +"The user will be asked to fill in their region part of the address (for example, state for US, province for Canada).", +"The user will be asked to fill in their country.", +"The user will be asked to fill in their work email address.", +"The user will be asked to fill in their company name.", +"The user will be asked to fill in their work phone.", +"The user will be asked to fill in their job title.", +"The user will be asked to fill in their CPF for Brazil users.", +"The user will be asked to fill in their DNI for Argentina users.", +"The user will be asked to fill in their DNI for Peru users.", +"The user will be asked to fill in their RUT for Chile users.", +"The user will be asked to fill in their CC for Colombia users.", +"The user will be asked to fill in their CI for Ecuador users.", +"The user will be asked to fill in their RFC for Mexico users.", +"The user will be asked to fill in their first name. This field can not be set at the same time as FULL_NAME.", +"The user will be asked to fill in their last name. This field can not be set at the same time as FULL_NAME.", +"Question: \"Which model are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which type of vehicle are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred dealership?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"When do you plan on purchasing a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Do you own a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What vehicle ownership option are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What type of vehicle condition are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What size is your company?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your annual sales volume?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many years have you been in business?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your job department?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your job role?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 18 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 19 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 20 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 21 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 22 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 23 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 24 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 25 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 26 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 27 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 28 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 29 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 30 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 31 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 32 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 33 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 34 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 35 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 36 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 37 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 38 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 39 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 40 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 41 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 42 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 43 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 44 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 45 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 46 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 47 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 48 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 49 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 50 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 51 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 52 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 53 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 54 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 55 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 56 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 57 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 58 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 59 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 60 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 61 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 62 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 63 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 64 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you over 65 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which program are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which course are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which product are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which service are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which offer are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which category are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred method of contact?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your preferred location?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is the best time to contact you?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"When are you looking to make a purchase?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many years of work experience do you have?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What industry do you work in?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your highest level of education?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What type of property are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What do you need a realtor's help with?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What neighborhood are you interested in?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What price range are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many bedrooms are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you looking for a fully furnished property?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Are you looking for properties that allow pets?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is the next product you plan to purchase?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Would you like to sign up for an event?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Where are you interested in shopping?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your favorite brand?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Which type of valid commercial license do you have?\" Category: \"Transportation\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Interested in booking an event?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your destination country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your destination city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your departure date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your return date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"How many people are you traveling with?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"What is your travel budget?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", +"Question: \"Where do you want to stay during your travel?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields." +], +"readOnly": true, +"type": "string" +}, +"fieldValue": { +"description": "Output only. Field value for lead form fields.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact": { +"description": "specific to a local services license.", +"id": "GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact", +"properties": { +"expirationDateTime": { +"description": "Output only. The timestamp when this license expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"licenseDocumentReadonly": { +"$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", +"description": "Output only. The readonly field containing the information for an uploaded license document.", +"readOnly": true +}, +"licenseNumber": { +"description": "Output only. License number.", +"readOnly": true, +"type": "string" +}, +"licenseType": { +"description": "Output only. License type / name.", +"readOnly": true, +"type": "string" +}, +"licenseeFirstName": { +"description": "Output only. First name of the licensee.", +"readOnly": true, +"type": "string" +}, +"licenseeLastName": { +"description": "Output only. Last name of the licensee.", +"readOnly": true, +"type": "string" +}, +"rejectionReason": { +"description": "Output only. License rejection reason.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_NAME_MISMATCH", +"UNAUTHORIZED", +"EXPIRED", +"POOR_QUALITY", +"UNVERIFIABLE", +"WRONG_DOCUMENT_OR_ID", +"OTHER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Business name doesn't match business name for the Local Services Ad.", +"License is unauthorized or been revoked.", +"License is expired.", +"License is poor quality - blurry images, illegible, etc...", +"License cannot be verified due to a not legitimate image.", +"License is not the requested document type or contains an invalid ID.", +"License has another flaw not listed explicitly." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LifeEvent": { +"description": "A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones.", +"id": "GoogleAdsSearchads360V23Resources__LifeEvent", +"properties": { +"availabilities": { +"description": "Output only. Availability information of the life event.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" +}, +"readOnly": true, +"type": "array" +}, +"id": { +"description": "Output only. The ID of the life event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"launchedToAll": { +"description": "Output only. True if the life event is launched to all channels and locales.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the life event, for example,\"Recently Moved\"", +"readOnly": true, +"type": "string" +}, +"parent": { +"description": "Output only. The parent of the life_event.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension": { +"description": "Listing dimensions for the asset group listing group filter.", +"id": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension", +"properties": { +"productBrand": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand", +"description": "Brand of a product offer." +}, +"productCategory": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory", +"description": "Category of a product offer." +}, +"productChannel": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel", +"description": "Locality of a product offer." +}, +"productCondition": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition", +"description": "Condition of a product offer." +}, +"productCustomAttribute": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute", +"description": "Custom attribute of a product offer." +}, +"productItemId": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId", +"description": "Item id of a product offer." +}, +"productType": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType", +"description": "Type of a product offer." +}, +"webpage": { +"$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage", +"description": "Filters for URLs in a page feed and URLs from the advertiser web domain." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath": { +"description": "The path defining of dimensions defining a listing group filter.", +"id": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath", +"properties": { +"dimensions": { +"description": "Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocalServicesEmployee": { +"description": "A local services employee resource.", +"id": "GoogleAdsSearchads360V23Resources__LocalServicesEmployee", +"properties": { +"categoryIds": { +"description": "Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"creationDateTime": { +"description": "Output only. Timestamp of employee creation. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"emailAddress": { +"description": "Output only. Email address of the employee.", +"readOnly": true, +"type": "string" +}, +"fellowships": { +"description": "Output only. The institutions where the employee has completed their fellowship.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Fellowship" +}, +"readOnly": true, +"type": "array" +}, +"firstName": { +"description": "Output only. First name of the employee.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the employee.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"jobTitle": { +"description": "Output only. Job title for this employee, such as \"Senior partner\" in legal verticals.", +"readOnly": true, +"type": "string" +}, +"languagesSpoken": { +"description": "Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"lastName": { +"description": "Output only. Last name of the employee.", +"readOnly": true, +"type": "string" +}, +"middleName": { +"description": "Output only. Middle name of the employee.", +"readOnly": true, +"type": "string" +}, +"nationalProviderIdNumber": { +"description": "Output only. NPI id associated with the employee.", +"readOnly": true, +"type": "string" +}, +"residencies": { +"description": "Output only. The institutions where the employee has completed their residency.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Residency" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesEmployees/{gls_employee_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Employee status, such as DELETED or ENABLED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Employee is not removed, and employee status is active.", +"Employee is removed. Used to delete an employee from the business." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. Employee type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BUSINESS_OWNER", +"EMPLOYEE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Represents the owner of the business.", +"Represents an employee of the business." +], +"readOnly": true, +"type": "string" +}, +"universityDegrees": { +"description": "Output only. A list of degrees this employee has obtained, and wants to feature.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__UniversityDegree" +}, +"readOnly": true, +"type": "array" +}, +"yearStartedPracticing": { +"description": "Output only. The year that this employee started practicing in this field.", +"format": "int32", +"readOnly": true, +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocalServicesLead": { +"description": "Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads", +"id": "GoogleAdsSearchads360V23Resources__LocalServicesLead", +"properties": { +"categoryId": { +"description": "Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", +"readOnly": true, +"type": "string" +}, +"contactDetails": { +"$ref": "GoogleAdsSearchads360V23Resources__ContactDetails", +"description": "Output only. Lead's contact details.", +"readOnly": true +}, +"creationDateTime": { +"description": "Output only. The date time at which lead was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"creditDetails": { +"$ref": "GoogleAdsSearchads360V23Resources__CreditDetails", +"description": "Output only. Credit details of the lead.", +"readOnly": true +}, +"id": { +"description": "Output only. ID of this Lead.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"leadCharged": { +"description": "Output only. True if the advertiser was charged for the lead.", +"readOnly": true, +"type": "boolean" +}, +"leadFeedbackSubmitted": { +"description": "Output only. True if the advertiser submitted feedback for the lead.", +"readOnly": true, +"type": "boolean" +}, +"leadStatus": { +"description": "Output only. Current status of lead.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"ACTIVE", +"BOOKED", +"DECLINED", +"EXPIRED", +"DISABLED", +"CONSUMER_DECLINED", +"WIPED_OUT" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"New lead which hasn't yet been seen by advertiser.", +"Lead that thas been interacted by advertiser.", +"Lead has been booked.", +"Lead was declined by advertiser.", +"Lead has expired due to inactivity.", +"Disabled due to spam or dispute.", +"Consumer declined the lead.", +"Personally Identifiable Information of the lead is wiped out." +], +"readOnly": true, +"type": "string" +}, +"leadType": { +"description": "Output only. Type of Local Services lead: phone, message, booking, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MESSAGE", +"PHONE_CALL", +"BOOKING" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Message lead.", +"Lead created by phone call.", +"Booking lead." +], +"readOnly": true, +"type": "string" +}, +"locale": { +"description": "Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales", +"readOnly": true, +"type": "string" +}, +"note": { +"$ref": "GoogleAdsSearchads360V23Resources__Note", +"description": "Output only. Note added by advertiser for the lead.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id}/localServicesLead/{local_services_lead_id}`", +"type": "string" +}, +"serviceId": { +"description": "Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation": { +"description": "Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads", +"id": "GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation", +"properties": { +"conversationChannel": { +"description": "Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EMAIL", +"MESSAGE", +"PHONE_CALL", +"SMS", +"BOOKING", +"WHATSAPP", +"ADS_API" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Email lead conversation.", +"Message lead conversation.", +"Phone call lead conversation.", +"SMS lead conversation.", +"Booking lead conversation.", +"WhatsApp lead conversation.", +"Lead conversation created through Google Ads API." +], +"readOnly": true, +"type": "string" +}, +"eventDateTime": { +"description": "Output only. The date time at which lead conversation was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID of this Lead Conversation.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"lead": { +"description": "Output only. Resource name of Lead associated to the Lead Conversation.", +"readOnly": true, +"type": "string" +}, +"messageDetails": { +"$ref": "GoogleAdsSearchads360V23Resources__MessageDetails", +"description": "Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS.", +"readOnly": true +}, +"participantType": { +"description": "Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER", +"CONSUMER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Local Services Ads Provider participant.", +"Local Services Ads Consumer participant." +], +"readOnly": true, +"type": "string" +}, +"phoneCallDetails": { +"$ref": "GoogleAdsSearchads360V23Resources__PhoneCallDetails", +"description": "Output only. Details of phone call conversation in case of PHONE_CALL.", +"readOnly": true +}, +"resourceName": { +"description": "Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocalServicesSettings": { +"description": "Settings for Local Services customer.", +"id": "GoogleAdsSearchads360V23Resources__LocalServicesSettings", +"properties": { +"granularInsuranceStatuses": { +"description": "Output only. A read-only list of geo vertical level insurance statuses.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__GranularInsuranceStatus" +}, +"readOnly": true, +"type": "array" +}, +"granularLicenseStatuses": { +"description": "Output only. A read-only list of geo vertical level license statuses.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__GranularLicenseStatus" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact": { +"description": "A local services verification resource.", +"id": "GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact", +"properties": { +"artifactType": { +"description": "Output only. The type of the verification artifact.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BACKGROUND_CHECK", +"INSURANCE", +"LICENSE", +"BUSINESS_REGISTRATION_CHECK" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Background check verification artifact.", +"Insurance verification artifact.", +"License verification artifact.", +"Business registration check verification artifact." +], +"readOnly": true, +"type": "string" +}, +"backgroundCheckVerificationArtifact": { +"$ref": "GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact", +"description": "Output only. A background check verification artifact.", +"readOnly": true +}, +"businessRegistrationCheckVerificationArtifact": { +"$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact", +"description": "Output only. A business registration check verification artifact.", +"readOnly": true +}, +"creationDateTime": { +"description": "Output only. The timestamp when this verification artifact was created. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the verification artifact.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"insuranceVerificationArtifact": { +"$ref": "GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact", +"description": "Output only. An insurance verification artifact.", +"readOnly": true +}, +"licenseVerificationArtifact": { +"$ref": "GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact", +"description": "Output only. A license verification artifact.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the verification artifact.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PASSED", +"FAILED", +"PENDING", +"NO_SUBMISSION", +"CANCELLED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Artifact has passed verification.", +"Artifact has failed verification.", +"Artifact is in the process of verification.", +"Artifact needs user to upload information before it is verified.", +"Artifact has been cancelled by the user." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocationInterestView": { +"description": "A location interest view summarizes the performance of adgroup location interest criteria.", +"id": "GoogleAdsSearchads360V23Resources__LocationInterestView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__LocationView": { +"description": "A location view summarizes the performance of campaigns by a Location criterion.", +"id": "GoogleAdsSearchads360V23Resources__LocationView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ManagedPlacementView": { +"description": "A managed placement view.", +"id": "GoogleAdsSearchads360V23Resources__ManagedPlacementView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MatchedLocationInterestView": { +"description": "A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns.", +"id": "GoogleAdsSearchads360V23Resources__MatchedLocationInterestView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MediaAudio": { +"description": "Encapsulates an Audio.", +"id": "GoogleAdsSearchads360V23Resources__MediaAudio", +"properties": { +"adDurationMillis": { +"description": "Output only. The duration of the Audio in milliseconds.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MediaBundle": { +"description": "Represents a ZIP archive media the content of which contains HTML5 assets.", +"id": "GoogleAdsSearchads360V23Resources__MediaBundle", +"properties": { +"data": { +"description": "Immutable. Raw zipped data.", +"format": "byte", +"type": "string" +}, +"url": { +"description": "Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MediaFile": { +"description": "A media file.", +"id": "GoogleAdsSearchads360V23Resources__MediaFile", +"properties": { +"audio": { +"$ref": "GoogleAdsSearchads360V23Resources__MediaAudio", +"description": "Output only. Encapsulates an Audio.", +"readOnly": true +}, +"fileSize": { +"description": "Output only. The size of the media file in bytes.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the media file.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"image": { +"$ref": "GoogleAdsSearchads360V23Resources__MediaImage", +"description": "Immutable. Encapsulates an Image." +}, +"mediaBundle": { +"$ref": "GoogleAdsSearchads360V23Resources__MediaBundle", +"description": "Immutable. A ZIP archive media the content of which contains HTML5 assets." +}, +"mimeType": { +"description": "Output only. The mime type of the media file.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IMAGE_JPEG", +"IMAGE_GIF", +"IMAGE_PNG", +"FLASH", +"TEXT_HTML", +"PDF", +"MSWORD", +"MSEXCEL", +"RTF", +"AUDIO_WAV", +"AUDIO_MP3", +"HTML5_AD_ZIP" +], +"enumDescriptions": [ +"The mime type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"MIME type of image/jpeg.", +"MIME type of image/gif.", +"MIME type of image/png.", +"MIME type of application/x-shockwave-flash.", +"MIME type of text/html.", +"MIME type of application/pdf.", +"MIME type of application/msword.", +"MIME type of application/vnd.ms-excel.", +"MIME type of application/rtf.", +"MIME type of audio/wav.", +"MIME type of audio/mp3.", +"MIME type of application/x-html5-ad-zip." +], +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id}/mediaFiles/{media_file_id}`", +"type": "string" +}, +"sourceUrl": { +"description": "Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.", +"type": "string" +}, +"type": { +"description": "Immutable. Type of the media file.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IMAGE", +"ICON", +"MEDIA_BUNDLE", +"AUDIO", +"VIDEO", +"DYNAMIC_IMAGE" +], +"enumDescriptions": [ +"The media type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"Static image, used for image ad.", +"Small image, used for map ad.", +"ZIP file, used in fields of template ads.", +"Audio file.", +"Video file.", +"Animated image, such as animated GIF." +], +"type": "string" +}, +"video": { +"$ref": "GoogleAdsSearchads360V23Resources__MediaVideo", +"description": "Immutable. Encapsulates a Video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MediaImage": { +"description": "Encapsulates an Image.", +"id": "GoogleAdsSearchads360V23Resources__MediaImage", +"properties": { +"data": { +"description": "Immutable. Raw image data.", +"format": "byte", +"type": "string" +}, +"fullSizeImageUrl": { +"description": "Output only. The url to the full size version of the image.", +"readOnly": true, +"type": "string" +}, +"previewSizeImageUrl": { +"description": "Output only. The url to the preview size version of the image.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MediaVideo": { +"description": "Encapsulates a Video.", +"id": "GoogleAdsSearchads360V23Resources__MediaVideo", +"properties": { +"adDurationMillis": { +"description": "Output only. The duration of the Video in milliseconds.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"advertisingIdCode": { +"description": "Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials.", +"readOnly": true, +"type": "string" +}, +"isciCode": { +"description": "Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.", +"readOnly": true, +"type": "string" +}, +"youtubeVideoId": { +"description": "Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix \"https://www.youtube.com/watch?v=\" to this ID will get the YouTube streaming URL for this video.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier": { +"description": "The identifier for Google Merchant Center account", +"id": "GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier", +"properties": { +"merchantCenterId": { +"description": "Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier": { +"description": "The identifier for Merchant Center Account.", +"id": "GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier", +"properties": { +"merchantCenterId": { +"description": "Output only. The Merchant Center id of the Merchant account. This field is read only", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MessageDetails": { +"description": "Represents details of text message in case of email, message or SMS.", +"id": "GoogleAdsSearchads360V23Resources__MessageDetails", +"properties": { +"attachmentUrls": { +"description": "Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"text": { +"description": "Output only. Textual content of the message.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant": { +"description": "A mobile application category constant.", +"id": "GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant", +"properties": { +"id": { +"description": "Output only. The ID of the mobile app category constant.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"name": { +"description": "Output only. Mobile app category name.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__MobileDeviceConstant": { +"description": "A mobile device constant.", +"id": "GoogleAdsSearchads360V23Resources__MobileDeviceConstant", +"properties": { +"id": { +"description": "Output only. The ID of the mobile device constant.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"manufacturerName": { +"description": "Output only. The manufacturer of the mobile device.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The name of the mobile device.", +"readOnly": true, +"type": "string" +}, +"operatingSystemName": { +"description": "Output only. The operating system of the mobile device.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id}`", +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of mobile device.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MOBILE", +"TABLET" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Mobile phones.", +"Tablets." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Note": { +"description": "Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description.", +"id": "GoogleAdsSearchads360V23Resources__Note", +"properties": { +"description": { +"description": "Output only. Content of lead note.", +"readOnly": true, +"type": "string" +}, +"editDateTime": { +"description": "Output only. The date time when lead note was edited. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineConversionAlert": { +"description": "Alert for offline conversion client summary.", +"id": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert", +"properties": { +"error": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionError", +"description": "Output only. Error for offline conversion client alert.", +"readOnly": true +}, +"errorPercentage": { +"description": "Output only. Percentage of the error, the range of this field should be [0, 1.0].", +"format": "double", +"readOnly": true, +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineConversionError": { +"description": "Possible errors for offline conversion client summary.", +"id": "GoogleAdsSearchads360V23Resources__OfflineConversionError", +"properties": { +"collectionSizeError": { +"description": "Output only. Collection size error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_FEW", +"TOO_MANY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Too few.", +"Too many." +], +"readOnly": true, +"type": "string" +}, +"conversionAdjustmentUploadError": { +"description": "Output only. Conversion adjustment upload error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_RECENT_CONVERSION_ACTION", +"CONVERSION_ALREADY_RETRACTED", +"CONVERSION_NOT_FOUND", +"CONVERSION_EXPIRED", +"ADJUSTMENT_PRECEDES_CONVERSION", +"MORE_RECENT_RESTATEMENT_FOUND", +"TOO_RECENT_CONVERSION", +"CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE", +"TOO_MANY_ADJUSTMENTS_IN_REQUEST", +"TOO_MANY_ADJUSTMENTS", +"RESTATEMENT_ALREADY_EXISTS", +"DUPLICATE_ADJUSTMENT_IN_REQUEST", +"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", +"CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT", +"INVALID_USER_IDENTIFIER", +"UNSUPPORTED_USER_IDENTIFIER", +"GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET", +"CONVERSION_ALREADY_ENHANCED", +"DUPLICATE_ENHANCEMENT_IN_REQUEST", +"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT", +"MISSING_ORDER_ID_FOR_WEBPAGE", +"ORDER_ID_CONTAINS_PII", +"INVALID_JOB_ID", +"NO_CONVERSION_ACTION_FOUND", +"INVALID_CONVERSION_ACTION_TYPE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Can't import events to a conversion action that was just created. Try importing again in 6 hours.", +"The conversion was already retracted. This adjustment was not processed.", +"The conversion for this conversion action and conversion identifier can't be found. Make sure your conversion identifiers are associated with the correct conversion action and try again.", +"Adjustment can't be made to a conversion that occurred more than 54 days ago.", +"Adjustment has an `adjustment_date_time` that occurred before the associated conversion. Make sure your `adjustment_date_time` is correct and try again.", +"More recent adjustment `adjustment_date_time` has already been reported for the associated conversion. Make sure your adjustment `adjustment_date_time` is correct and try again.", +"Adjustment can't be recorded because the conversion occurred too recently. Try adjusting a conversion that occurred at least 24 hours ago.", +"Can't make an adjustment to a conversion that is set up to use the default value. Check your conversion action value setting and try again.", +"Try uploading fewer than 2001 adjustments in a single API request.", +"The conversion has already been adjusted the maximum number of times. Make sure you're only making necessary adjustment to existing conversion.", +"The conversion has prior a restatement with the same `adjustment_date_time`. Make sure your adjustment has the correct and unique `adjustment_date_time` and try again.", +"Imported adjustment has a duplicate conversion adjustment with same `adjustment_date_time`. Make sure your adjustment has the correct `adjustment_date_time` and try again.", +"Make sure you agree to the customer data processing terms in conversion settings and try again.", +"Can't use enhanced conversions with the specified conversion action.", +"Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", +"Use user provided data such as emails or phone numbers hashed using SHA-256 and try again.", +"Cannot set both gclid_date_time_pair and order_id. Use only 1 type and try again.", +"Conversion already has enhancements with the same Order ID and conversion action. Make sure your data is correctly configured and try again.", +"Multiple enhancements have the same conversion action and Order ID. Make sure your data is correctly configured and try again.", +"Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", +"Adjustment for website conversion requires Order ID (ie, transaction ID). Make sure your website tags capture Order IDs and you send the same Order IDs with your adjustment.", +"Can't use adjustment with Order IDs containing personally-identifiable information (PII).", +"The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", +"The conversion action specified in the adjustment request cannot be found. Make sure it's available in this account.", +"The type of the conversion action specified in the adjustment request isn't supported for uploading adjustments. A conversion adjustment of type `RETRACTION` or `RESTATEMENT` is only permitted for conversion actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion adjustment of type `ENHANCEMENT` is only permitted for conversion actions of type `WEBPAGE`." +], +"readOnly": true, +"type": "string" +}, +"conversionUploadError": { +"description": "Output only. Conversion upload error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"TOO_MANY_CONVERSIONS_IN_REQUEST", +"UNPARSEABLE_GCLID", +"CONVERSION_PRECEDES_EVENT", +"EXPIRED_EVENT", +"TOO_RECENT_EVENT", +"EVENT_NOT_FOUND", +"UNAUTHORIZED_CUSTOMER", +"TOO_RECENT_CONVERSION_ACTION", +"CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME", +"EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", +"ORDER_ID_ALREADY_IN_USE", +"DUPLICATE_ORDER_ID", +"TOO_RECENT_CALL", +"EXPIRED_CALL", +"CALL_NOT_FOUND", +"CONVERSION_PRECEDES_CALL", +"CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME", +"UNPARSEABLE_CALLERS_PHONE_NUMBER", +"CLICK_CONVERSION_ALREADY_EXISTS", +"CALL_CONVERSION_ALREADY_EXISTS", +"DUPLICATE_CLICK_CONVERSION_IN_REQUEST", +"DUPLICATE_CALL_CONVERSION_IN_REQUEST", +"CUSTOM_VARIABLE_NOT_ENABLED", +"CUSTOM_VARIABLE_VALUE_CONTAINS_PII", +"INVALID_CUSTOMER_FOR_CLICK", +"INVALID_CUSTOMER_FOR_CALL", +"CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY", +"CLICK_NOT_FOUND", +"INVALID_USER_IDENTIFIER", +"EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER", +"UNSUPPORTED_USER_IDENTIFIER", +"GBRAID_WBRAID_BOTH_SET", +"UNPARSEABLE_WBRAID", +"UNPARSEABLE_GBRAID", +"ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", +"CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS", +"CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", +"ORDER_ID_CONTAINS_PII", +"CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS", +"INVALID_JOB_ID", +"NO_CONVERSION_ACTION_FOUND", +"INVALID_CONVERSION_ACTION_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"Used for return value only. Represents value unknown in this version.", +"Upload fewer than 2001 events in a single request.", +"The imported gclid could not be decoded.", +"The imported event has a `conversion_date_time` that precedes the click. Make sure your `conversion_date_time` is correct and try again.", +"The imported event can't be recorded because its click occurred before this conversion's click-through window. Make sure you import the most recent data.", +"The click associated with the given identifier or iOS URL parameter occurred less than 6 hours ago. Retry after 6 hours have passed.", +"The imported event could not be attributed to a click. This may be because the event did not come from a Google Ads campaign.", +"The click ID or call is associated with an Ads account you don't have access to. Make sure you import conversions for accounts managed by your manager account.", +"Can't import events to a conversion action that was just created. Try importing again in 6 hours.", +"At the time of the click, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", +"The imported event includes external attribution data, but the conversion action isn't set up to use an external attribution model. Make sure the conversion action is correctly configured and try again.", +"The conversion action is set up to use an external attribution model, but the imported event is missing data. Make sure imported events include the external attribution credit and all necessary fields.", +"Order IDs can't be used for a conversion measured with an external attribution model. Make sure the conversion is correctly configured and imported events include only necessary data and try again.", +"The imported event includes an order ID that was previously recorded, so the event was not processed.", +"Imported events include multiple conversions with the same order ID and were not processed. Make sure order IDs are unique and try again.", +"Can't import calls that occurred less than 6 hours ago. Try uploading again in 6 hours.", +"The call can't be recorded because it occurred before this conversion action's lookback window. Make sure your import is configured to get the most recent data.", +"The call or click leading to the imported event can't be found. Make sure your data source is set up to include correct identifiers.", +"The call has a `conversion_date_time` that precedes the associated click. Make sure your `conversion_date_time` is correct.", +"At the time of the imported call, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", +"Make sure phone numbers are formatted as E.164 (+16502531234), International (+64 3-331 6005), or US national number (6502531234).", +"The imported event has the same click and `conversion_date_time` as an existing conversion. Use a unique `conversion_date_time` or order ID for each unique event and try again.", +"The imported call has the same `conversion_date_time` as an existing conversion. Make sure your `conversion_date_time` correctly configured and try again.", +"Multiple events have the same click and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", +"Multiple events have the same call and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", +"Enable the custom variable in your conversion settings and try again.", +"Can't import events with custom variables containing personally-identifiable information (PII). Remove these variables and try again.", +"The click from the imported event is associated with a different Google Ads account. Make sure you're importing to the correct account.", +"The click from the call is associated with a different Google Ads account. Make sure you're importing to the correct account. Query conversion_tracking_setting.google_ads_conversion_customer on Customer to identify the correct account.", +"The connversion can't be imported because the conversion source didn't comply with Apple App Transparency Tracking (ATT) policies or because the customer didn't consent to tracking.", +"The email address or phone number for this event can't be matched to a click. This may be because it didn't come from a Google Ads campaign, and you can safely ignore this warning. If this includes more imported events than is expected, you may need to check your setup.", +"Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", +"User provided data can't be used with external attribution models. Use a different attribution model or omit user identifiers and try again.", +"The provided user identifiers are not supported. Use only hashed email or phone number and try again.", +"Can't use both gbraid and wbraid parameters. Use only 1 and try again.", +"Can't parse event import data. Check if your wbraid parameter was not modified and try again.", +"Can't parse event import data. Check if your gbraid parameter was not modified and try again.", +"Conversion actions that use one-per-click counting can't be used with gbraid or wbraid parameters.", +"Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", +"Make sure you agree to the customer data processing terms in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.accepted_customer_data_terms on Customer.", +"Can't import events with order IDs containing personally-identifiable information (PII).", +"Make sure you've turned on enhanced conversions for leads in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.enhanced_conversions_for_leads_enabled on Customer.", +"The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", +"The conversion action specified in the upload request cannot be found. Make sure it's available in this account.", +"The conversion action specified in the upload request isn't set up for uploading conversions." +], +"readOnly": true, +"type": "string" +}, +"dateError": { +"description": "Output only. Date error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INVALID_FIELD_VALUES_IN_DATE", +"INVALID_FIELD_VALUES_IN_DATE_TIME", +"INVALID_STRING_DATE", +"INVALID_STRING_DATE_TIME_MICROS", +"INVALID_STRING_DATE_TIME_SECONDS", +"INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", +"EARLIER_THAN_MINIMUM_DATE", +"LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", +"DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL", +"DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY", +"DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Given field values do not correspond to a valid date.", +"Given field values do not correspond to a valid date time.", +"The string date's format should be yyyy-mm-dd.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss.", +"The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", +"Date is before allowed minimum.", +"Date is after allowed maximum.", +"Date range bounds are not in order.", +"Both dates in range are null.", +"This campaign type doesn't support a start date time that isn't the start of the day.", +"This campaign type doesn't support an end date time that isn't the end of the day." +], +"readOnly": true, +"type": "string" +}, +"distinctError": { +"description": "Output only. Distinct error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DUPLICATE_ELEMENT", +"DUPLICATE_TYPE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Duplicate element.", +"Duplicate type." +], +"readOnly": true, +"type": "string" +}, +"fieldError": { +"description": "Output only. Field error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUIRED", +"IMMUTABLE_FIELD", +"INVALID_VALUE", +"VALUE_MUST_BE_UNSET", +"REQUIRED_NONEMPTY_LIST", +"FIELD_CANNOT_BE_CLEARED", +"BLOCKED_VALUE", +"FIELD_CAN_ONLY_BE_CLEARED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The required field was not present.", +"The field attempted to be mutated is immutable.", +"The field's value is invalid.", +"The field cannot be set.", +"The required repeated field was empty.", +"The field cannot be cleared.", +"The field's value is on a deny-list for this field.", +"The field's value cannot be modified, except for clearing." +], +"readOnly": true, +"type": "string" +}, +"mutateError": { +"description": "Output only. Mutate error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE_NOT_FOUND", +"ID_EXISTS_IN_MULTIPLE_MUTATES", +"INCONSISTENT_FIELD_VALUES", +"MUTATE_NOT_ALLOWED", +"RESOURCE_NOT_IN_GOOGLE_ADS", +"RESOURCE_ALREADY_EXISTS", +"RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY", +"OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE", +"RESOURCE_READ_ONLY", +"EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Requested resource was not found.", +"Cannot mutate the same resource twice in one request.", +"The field's contents don't match another field that represents the same data.", +"Mutates are not allowed for the requested resource.", +"The resource isn't in Google Ads. It belongs to another ads system.", +"The resource being created already exists.", +"This resource cannot be used with \"validate_only\".", +"This operation cannot be used with \"partial_failure\".", +"Attempt to write to read-only fields.", +"Mutates are generally not allowed if the customer contains non-exempt campaigns without the EU political advertising declaration." +], +"readOnly": true, +"type": "string" +}, +"notAllowlistedError": { +"description": "Output only. Not allowlisted error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"Customer is not allowlisted for accessing this feature." +], +"readOnly": true, +"type": "string" +}, +"stringFormatError": { +"description": "Output only. String format error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ILLEGAL_CHARS", +"INVALID_FORMAT" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The input string value contains disallowed characters.", +"The input string value is invalid for the associated field." +], +"readOnly": true, +"type": "string" +}, +"stringLengthError": { +"description": "Output only. String length error.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EMPTY", +"TOO_SHORT", +"TOO_LONG" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The specified field should have a least one non-whitespace character in it.", +"Too short.", +"Too long." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineConversionSummary": { +"description": "Historical upload summary, grouped by upload date or job.", +"id": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary", +"properties": { +"failedCount": { +"description": "Output only. Total count of failed event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"jobId": { +"description": "Output only. Dimension key for last N jobs.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"pendingCount": { +"description": "Output only. Total count of pending uploaded event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"successfulCount": { +"description": "Output only. Total count of successful event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"uploadDate": { +"description": "Output only. Dimension key for last N days.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary": { +"description": "Offline conversion upload summary at customer level.", +"id": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary", +"properties": { +"alerts": { +"description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert" +}, +"readOnly": true, +"type": "array" +}, +"client": { +"description": "Output only. Client type of the upload event.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_ADS_API", +"GOOGLE_ADS_WEB_CLIENT", +"ADS_DATA_CONNECTOR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Google Ads API.", +"Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.", +"Connection platform." +], +"readOnly": true, +"type": "string" +}, +"dailySummaries": { +"description": "Output only. Summary of history stats by last N days.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" +}, +"readOnly": true, +"type": "array" +}, +"jobSummaries": { +"description": "Output only. Summary of history stats by last N jobs.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" +}, +"readOnly": true, +"type": "array" +}, +"lastUploadDateTime": { +"description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account.", +"readOnly": true, +"type": "string" +}, +"pendingEventCount": { +"description": "Output only. Total count of pending uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"pendingRate": { +"description": "Output only. The ratio of total pending events to total events.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"resourceName": { +"description": "Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXCELLENT", +"GOOD", +"NEEDS_ATTENTION", +"NO_RECENT_UPLOAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Your offline data ingestion setup is active and optimal for downstream processing.", +"Your offline ingestion setup is active, but there are further improvements you could make. See alerts.", +"Your offline ingestion setup is active, but there are errors that require your attention. See alerts.", +"Your offline ingestion setup has not received data in the last 28 days, there may be something wrong." +], +"readOnly": true, +"type": "string" +}, +"successRate": { +"description": "Output only. Successful rate.", +"format": "double", +"readOnly": true, +"type": "number" +}, +"successfulEventCount": { +"description": "Output only. Total count of successful uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalEventCount": { +"description": "Output only. Total count of uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary": { +"description": "Offline conversion upload summary at conversion action level.", +"id": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary", +"properties": { +"alerts": { +"description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert" +}, +"readOnly": true, +"type": "array" +}, +"client": { +"description": "Output only. Client type of the upload event.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_ADS_API", +"GOOGLE_ADS_WEB_CLIENT", +"ADS_DATA_CONNECTOR" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Google Ads API.", +"Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.", +"Connection platform." +], +"readOnly": true, +"type": "string" +}, +"conversionActionId": { +"description": "Output only. Conversion action id.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"conversionActionName": { +"description": "Output only. The name of the conversion action.", +"readOnly": true, +"type": "string" +}, +"dailySummaries": { +"description": "Output only. Summary of history stats by last N days.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" +}, +"readOnly": true, +"type": "array" +}, +"jobSummaries": { +"description": "Output only. Summary of history stats by last N jobs.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" +}, +"readOnly": true, +"type": "array" +}, +"lastUploadDateTime": { +"description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account.", +"readOnly": true, +"type": "string" +}, +"pendingEventCount": { +"description": "Output only. Total count of pending uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXCELLENT", +"GOOD", +"NEEDS_ATTENTION", +"NO_RECENT_UPLOAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Your offline data ingestion setup is active and optimal for downstream processing.", +"Your offline ingestion setup is active, but there are further improvements you could make. See alerts.", +"Your offline ingestion setup is active, but there are errors that require your attention. See alerts.", +"Your offline ingestion setup has not received data in the last 28 days, there may be something wrong." +], +"readOnly": true, +"type": "string" +}, +"successfulEventCount": { +"description": "Output only. Total count of successful uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"totalEventCount": { +"description": "Output only. Total count of uploaded events.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineUserDataJob": { +"description": "A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using", +"id": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", +"properties": { +"customerMatchUserListMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", +"description": "Immutable. Metadata for data updates to a CRM-based user list." +}, +"externalId": { +"description": "Immutable. User specified job ID.", +"format": "int64", +"type": "string" +}, +"failureReason": { +"description": "Output only. Reason for the processing failure, if status is FAILED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INSUFFICIENT_MATCHED_TRANSACTIONS", +"INSUFFICIENT_TRANSACTIONS", +"HIGH_AVERAGE_TRANSACTION_VALUE", +"LOW_AVERAGE_TRANSACTION_VALUE", +"NEWLY_OBSERVED_CURRENCY_CODE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The matched transactions are insufficient.", +"The uploaded transactions are insufficient.", +"The average transaction value is unusually high for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value", +"The average transaction value is unusually low for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value", +"There's a currency code that you haven't used before in your uploads. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#Unrecognized_currency" +], +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. ID of this offline user data job.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"operationMetadata": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata", +"description": "Output only. Metadata of offline user data job depicting match rate range.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`", +"type": "string" +}, +"status": { +"description": "Output only. Status of the job.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING", +"RUNNING", +"SUCCESS", +"FAILED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The job has been successfully created and pending for uploading.", +"Upload(s) have been accepted and data is being processed.", +"Uploaded data has been successfully processed. The job might have no operations, which can happen if the job was run without any operations added, or if all operations failed validation individually when attempting to add them to the job.", +"Uploaded data has failed to be processed. Some operations may have been successfully processed." +], +"readOnly": true, +"type": "string" +}, +"storeSalesMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__StoreSalesMetadata", +"description": "Immutable. Metadata for store sales data update." +}, +"type": { +"description": "Immutable. Type of the job.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"STORE_SALES_UPLOAD_FIRST_PARTY", +"STORE_SALES_UPLOAD_THIRD_PARTY", +"CUSTOMER_MATCH_USER_LIST", +"CUSTOMER_MATCH_WITH_ATTRIBUTES" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Store Sales Direct data for self service.", +"Store Sales Direct data for third party.", +"Customer Match user list data.", +"Customer Match with attribute data." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata": { +"description": "Metadata of offline user data job.", +"id": "GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata", +"properties": { +"matchRateRange": { +"description": "Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is \"RUNNING\" and final match rate when the final match rate is available after the status of the job is \"SUCCESS/FAILED\".", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"MATCH_RANGE_LESS_THAN_20", +"MATCH_RANGE_20_TO_30", +"MATCH_RANGE_31_TO_40", +"MATCH_RANGE_41_TO_50", +"MATCH_RANGE_51_TO_60", +"MATCH_RANGE_61_TO_70", +"MATCH_RANGE_71_TO_80", +"MATCH_RANGE_81_TO_90", +"MATCH_RANGE_91_TO_100" +], +"enumDescriptions": [ +"Not specified.", +"Default value for match rate range.", +"Match rate range for offline data upload entity is between 0% and 19%.", +"Match rate range for offline data upload entity is between 20% and 30%.", +"Match rate range for offline data upload entity is between 31% and 40%.", +"Match rate range for offline data upload entity is between 41% and 50%.", +"Match rate range for offline data upload entity is between 51% and 60%.", +"Match rate range for offline data upload entity is between 61% and 70%.", +"Match rate range for offline data upload entity is between 71% and 80%.", +"Match rate range for offline data upload entity is between 81% and 90%.", +"Match rate range for offline data upload entity is more than or equal to 91%." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant": { +"description": "A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms", +"id": "GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant", +"properties": { +"id": { +"description": "Output only. The ID of the operating system version.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. Name of the operating system.", +"readOnly": true, +"type": "string" +}, +"operatorType": { +"description": "Output only. Determines whether this constant represents a single version or a range of versions.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EQUALS_TO", +"GREATER_THAN_EQUALS_TO" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Equals to the specified version.", +"Greater than or equals to the specified version." +], +"readOnly": true, +"type": "string" +}, +"osMajorVersion": { +"description": "Output only. The OS Major Version number.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"osMinorVersion": { +"description": "Output only. The OS Minor Version number.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"resourceName": { +"description": "Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView": { +"description": "A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level.", +"id": "GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ {ad_group_id}~{URL-base64 search term}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. The search term.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ParentalStatusView": { +"description": "A parental status view.", +"id": "GoogleAdsSearchads360V23Resources__ParentalStatusView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__PaymentsAccount": { +"description": "A payments account, which can be used to set up billing for an Ads customer.", +"id": "GoogleAdsSearchads360V23Resources__PaymentsAccount", +"properties": { +"currencyCode": { +"description": "Output only. The currency code of the payments account. A subset of the currency codes derived from the ISO 4217 standard is supported.", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "Output only. The name of the payments account.", +"readOnly": true, +"type": "string" +}, +"payingManagerCustomer": { +"description": "Output only. Paying manager of this payment account.", +"readOnly": true, +"type": "string" +}, +"paymentsAccountId": { +"description": "Output only. A 16 digit ID used to identify a payments account.", +"readOnly": true, +"type": "string" +}, +"paymentsProfileId": { +"description": "Output only. A 12 digit ID used to identify the payments profile associated with the payments account.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the payments account. PaymentsAccount resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}`", +"readOnly": true, +"type": "string" +}, +"secondaryPaymentsProfileId": { +"description": "Output only. A secondary payments profile ID present in uncommon situations, for example, when a sequential liability agreement has been arranged.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__PerStoreView": { +"description": "A per store view. This view provides per store impression reach and local action conversion stats for advertisers.", +"id": "GoogleAdsSearchads360V23Resources__PerStoreView", +"properties": { +"address1": { +"description": "Output only. First line of the store's address.", +"readOnly": true, +"type": "string" +}, +"address2": { +"description": "Output only. Second line of the store's address.", +"readOnly": true, +"type": "string" +}, +"businessName": { +"description": "Output only. The name of the business.", +"readOnly": true, +"type": "string" +}, +"city": { +"description": "Output only. The city where the store is located.", +"readOnly": true, +"type": "string" +}, +"countryCode": { +"description": "Output only. The two-letter country code for the store's location (e.g., \"US\").", +"readOnly": true, +"type": "string" +}, +"phoneNumber": { +"description": "Output only. The phone number of the store.", +"readOnly": true, +"type": "string" +}, +"placeId": { +"description": "Output only. The place ID of the per store view.", +"readOnly": true, +"type": "string" +}, +"postalCode": { +"description": "Output only. The postal code of the store's address.", +"readOnly": true, +"type": "string" +}, +"province": { +"description": "Output only. The province or state of the store's address.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id}/perStoreViews/{place_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView": { +"description": "A view with impression metrics for Performance Max campaign placements.", +"id": "GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView", +"properties": { +"displayName": { +"description": "Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", +"readOnly": true, +"type": "string" +}, +"placement": { +"description": "Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.", +"readOnly": true, +"type": "string" +}, +"placementType": { +"description": "Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEBSITE", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"GOOGLE_PRODUCTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Websites(for example, 'www.flowers4sale.com').", +"Mobile application categories(for example, 'Games').", +"mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", +"YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", +"YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", +"Surfaces owned and operated by Google(for example, 'tv.google.com')." +], +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}`", +"readOnly": true, +"type": "string" +}, +"targetUrl": { +"description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__PhoneCallDetails": { +"description": "Represents details of a phone call conversation.", +"id": "GoogleAdsSearchads360V23Resources__PhoneCallDetails", +"properties": { +"callDurationMillis": { +"description": "Output only. The duration (in milliseconds) of the phone call (end to end).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"callRecordingUrl": { +"description": "Output only. URL to the call recording audio file.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ProductCategoryConstant": { +"description": "A Product Category.", +"id": "GoogleAdsSearchads360V23Resources__ProductCategoryConstant", +"properties": { +"categoryId": { +"description": "Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"level": { +"description": "Output only. Level of the product category.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEVEL1", +"LEVEL2", +"LEVEL3", +"LEVEL4", +"LEVEL5" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Level 1.", +"Level 2.", +"Level 3.", +"Level 4.", +"Level 5." +], +"readOnly": true, +"type": "string" +}, +"localizations": { +"description": "Output only. List of all available localizations of the product category.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization" +}, +"readOnly": true, +"type": "array" +}, +"productCategoryConstantParent": { +"description": "Output only. Resource name of the parent product category.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level}~{category_id}`", +"readOnly": true, +"type": "string" +}, +"state": { +"description": "Output only. State of the product category.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"OBSOLETE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The category is enabled.", +"The category is obsolete. Used only for reporting purposes." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ProductGroupView": { +"description": "A product group view.", +"id": "GoogleAdsSearchads360V23Resources__ProductGroupView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ProductLink": { +"description": "Represents the data sharing connection between", +"id": "GoogleAdsSearchads360V23Resources__ProductLink", +"properties": { +"advertisingPartner": { +"$ref": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier", +"description": "Output only. Advertising Partner link.", +"readOnly": true +}, +"dataPartner": { +"$ref": "GoogleAdsSearchads360V23Resources__DataPartnerIdentifier", +"description": "Immutable. Data partner link." +}, +"googleAds": { +"$ref": "GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier", +"description": "Immutable. Google Ads link." +}, +"merchantCenter": { +"$ref": "GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier", +"description": "Immutable. Google Merchant Center link." +}, +"productLinkId": { +"description": "Output only. The ID of the link. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. Resource name of the product link. ProductLink resource names have the form: ` `", +"type": "string" +}, +"type": { +"description": "Output only. The type of the linked product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DATA_PARTNER", +"GOOGLE_ADS", +"HOTEL_CENTER", +"MERCHANT_CENTER", +"ADVERTISING_PARTNER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A link to Data partner.", +"A link to Google Ads.", +"A link to Hotel Center.", +"A link to Google Merchant Center.", +"A link to the Google Ads account of the advertising partner." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ProductLinkInvitation": { +"description": "Represents an invitation for data sharing connection between a Google Ads account and another account.", +"id": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", +"properties": { +"advertisingPartner": { +"$ref": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier", +"description": "Output only. Advertising Partner link invitation.", +"readOnly": true +}, +"hotelCenter": { +"$ref": "GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier", +"description": "Output only. Hotel link invitation.", +"readOnly": true +}, +"merchantCenter": { +"$ref": "GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier", +"description": "Output only. Merchant Center link invitation.", +"readOnly": true +}, +"productLinkInvitationId": { +"description": "Output only. The ID of the product link invitation. This field is read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of the product link invitation. This field is read only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCEPTED", +"REQUESTED", +"PENDING_APPROVAL", +"REVOKED", +"REJECTED", +"EXPIRED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The invitation is accepted.", +"An invitation has been sent to the other account. A user on the other account may now accept the invitation by setting the status to ACCEPTED.", +"This invitation has been sent by a user on the other account. It may be accepted by a user on this account by setting the status to ACCEPTED.", +"The invitation is revoked by the user who sent the invitation.", +"The invitation has been rejected by the invitee.", +"The invitation has timed out before being accepted by the invitee." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DATA_PARTNER", +"GOOGLE_ADS", +"HOTEL_CENTER", +"MERCHANT_CENTER", +"ADVERTISING_PARTNER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A link to Data partner.", +"A link to Google Ads.", +"A link to Hotel Center.", +"A link to Google Merchant Center.", +"A link to the Google Ads account of the advertising partner." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__QualifyingQuestion": { +"description": "Qualifying Questions for Lead Form.", +"id": "GoogleAdsSearchads360V23Resources__QualifyingQuestion", +"properties": { +"locale": { +"description": "Output only. The locale of the qualifying question.", +"readOnly": true, +"type": "string" +}, +"qualifyingQuestionId": { +"description": "Output only. The id of the qualifying question.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId}'", +"readOnly": true, +"type": "string" +}, +"text": { +"description": "Output only. The qualifying question.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Recommendation": { +"description": "A recommendation.", +"id": "GoogleAdsSearchads360V23Resources__Recommendation", +"properties": { +"adGroup": { +"description": "Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD", +"readOnly": true, +"type": "string" +}, +"callAssetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation", +"description": "Output only. The call asset recommendation.", +"readOnly": true +}, +"calloutAssetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation", +"description": "Output only. The callout asset recommendation.", +"readOnly": true +}, +"campaign": { +"description": "Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,", +"readOnly": true, +"type": "string" +}, +"campaignBudget": { +"description": "Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET", +"readOnly": true, +"type": "string" +}, +"campaignBudgetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", +"description": "Output only. The campaign budget recommendation.", +"readOnly": true +}, +"campaigns": { +"description": "Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"customAudienceOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation", +"description": "Output only. The custom audience opt in recommendation.", +"readOnly": true +}, +"dismissed": { +"description": "Output only. Whether the recommendation is dismissed or not.", +"readOnly": true, +"type": "boolean" +}, +"displayExpansionOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation", +"description": "Output only. The Display Expansion opt-in recommendation.", +"readOnly": true +}, +"dynamicImageExtensionOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation", +"description": "Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", +"readOnly": true +}, +"enhancedCpcOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation", +"description": "Output only. The Enhanced Cost-Per-Click Opt-In recommendation.", +"readOnly": true +}, +"forecastingCampaignBudgetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", +"description": "Output only. The forecasting campaign budget recommendation.", +"readOnly": true +}, +"forecastingSetTargetCpaRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", +"description": "Output only. The forecasting set target CPA recommendation.", +"readOnly": true +}, +"forecastingSetTargetRoasRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", +"description": "Output only. The forecasting set target ROAS recommendation.", +"readOnly": true +}, +"impact": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", +"description": "Output only. The impact on account performance as a result of applying the recommendation.", +"readOnly": true +}, +"improveDemandGenAdStrengthRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation", +"description": "Output only. The improve Demand Gen ad strength recommendation.", +"readOnly": true +}, +"improveGoogleTagCoverageRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation", +"description": "Output only. Recommendation to deploy Google Tag on more pages.", +"readOnly": true +}, +"improvePerformanceMaxAdStrengthRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation", +"description": "Output only. The improve Performance Max ad strength recommendation.", +"readOnly": true +}, +"keywordMatchTypeRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation", +"description": "Output only. The keyword match type recommendation.", +"readOnly": true +}, +"keywordRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation", +"description": "Output only. The keyword recommendation.", +"readOnly": true +}, +"leadFormAssetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation", +"description": "Output only. The lead form asset recommendation.", +"readOnly": true +}, +"lowerTargetRoasRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation", +"description": "Output only. Recommendation to lower Target ROAS.", +"readOnly": true +}, +"marginalRoiCampaignBudgetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", +"description": "Output only. The marginal ROI campaign budget recommendation.", +"readOnly": true +}, +"maximizeClicksOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation", +"description": "Output only. The MaximizeClicks Opt-In recommendation.", +"readOnly": true +}, +"maximizeConversionValueOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation", +"description": "Output only. The Maximize Conversion Value opt-in recommendation.", +"readOnly": true +}, +"maximizeConversionsOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation", +"description": "Output only. The MaximizeConversions Opt-In recommendation.", +"readOnly": true +}, +"migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation", +"description": "Output only. The Dynamic Search Ads to Performance Max migration recommendation.", +"readOnly": true +}, +"moveUnusedBudgetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation", +"description": "Output only. The move unused budget recommendation.", +"readOnly": true +}, +"optimizeAdRotationRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation", +"description": "Output only. The Optimize Ad Rotation recommendation.", +"readOnly": true +}, +"performanceMaxFinalUrlOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation", +"description": "Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.", +"readOnly": true +}, +"performanceMaxOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation", +"description": "Output only. The Performance Max Opt In recommendation.", +"readOnly": true +}, +"raiseTargetCpaBidTooLowRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation", +"description": "Output only. The raise target CPA bid too low recommendation.", +"readOnly": true +}, +"raiseTargetCpaRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation", +"description": "Output only. Recommendation to raise Target CPA.", +"readOnly": true +}, +"refreshCustomerMatchListRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation", +"description": "Output only. The refresh customer list recommendation.", +"readOnly": true +}, +"resourceName": { +"description": "Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`", +"type": "string" +}, +"responsiveSearchAdAssetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation", +"description": "Output only. The responsive search ad asset recommendation.", +"readOnly": true +}, +"responsiveSearchAdImproveAdStrengthRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation", +"description": "Output only. The responsive search ad improve ad strength recommendation.", +"readOnly": true +}, +"responsiveSearchAdRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation", +"description": "Output only. The add responsive search ad recommendation.", +"readOnly": true +}, +"searchPartnersOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation", +"description": "Output only. The Search Partners Opt-In recommendation.", +"readOnly": true +}, +"setTargetCpaRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", +"description": "Output only. The set target CPA recommendation.", +"readOnly": true +}, +"setTargetRoasRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", +"description": "Output only. The set target ROAS recommendation.", +"readOnly": true +}, +"shoppingAddAgeGroupRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add age group recommendation.", +"readOnly": true +}, +"shoppingAddColorRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add color recommendation.", +"readOnly": true +}, +"shoppingAddGenderRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add gender recommendation.", +"readOnly": true +}, +"shoppingAddGtinRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add GTIN recommendation.", +"readOnly": true +}, +"shoppingAddMoreIdentifiersRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add more identifiers recommendation.", +"readOnly": true +}, +"shoppingAddProductsToCampaignRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation", +"description": "Output only. The shopping add products to campaign recommendation.", +"readOnly": true +}, +"shoppingAddSizeRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", +"description": "Output only. The shopping add size recommendation.", +"readOnly": true +}, +"shoppingFixDisapprovedProductsRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation", +"description": "Output only. The shopping fix disapproved products recommendation.", +"readOnly": true +}, +"shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", +"description": "Output only. The shopping fix Merchant Center account suspension warning recommendation.", +"readOnly": true +}, +"shoppingFixSuspendedMerchantCenterAccountRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", +"description": "Output only. The shopping fix suspended Merchant Center account recommendation.", +"readOnly": true +}, +"shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation", +"description": "Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.", +"readOnly": true +}, +"shoppingTargetAllOffersRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation", +"description": "Output only. The shopping target all offers recommendation.", +"readOnly": true +}, +"sitelinkAssetRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation", +"description": "Output only. The sitelink asset recommendation.", +"readOnly": true +}, +"targetCpaOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation", +"description": "Output only. The TargetCPA opt-in recommendation.", +"readOnly": true +}, +"targetRoasOptInRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation", +"description": "Output only. The Target ROAS opt-in recommendation.", +"readOnly": true +}, +"textAdRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation", +"description": "Output only. Add expanded text ad recommendation.", +"readOnly": true +}, +"type": { +"description": "Output only. The type of recommendation.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BUDGET", +"KEYWORD", +"TEXT_AD", +"TARGET_CPA_OPT_IN", +"MAXIMIZE_CONVERSIONS_OPT_IN", +"ENHANCED_CPC_OPT_IN", +"SEARCH_PARTNERS_OPT_IN", +"MAXIMIZE_CLICKS_OPT_IN", +"OPTIMIZE_AD_ROTATION", +"KEYWORD_MATCH_TYPE", +"MOVE_UNUSED_BUDGET", +"FORECASTING_CAMPAIGN_BUDGET", +"TARGET_ROAS_OPT_IN", +"RESPONSIVE_SEARCH_AD", +"MARGINAL_ROI_CAMPAIGN_BUDGET", +"USE_BROAD_MATCH_KEYWORD", +"RESPONSIVE_SEARCH_AD_ASSET", +"UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", +"RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", +"DISPLAY_EXPANSION_OPT_IN", +"UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", +"RAISE_TARGET_CPA_BID_TOO_LOW", +"FORECASTING_SET_TARGET_ROAS", +"CALLOUT_ASSET", +"SITELINK_ASSET", +"CALL_ASSET", +"SHOPPING_ADD_AGE_GROUP", +"SHOPPING_ADD_COLOR", +"SHOPPING_ADD_GENDER", +"SHOPPING_ADD_GTIN", +"SHOPPING_ADD_MORE_IDENTIFIERS", +"SHOPPING_ADD_SIZE", +"SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", +"SHOPPING_FIX_DISAPPROVED_PRODUCTS", +"SHOPPING_TARGET_ALL_OFFERS", +"SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", +"SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", +"SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", +"DYNAMIC_IMAGE_EXTENSION_OPT_IN", +"RAISE_TARGET_CPA", +"LOWER_TARGET_ROAS", +"PERFORMANCE_MAX_OPT_IN", +"IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", +"MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", +"FORECASTING_SET_TARGET_CPA", +"SET_TARGET_CPA", +"SET_TARGET_ROAS", +"MAXIMIZE_CONVERSION_VALUE_OPT_IN", +"IMPROVE_GOOGLE_TAG_COVERAGE", +"PERFORMANCE_MAX_FINAL_URL_OPT_IN", +"REFRESH_CUSTOMER_MATCH_LIST", +"CUSTOM_AUDIENCE_OPT_IN", +"LEAD_FORM_ASSET", +"IMPROVE_DEMAND_GEN_AD_STRENGTH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Provides optimized budget recommendations for campaigns.", +"Keyword recommendation.", +"Recommendation to add a new text ad.", +"Recommendation to update a campaign to use a Target CPA bidding strategy.", +"Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", +"Recommendation to enable Enhanced Cost Per Click for a campaign.", +"Recommendation to start showing your campaign's ads on Google Search Partners Websites.", +"Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", +"Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", +"Recommendation to change an existing keyword from one match type to a broader match type.", +"Recommendation to move unused budget from one budget to a constrained budget.", +"Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", +"Recommendation to update a campaign to use a Target ROAS bidding strategy.", +"Recommendation to add a new responsive search ad.", +"Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", +"Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", +"Recommendation to add new responsive search ad assets.", +"Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", +"Recommendation to improve strength of responsive search ad.", +"Recommendation to update a campaign to use Display Expansion.", +"Recommendation to upgrade a Local campaign to a Performance Max campaign.", +"Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", +"Recommendation to add callout assets to campaign or customer level.", +"Recommendation to add sitelink assets to campaign or customer level.", +"Recommendation to add call assets to campaign or customer level.", +"Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", +"Recommendation to add a color to offers that are demoted because of a missing color.", +"Recommendation to add a gender to offers that are demoted because of a missing gender.", +"Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", +"Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", +"Recommendation to add the size to offers that are demoted because of a missing size.", +"Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", +"The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", +"Recommendation to create a catch-all campaign that targets all offers.", +"Recommendation to fix Merchant Center account suspension issues.", +"Recommendation to fix Merchant Center account suspension warning issues.", +"Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", +"Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", +"Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to lower Target ROAS.", +"Recommendation to opt into Performance Max campaigns.", +"Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", +"Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", +"Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", +"Recommendation to set a target CPA for campaigns that do not have one specified.", +"Recommendation to set a target ROAS for campaigns that do not have one specified.", +"Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", +"Recommendation to deploy Google Tag on more pages.", +"Recommendation to turn on Final URL expansion for your Performance Max campaigns.", +"Recommendation to update a customer list that hasn't been updated in the last 90 days.", +"Recommendation to create a custom audience.", +"Recommendation to add lead form assets to campaign or customer level.", +"Recommendation to improve the strength of ads in Demand Gen campaigns." +], +"readOnly": true, +"type": "string" +}, +"upgradeLocalCampaignToPerformanceMaxRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation", +"description": "Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.", +"readOnly": true +}, +"upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation", +"description": "Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.", +"readOnly": true +}, +"useBroadMatchKeywordRecommendation": { +"$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation", +"description": "Output only. The use broad match keyword recommendation.", +"readOnly": true +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__RecommendationSubscription": { +"description": "Recommendation Subscription resource", +"id": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", +"properties": { +"createDateTime": { +"description": "Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +}, +"modifyDateTime": { +"description": "Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`", +"type": "string" +}, +"status": { +"description": "Required. Status of the subscription, either enabled or paused.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"PAUSED" +], +"enumDescriptions": [ +"Not specified.", +"Output-only. Represents a format not yet defined in this enum.", +"A subscription in the enabled state will automatically apply any recommendations of that type.", +"Recommendations of the relevant type will not be automatically applied. Subscriptions cannot be deleted. Once created, they can only move between enabled and paused states." +], +"type": "string" +}, +"type": { +"description": "Required. Immutable. The type of recommendation subscribed to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BUDGET", +"KEYWORD", +"TEXT_AD", +"TARGET_CPA_OPT_IN", +"MAXIMIZE_CONVERSIONS_OPT_IN", +"ENHANCED_CPC_OPT_IN", +"SEARCH_PARTNERS_OPT_IN", +"MAXIMIZE_CLICKS_OPT_IN", +"OPTIMIZE_AD_ROTATION", +"KEYWORD_MATCH_TYPE", +"MOVE_UNUSED_BUDGET", +"FORECASTING_CAMPAIGN_BUDGET", +"TARGET_ROAS_OPT_IN", +"RESPONSIVE_SEARCH_AD", +"MARGINAL_ROI_CAMPAIGN_BUDGET", +"USE_BROAD_MATCH_KEYWORD", +"RESPONSIVE_SEARCH_AD_ASSET", +"UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", +"RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", +"DISPLAY_EXPANSION_OPT_IN", +"UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", +"RAISE_TARGET_CPA_BID_TOO_LOW", +"FORECASTING_SET_TARGET_ROAS", +"CALLOUT_ASSET", +"SITELINK_ASSET", +"CALL_ASSET", +"SHOPPING_ADD_AGE_GROUP", +"SHOPPING_ADD_COLOR", +"SHOPPING_ADD_GENDER", +"SHOPPING_ADD_GTIN", +"SHOPPING_ADD_MORE_IDENTIFIERS", +"SHOPPING_ADD_SIZE", +"SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", +"SHOPPING_FIX_DISAPPROVED_PRODUCTS", +"SHOPPING_TARGET_ALL_OFFERS", +"SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", +"SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", +"SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", +"DYNAMIC_IMAGE_EXTENSION_OPT_IN", +"RAISE_TARGET_CPA", +"LOWER_TARGET_ROAS", +"PERFORMANCE_MAX_OPT_IN", +"IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", +"MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", +"FORECASTING_SET_TARGET_CPA", +"SET_TARGET_CPA", +"SET_TARGET_ROAS", +"MAXIMIZE_CONVERSION_VALUE_OPT_IN", +"IMPROVE_GOOGLE_TAG_COVERAGE", +"PERFORMANCE_MAX_FINAL_URL_OPT_IN", +"REFRESH_CUSTOMER_MATCH_LIST", +"CUSTOM_AUDIENCE_OPT_IN", +"LEAD_FORM_ASSET", +"IMPROVE_DEMAND_GEN_AD_STRENGTH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Provides optimized budget recommendations for campaigns.", +"Keyword recommendation.", +"Recommendation to add a new text ad.", +"Recommendation to update a campaign to use a Target CPA bidding strategy.", +"Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", +"Recommendation to enable Enhanced Cost Per Click for a campaign.", +"Recommendation to start showing your campaign's ads on Google Search Partners Websites.", +"Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", +"Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", +"Recommendation to change an existing keyword from one match type to a broader match type.", +"Recommendation to move unused budget from one budget to a constrained budget.", +"Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", +"Recommendation to update a campaign to use a Target ROAS bidding strategy.", +"Recommendation to add a new responsive search ad.", +"Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", +"Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", +"Recommendation to add new responsive search ad assets.", +"Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", +"Recommendation to improve strength of responsive search ad.", +"Recommendation to update a campaign to use Display Expansion.", +"Recommendation to upgrade a Local campaign to a Performance Max campaign.", +"Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", +"Recommendation to add callout assets to campaign or customer level.", +"Recommendation to add sitelink assets to campaign or customer level.", +"Recommendation to add call assets to campaign or customer level.", +"Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", +"Recommendation to add a color to offers that are demoted because of a missing color.", +"Recommendation to add a gender to offers that are demoted because of a missing gender.", +"Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", +"Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", +"Recommendation to add the size to offers that are demoted because of a missing size.", +"Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", +"The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", +"Recommendation to create a catch-all campaign that targets all offers.", +"Recommendation to fix Merchant Center account suspension issues.", +"Recommendation to fix Merchant Center account suspension warning issues.", +"Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", +"Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", +"Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to lower Target ROAS.", +"Recommendation to opt into Performance Max campaigns.", +"Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", +"Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", +"Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", +"Recommendation to set a target CPA for campaigns that do not have one specified.", +"Recommendation to set a target ROAS for campaigns that do not have one specified.", +"Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", +"Recommendation to deploy Google Tag on more pages.", +"Recommendation to turn on Final URL expansion for your Performance Max campaigns.", +"Recommendation to update a customer list that hasn't been updated in the last 90 days.", +"Recommendation to create a custom audience.", +"Recommendation to add lead form assets to campaign or customer level.", +"Recommendation to improve the strength of ads in Demand Gen campaigns." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__RemarketingAction": { +"description": "A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website.", +"id": "GoogleAdsSearchads360V23Resources__RemarketingAction", +"properties": { +"id": { +"description": "Output only. Id of the remarketing action.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.", +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`", +"type": "string" +}, +"tagSnippets": { +"description": "Output only. The snippets used for tracking remarketing actions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__TagSnippet" +}, +"readOnly": true, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__RemarketingSetting": { +"description": "Remarketing setting for a customer.", +"id": "GoogleAdsSearchads360V23Resources__RemarketingSetting", +"properties": { +"googleGlobalSiteTag": { +"description": "Output only. The Google tag.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Residency": { +"description": "Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician.", +"id": "GoogleAdsSearchads360V23Resources__Residency", +"properties": { +"completionYear": { +"description": "Output only. Year of completion.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"institutionName": { +"description": "Output only. Name of the institution at which the residency was completed.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SearchAds360Campaign": { +"description": "A Search Ads 360 campaign.", +"id": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", +"properties": { +"productAttributionFilterType": { +"description": "The type of product attribution filtering to apply to this campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INHERIT", +"MANUAL", +"AUTO_BRAND" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Inherit the filter type from a parent or default configuration.", +"Manually configure/manage the filter. This requires additional configuration at the campaign level.", +"Automatically determine and manage the Brand filter through the external API." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SearchAds360Field": { +"description": "A field or resource (artifact) used by SearchAds360Service.", +"id": "GoogleAdsSearchads360V23Resources__SearchAds360Field", +"properties": { +"attributeResources": { +"description": "Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"category": { +"description": "Output only. The category of the artifact.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"RESOURCE", +"ATTRIBUTE", +"SEGMENT", +"METRIC" +], +"enumDescriptions": [ +"Unspecified", +"Unknown", +"The described artifact is a resource.", +"The described artifact is a field and is an attribute of a resource. Including a resource attribute field in a query may segment the query if the resource to which it is attributed segments the resource found in the FROM clause.", +"The described artifact is a field and always segments search queries.", +"The described artifact is a field and is a metric. It never segments search queries." +], +"readOnly": true, +"type": "string" +}, +"dataType": { +"description": "Output only. This field determines the operators that can be used with the artifact in WHERE clauses.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"BOOLEAN", +"DATE", +"DOUBLE", +"ENUM", +"FLOAT", +"INT32", +"INT64", +"MESSAGE", +"RESOURCE_NAME", +"STRING", +"UINT64" +], +"enumDescriptions": [ +"Unspecified", +"Unknown", +"Maps to google.protobuf.BoolValue Applicable operators: =, !=", +"Maps to google.protobuf.StringValue. It can be compared using the set of operators specific to dates however. Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN", +"Maps to google.protobuf.DoubleValue Applicable operators: =, !=, <, >, IN, NOT IN", +"Maps to an enum. It's specific definition can be found at type_url. Applicable operators: =, !=, IN, NOT IN", +"Maps to google.protobuf.FloatValue Applicable operators: =, !=, <, >, IN, NOT IN", +"Maps to google.protobuf.Int32Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN", +"Maps to google.protobuf.Int64Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN", +"Maps to a protocol buffer message type. The data type's details can be found in type_url. No operators work with MESSAGE fields.", +"Maps to google.protobuf.StringValue. Represents the resource name (unique id) of a resource or one of its foreign keys. No operators work with RESOURCE_NAME fields.", +"Maps to google.protobuf.StringValue. Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN", +"Maps to google.protobuf.UInt64Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN" +], +"readOnly": true, +"type": "string" +}, +"enumValues": { +"description": "Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"filterable": { +"description": "Output only. Whether the artifact can be used in a WHERE clause in search queries.", +"readOnly": true, +"type": "boolean" +}, +"isRepeated": { +"description": "Output only. Whether the field artifact is repeated.", +"readOnly": true, +"type": "boolean" +}, +"metrics": { +"description": "Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"name": { +"description": "Output only. The name of the artifact.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name}`", +"readOnly": true, +"type": "string" +}, +"segments": { +"description": "Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"selectable": { +"description": "Output only. Whether the artifact can be used in a SELECT clause in search queries.", +"readOnly": true, +"type": "boolean" +}, +"selectableWith": { +"description": "Output only. The names of all resources, segments, and metrics that are selectable with the described artifact.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"sortable": { +"description": "Output only. Whether the artifact can be used in a ORDER BY clause in search queries.", +"readOnly": true, +"type": "boolean" +}, +"typeUrl": { +"description": "Output only. The URL of proto describing the artifact's data type.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SearchTermView": { +"description": "A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead.", +"id": "GoogleAdsSearchads360V23Resources__SearchTermView", +"properties": { +"adGroup": { +"description": "Output only. The ad group the search term served in.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. The search term.", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADDED", +"EXCLUDED", +"ADDED_EXCLUDED", +"NONE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search term is added to targeted keywords.", +"Search term matches a negative keyword.", +"Search term has been both added and excluded.", +"Search term is neither targeted nor excluded." +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SharedCriterion": { +"description": "A criterion belonging to a shared set.", +"id": "GoogleAdsSearchads360V23Resources__SharedCriterion", +"properties": { +"brand": { +"$ref": "GoogleAdsSearchads360V23Common__BrandInfo", +"description": "Immutable. Brand." +}, +"criterionId": { +"description": "Output only. The ID of the criterion. This field is ignored for mutates.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Immutable. Keyword." +}, +"mobileAppCategory": { +"$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", +"description": "Immutable. Mobile App Category." +}, +"mobileApplication": { +"$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", +"description": "Immutable. Mobile application." +}, +"negative": { +"description": "Immutable. If true, the criterion is excluded. If false, the criterion is targeted.", +"type": "boolean" +}, +"placement": { +"$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", +"description": "Immutable. Placement." +}, +"resourceName": { +"description": "Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`", +"type": "string" +}, +"sharedSet": { +"description": "Immutable. The shared set to which the shared criterion belongs.", +"type": "string" +}, +"type": { +"description": "Output only. The type of the criterion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD", +"PLACEMENT", +"MOBILE_APP_CATEGORY", +"MOBILE_APPLICATION", +"DEVICE", +"LOCATION", +"LISTING_GROUP", +"AD_SCHEDULE", +"AGE_RANGE", +"GENDER", +"INCOME_RANGE", +"PARENTAL_STATUS", +"YOUTUBE_VIDEO", +"YOUTUBE_CHANNEL", +"USER_LIST", +"PROXIMITY", +"TOPIC", +"LISTING_SCOPE", +"LANGUAGE", +"IP_BLOCK", +"CONTENT_LABEL", +"CARRIER", +"USER_INTEREST", +"WEBPAGE", +"OPERATING_SYSTEM_VERSION", +"APP_PAYMENT_MODEL", +"MOBILE_DEVICE", +"CUSTOM_AFFINITY", +"CUSTOM_INTENT", +"LOCATION_GROUP", +"CUSTOM_AUDIENCE", +"COMBINED_AUDIENCE", +"KEYWORD_THEME", +"AUDIENCE", +"NEGATIVE_KEYWORD_LIST", +"LOCAL_SERVICE_ID", +"SEARCH_THEME", +"BRAND", +"BRAND_LIST", +"LIFE_EVENT", +"WEBPAGE_LIST", +"VIDEO_LINEUP", +"PLACEMENT_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST", +"VERTICAL_ADS_ITEM_GROUP_RULE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Keyword, for example, 'mars cruise'.", +"Placement, also known as Website, for example, 'www.flowers4sale.com'", +"Mobile application categories to target.", +"Mobile applications to target.", +"Devices to target.", +"Locations to target.", +"Listing groups to target.", +"Ad Schedule.", +"Age range.", +"Gender.", +"Income Range.", +"Parental status.", +"YouTube Video.", +"YouTube Channel.", +"User list.", +"Proximity.", +"A topic target on the display network (for example, \"Pets & Animals\").", +"Listing scope to target.", +"Language.", +"IpBlock.", +"Content Label for category exclusion.", +"Carrier.", +"A category the user is interested in.", +"Webpage criterion for dynamic search ads.", +"Operating system version.", +"App payment model.", +"Mobile device.", +"Custom affinity.", +"Custom intent.", +"Location group.", +"Custom audience", +"Combined audience", +"Smart Campaign keyword theme", +"Audience", +"Negative Keyword List", +"Local Services Ads Service ID.", +"Search Theme.", +"Brand", +"Brand List", +"Life Event", +"Webpage List", +"Video lineup", +"Placement List", +"A list of rules for item groups in Vertical Ads.", +"A rule for an item group in Vertical Ads." +], +"readOnly": true, +"type": "string" +}, +"verticalAdsItemGroupRule": { +"$ref": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo", +"description": "Immutable. Vertical ads item group rule." +}, +"webpage": { +"$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", +"description": "Immutable. Webpage." +}, +"youtubeChannel": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", +"description": "Immutable. YouTube Channel." +}, +"youtubeVideo": { +"$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", +"description": "Immutable. YouTube Video." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SharedSet": { +"description": "SharedSets are used for sharing criterion exclusions across multiple campaigns.", +"id": "GoogleAdsSearchads360V23Resources__SharedSet", +"properties": { +"id": { +"description": "Output only. The ID of this shared set. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"memberCount": { +"description": "Output only. The number of shared criteria within this shared set. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"name": { +"description": "The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.", +"type": "string" +}, +"referenceCount": { +"description": "Output only. The number of campaigns associated with this shared set. Read only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`", +"type": "string" +}, +"status": { +"description": "Output only. The status of this shared set. Read only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"REMOVED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The shared set is enabled.", +"The shared set is removed and can no longer be used." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEGATIVE_KEYWORDS", +"NEGATIVE_PLACEMENTS", +"ACCOUNT_LEVEL_NEGATIVE_KEYWORDS", +"BRANDS", +"WEBPAGES", +"VERTICAL_ADS_ITEM_GROUP_RULE_LIST" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"A set of keywords that can be excluded from targeting.", +"A set of placements that can be excluded from targeting.", +"An account-level set of keywords that can be excluded from targeting.", +"A set of brands can be included or excluded from targeting.", +"A set of webpages that can be excluded from targeting. This shared set type is not publicly available.", +"A set of vertical ads item group rules that can be included or excluded from targeting in Vertical Ads (e.g., for hotel ads)." +], +"type": "string" +}, +"verticalAdsItemVerticalType": { +"description": "Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HOTELS", +"VACATION_RENTALS", +"RENTAL_CARS", +"EVENTS", +"THINGS_TO_DO", +"FLIGHTS" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Hotels travel vertical.", +"Vacation rentals travel vertical.", +"Rental cars travel vertical.", +"Events travel vertical.", +"Things to do travel vertical.", +"Flights travel vertical." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ShoppingPerformanceView": { +"description": "Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from \"Product attributes\" in the report editor. For example, selecting the \"Brand\" column is equivalent to selecting `segments.product_brand`.", +"id": "GoogleAdsSearchads360V23Resources__ShoppingPerformanceView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id}/shoppingPerformanceView`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ShoppingProduct": { +"description": "A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed.", +"id": "GoogleAdsSearchads360V23Resources__ShoppingProduct", +"properties": { +"adGroup": { +"description": "Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`.", +"readOnly": true, +"type": "string" +}, +"availability": { +"description": "Output only. The availability of the product as provided by the merchant.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"IN_STOCK", +"OUT_OF_STOCK", +"PREORDER" +], +"enumDescriptions": [ +"Enum unspecified.", +"Used for return value only. Represents values unknown in this version.", +"The product is in stock.", +"The product is out of stock.", +"The product can be preordered." +], +"readOnly": true, +"type": "string" +}, +"brand": { +"description": "Output only. The brand of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"campaign": { +"description": "Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.", +"readOnly": true, +"type": "string" +}, +"categoryLevel1": { +"description": "Output only. The category level 1 of the product.", +"readOnly": true, +"type": "string" +}, +"categoryLevel2": { +"description": "Output only. The category level 2 of the product.", +"readOnly": true, +"type": "string" +}, +"categoryLevel3": { +"description": "Output only. The category level 3 of the product.", +"readOnly": true, +"type": "string" +}, +"categoryLevel4": { +"description": "Output only. The category level 4 of the product.", +"readOnly": true, +"type": "string" +}, +"categoryLevel5": { +"description": "Output only. The category level 5 of the product.", +"readOnly": true, +"type": "string" +}, +"channel": { +"description": "Output only. The product channel describing the locality of the product.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"readOnly": true, +"type": "string" +}, +"channelExclusivity": { +"description": "Output only. The channel exclusivity of the product as provided by the merchant.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SINGLE_CHANNEL", +"MULTI_CHANNEL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", +"The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." +], +"readOnly": true, +"type": "string" +}, +"condition": { +"description": "Output only. The condition of the product as provided by the merchant.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NEW", +"REFURBISHED", +"USED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The product condition is new.", +"The product condition is refurbished.", +"The product condition is used." +], +"readOnly": true, +"type": "string" +}, +"currencyCode": { +"description": "Output only. The currency code as provided by the merchant, in ISO 4217 format.", +"readOnly": true, +"type": "string" +}, +"customAttribute0": { +"description": "Output only. The custom attribute 0 of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"customAttribute1": { +"description": "Output only. The custom attribute 1 of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"customAttribute2": { +"description": "Output only. The custom attribute 2 of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"customAttribute3": { +"description": "Output only. The custom attribute 3 of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"customAttribute4": { +"description": "Output only. The custom attribute 4 of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"effectiveMaxCpcMicros": { +"description": "Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"feedLabel": { +"description": "Output only. The product feed label as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"issues": { +"description": "Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue" +}, +"readOnly": true, +"type": "array" +}, +"itemId": { +"description": "Output only. The item id of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"languageCode": { +"description": "Output only. The language code as provided by the merchant, in BCP 47 format.", +"readOnly": true, +"type": "string" +}, +"merchantCenterId": { +"description": "Output only. The id of the merchant that owns the product.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"multiClientAccountId": { +"description": "Output only. The id of the Multi Client Account of the merchant, if present.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"priceMicros": { +"description": "Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000).", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"productImageUri": { +"description": "Output only. The URI of the product image as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"productTypeLevel1": { +"description": "Output only. The product type level 1 as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"productTypeLevel2": { +"description": "Output only. The product type level 2 as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"productTypeLevel3": { +"description": "Output only. The product type level 3 as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"productTypeLevel4": { +"description": "Output only. The product type level 4 as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"productTypeLevel5": { +"description": "Output only. The product type level 5 as provided by the merchant.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}`", +"readOnly": true, +"type": "string" +}, +"status": { +"description": "Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_ELIGIBLE", +"ELIGIBLE_LIMITED", +"ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents values unknown in this version.", +"The product cannot show in ads.", +"The product can show in ads but may be limited in where and when it can show due to identified issues.", +"The product can show in ads." +], +"readOnly": true, +"type": "string" +}, +"targetCountries": { +"description": "Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"title": { +"description": "Output only. The title of the product as provided by the merchant.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView": { +"description": "A Smart campaign search term view.", +"id": "GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView", +"properties": { +"campaign": { +"description": "Output only. The Smart campaign the search term served in.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`", +"readOnly": true, +"type": "string" +}, +"searchTerm": { +"description": "Output only. The search term.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__SmartCampaignSetting": { +"description": "Settings for configuring Smart campaigns.", +"id": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", +"properties": { +"adOptimizedBusinessProfileSetting": { +"$ref": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting", +"description": "Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068." +}, +"advertisingLanguageCode": { +"description": "The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).", +"type": "string" +}, +"businessName": { +"description": "The name of the business.", +"type": "string" +}, +"businessProfileLocation": { +"description": "The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.", +"type": "string" +}, +"campaign": { +"description": "Output only. The campaign to which these settings apply.", +"readOnly": true, +"type": "string" +}, +"finalUrl": { +"description": "The user-provided landing page URL for this Campaign.", +"type": "string" +}, +"phoneNumber": { +"$ref": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber", +"description": "Phone number and country code." +}, +"resourceName": { +"description": "Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__TargetingExpansionView": { +"description": "A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting.", +"id": "GoogleAdsSearchads360V23Resources__TargetingExpansionView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink": { +"description": "A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer.", +"id": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink", +"properties": { +"resourceName": { +"description": "Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}`", +"type": "string" +}, +"shareableLinkId": { +"description": "Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier": { +"description": "The identifiers of a Third Party App Analytics Link.", +"id": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier", +"properties": { +"appAnalyticsProviderId": { +"description": "Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", +"format": "int64", +"type": "string" +}, +"appId": { +"description": "Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"422689480\" for \"Gmail\" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, \"com.google.android.gm\" for \"Gmail\" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", +"type": "string" +}, +"appVendor": { +"description": "Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"APPLE_APP_STORE", +"GOOGLE_APP_STORE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Mobile app vendor for Apple app store.", +"Mobile app vendor for Google app store." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__TopicConstant": { +"description": "Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, \"Pets & Animals/Pets/Dogs\").", +"id": "GoogleAdsSearchads360V23Resources__TopicConstant", +"properties": { +"id": { +"description": "Output only. The ID of the topic.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"path": { +"description": "Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {\"Pets & Animals\", \"Pets\", \"Dogs\"} represents the \"Pets & Animals/Pets/Dogs\" category. List of available topic categories at https://developers.google.com/google-ads/api/reference/data/verticals", +"items": { +"type": "string" +}, +"readOnly": true, +"type": "array" +}, +"resourceName": { +"description": "Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id}`", +"readOnly": true, +"type": "string" +}, +"topicConstantParent": { +"description": "Output only. Resource name of parent of the topic constant.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__TopicView": { +"description": "A topic view.", +"id": "GoogleAdsSearchads360V23Resources__TopicView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__TravelActivityGroupView": { +"description": "A travel activity group view.", +"id": "GoogleAdsSearchads360V23Resources__TravelActivityGroupView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView": { +"description": "A travel activity performance view.", +"id": "GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id}/travelActivityPerformanceView`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__UniversityDegree": { +"description": "A list of degrees this employee has obtained, and wants to feature.", +"id": "GoogleAdsSearchads360V23Resources__UniversityDegree", +"properties": { +"degree": { +"description": "Output only. Name of the degree obtained.", +"readOnly": true, +"type": "string" +}, +"graduationYear": { +"description": "Output only. Year of graduation.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"institutionName": { +"description": "Output only. Name of the university at which the degree was obtained.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__UserInterest": { +"description": "A user interest: a particular interest-based vertical to be targeted.", +"id": "GoogleAdsSearchads360V23Resources__UserInterest", +"properties": { +"availabilities": { +"description": "Output only. Availability information of the user interest.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" +}, +"readOnly": true, +"type": "array" +}, +"launchedToAll": { +"description": "Output only. True if the user interest is launched to all channels and locales.", +"readOnly": true, +"type": "boolean" +}, +"name": { +"description": "Output only. The name of the user interest.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id}/userInterests/{user_interest_id}`", +"readOnly": true, +"type": "string" +}, +"taxonomyType": { +"description": "Output only. Taxonomy type of the user interest.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AFFINITY", +"IN_MARKET", +"MOBILE_APP_INSTALL_USER", +"VERTICAL_GEO", +"NEW_SMART_PHONE_USER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The affinity for this user interest.", +"The market for this user interest.", +"Users known to have installed applications in the specified categories.", +"The geographical location of the interest-based vertical.", +"User interest criteria for new smart phone users." +], +"readOnly": true, +"type": "string" +}, +"userInterestId": { +"description": "Output only. The ID of the user interest.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"userInterestParent": { +"description": "Output only. The parent of the user interest.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__UserList": { +"description": "A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`.", +"id": "GoogleAdsSearchads360V23Resources__UserList", +"properties": { +"accessReason": { +"description": "Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OWNED", +"SHARED", +"LICENSED", +"SUBSCRIBED", +"AFFILIATED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The resource is owned by the user.", +"The resource is shared to the user.", +"The resource is licensed to the user.", +"The user subscribed to the resource.", +"The resource is accessible to the user." +], +"readOnly": true, +"type": "string" +}, +"accountUserListStatus": { +"description": "Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ENABLED", +"DISABLED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The access is enabled.", +"The access is disabled." +], +"type": "string" +}, +"basicUserList": { +"$ref": "GoogleAdsSearchads360V23Common__BasicUserListInfo", +"description": "User list targeting as a collection of conversion or remarketing actions." +}, +"closingReason": { +"description": "Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"UNUSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The userlist was closed because of not being used for over one year." +], +"type": "string" +}, +"crmBasedUserList": { +"$ref": "GoogleAdsSearchads360V23Common__CrmBasedUserListInfo", +"description": "User list of CRM users provided by the advertiser." +}, +"description": { +"description": "Description of this user list.", +"type": "string" +}, +"eligibleForDisplay": { +"description": "Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.", +"readOnly": true, +"type": "boolean" +}, +"eligibleForSearch": { +"description": "Indicates if this user list is eligible for Google Search Network.", +"type": "boolean" +}, +"id": { +"description": "Output only. Id of the user list.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"integrationCode": { +"description": "An ID from external system. It is used by user list sellers to correlate IDs on their systems.", +"type": "string" +}, +"logicalUserList": { +"$ref": "GoogleAdsSearchads360V23Common__LogicalUserListInfo", +"description": "User list that is a custom combination of user lists." +}, +"lookalikeUserList": { +"$ref": "GoogleAdsSearchads360V23Common__LookalikeUserListInfo", +"description": "Immutable. Lookalike User List." +}, +"matchRatePercentage": { +"description": "Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.", +"format": "int32", +"readOnly": true, +"type": "integer" +}, +"membershipLifeSpan": { +"description": "Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.", +"format": "int64", +"type": "string" +}, +"membershipStatus": { +"description": "Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OPEN", +"CLOSED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Open status - List is accruing members and can be targeted to.", +"Closed status - No new members being added. Cannot be used for targeting." +], +"type": "string" +}, +"name": { +"description": "Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.", +"type": "string" +}, +"readOnly": { +"description": "Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.", +"readOnly": true, +"type": "boolean" +}, +"resourceName": { +"description": "Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`", +"type": "string" +}, +"ruleBasedUserList": { +"$ref": "GoogleAdsSearchads360V23Common__RuleBasedUserListInfo", +"description": "User list generated by a rule." +}, +"similarUserList": { +"$ref": "GoogleAdsSearchads360V23Common__SimilarUserListInfo", +"description": "Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.", +"readOnly": true +}, +"sizeForDisplay": { +"description": "Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"sizeForSearch": { +"description": "Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"sizeRangeForDisplay": { +"description": "Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LESS_THAN_FIVE_HUNDRED", +"LESS_THAN_ONE_THOUSAND", +"ONE_THOUSAND_TO_TEN_THOUSAND", +"TEN_THOUSAND_TO_FIFTY_THOUSAND", +"FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND", +"ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND", +"THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND", +"FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION", +"ONE_MILLION_TO_TWO_MILLION", +"TWO_MILLION_TO_THREE_MILLION", +"THREE_MILLION_TO_FIVE_MILLION", +"FIVE_MILLION_TO_TEN_MILLION", +"TEN_MILLION_TO_TWENTY_MILLION", +"TWENTY_MILLION_TO_THIRTY_MILLION", +"THIRTY_MILLION_TO_FIFTY_MILLION", +"OVER_FIFTY_MILLION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"User list has less than 500 users.", +"User list has number of users in range of 500 to 1000.", +"User list has number of users in range of 1000 to 10000.", +"User list has number of users in range of 10000 to 50000.", +"User list has number of users in range of 50000 to 100000.", +"User list has number of users in range of 100000 to 300000.", +"User list has number of users in range of 300000 to 500000.", +"User list has number of users in range of 500000 to 1 million.", +"User list has number of users in range of 1 to 2 millions.", +"User list has number of users in range of 2 to 3 millions.", +"User list has number of users in range of 3 to 5 millions.", +"User list has number of users in range of 5 to 10 millions.", +"User list has number of users in range of 10 to 20 millions.", +"User list has number of users in range of 20 to 30 millions.", +"User list has number of users in range of 30 to 50 millions.", +"User list has over 50 million users." +], +"readOnly": true, +"type": "string" +}, +"sizeRangeForSearch": { +"description": "Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LESS_THAN_FIVE_HUNDRED", +"LESS_THAN_ONE_THOUSAND", +"ONE_THOUSAND_TO_TEN_THOUSAND", +"TEN_THOUSAND_TO_FIFTY_THOUSAND", +"FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND", +"ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND", +"THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND", +"FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION", +"ONE_MILLION_TO_TWO_MILLION", +"TWO_MILLION_TO_THREE_MILLION", +"THREE_MILLION_TO_FIVE_MILLION", +"FIVE_MILLION_TO_TEN_MILLION", +"TEN_MILLION_TO_TWENTY_MILLION", +"TWENTY_MILLION_TO_THIRTY_MILLION", +"THIRTY_MILLION_TO_FIFTY_MILLION", +"OVER_FIFTY_MILLION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"User list has less than 500 users.", +"User list has number of users in range of 500 to 1000.", +"User list has number of users in range of 1000 to 10000.", +"User list has number of users in range of 10000 to 50000.", +"User list has number of users in range of 50000 to 100000.", +"User list has number of users in range of 100000 to 300000.", +"User list has number of users in range of 300000 to 500000.", +"User list has number of users in range of 500000 to 1 million.", +"User list has number of users in range of 1 to 2 millions.", +"User list has number of users in range of 2 to 3 millions.", +"User list has number of users in range of 3 to 5 millions.", +"User list has number of users in range of 5 to 10 millions.", +"User list has number of users in range of 10 to 20 millions.", +"User list has number of users in range of 20 to 30 millions.", +"User list has number of users in range of 30 to 50 millions.", +"User list has over 50 million users." +], +"readOnly": true, +"type": "string" +}, +"type": { +"description": "Output only. Type of this list. This field is read-only.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REMARKETING", +"LOGICAL", +"EXTERNAL_REMARKETING", +"RULE_BASED", +"SIMILAR", +"CRM_BASED", +"LOOKALIKE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"UserList represented as a collection of conversion types.", +"UserList represented as a combination of other user lists/interests.", +"UserList created in the Google Ad Manager platform.", +"UserList associated with a rule.", +"UserList with users similar to users of another UserList.", +"UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", +"LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" +], +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__UserListCustomerType": { +"description": "A user list customer type", +"id": "GoogleAdsSearchads360V23Resources__UserListCustomerType", +"properties": { +"customerTypeCategory": { +"description": "Immutable. The user list customer type category", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ALL_CUSTOMERS", +"PURCHASERS", +"HIGH_VALUE_CUSTOMERS", +"DISENGAGED_CUSTOMERS", +"QUALIFIED_LEADS", +"CONVERTED_LEADS", +"PAID_SUBSCRIBERS", +"LOYALTY_SIGN_UPS", +"CART_ABANDONERS", +"LOYALTY_TIER_1_MEMBERS", +"LOYALTY_TIER_2_MEMBERS", +"LOYALTY_TIER_3_MEMBERS", +"LOYALTY_TIER_4_MEMBERS", +"LOYALTY_TIER_5_MEMBERS", +"LOYALTY_TIER_6_MEMBERS", +"LOYALTY_TIER_7_MEMBERS" +], +"enumDescriptions": [ +"Not specified.", +"Unknown type.", +"Customer type category for all customers.", +"Customer type category for all purchasers.", +"Customer type category for high value purchasers.", +"Customer type category for disengaged purchasers.", +"Customer type category for qualified leads.", +"Customer type category for converted leads.", +"Customer type category for paid subscribers.", +"Customer type category for loyalty signups.", +"Customer type category for cart abandoners.", +"Customer type category for loyalty tier 1 members.", +"Customer type category for loyalty tier 2 members.", +"Customer type category for loyalty tier 3 members.", +"Customer type category for loyalty tier 4 members.", +"Customer type category for loyalty tier 5 members.", +"Customer type category for loyalty tier 6 members.", +"Customer type category for loyalty tier 7 members." +], +"type": "string" +}, +"resourceName": { +"description": "Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`", +"type": "string" +}, +"userList": { +"description": "Immutable. The resource name for the user list this user list customer type is associated with", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__UserLocationView": { +"description": "A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country.", +"id": "GoogleAdsSearchads360V23Resources__UserLocationView", +"properties": { +"countryCriterionId": { +"description": "Output only. Criterion Id for the country.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`", +"readOnly": true, +"type": "string" +}, +"targetingLocation": { +"description": "Output only. Indicates whether location was targeted or not.", +"readOnly": true, +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Video": { +"id": "GoogleAdsSearchads360V23Resources__Video", +"properties": { +"channelId": { +"description": "Output only. The owner channel id of the video.", +"readOnly": true, +"type": "string" +}, +"durationMillis": { +"description": "Output only. The duration of the video in milliseconds.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the video.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id}/videos/{video_id}`", +"readOnly": true, +"type": "string" +}, +"title": { +"description": "Output only. The title of the video.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__VideoCustomer": { +"description": "Video specific information about a Customer.", +"id": "GoogleAdsSearchads360V23Resources__VideoCustomer", +"properties": { +"thirdPartyIntegrationPartners": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners", +"description": "Third Party integration partners." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__Visit": { +"description": "A visit.", +"id": "GoogleAdsSearchads360V23Resources__Visit", +"properties": { +"adId": { +"description": "Output only. Ad ID. A value of 0 indicates that the ad is unattributed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"assetFieldType": { +"description": "Output only. Asset field type of the visit event.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"readOnly": true, +"type": "string" +}, +"assetId": { +"description": "Output only. ID of the asset which was interacted with during the visit event.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"clickId": { +"description": "Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter.", +"readOnly": true, +"type": "string" +}, +"criterionId": { +"description": "Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID of the visit.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"merchantId": { +"description": "Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"productChannel": { +"description": "Output only. The sales channel of the product that was clicked on: Online or Local.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ONLINE", +"LOCAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The item is sold online.", +"The item is sold in local stores." +], +"readOnly": true, +"type": "string" +}, +"productCountryCode": { +"description": "Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on.", +"readOnly": true, +"type": "string" +}, +"productId": { +"description": "Output only. The ID of the product clicked on.", +"readOnly": true, +"type": "string" +}, +"productLanguageCode": { +"description": "Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.", +"readOnly": true, +"type": "string" +}, +"productStoreId": { +"description": "Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.", +"readOnly": true, +"type": "string" +}, +"resourceName": { +"description": "Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}`", +"readOnly": true, +"type": "string" +}, +"visitDateTime": { +"description": "Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__WebpageView": { +"description": "A webpage view.", +"id": "GoogleAdsSearchads360V23Resources__WebpageView", +"properties": { +"resourceName": { +"description": "Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier": { +"description": "The identifier for YouTube video", +"id": "GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier", +"properties": { +"channelId": { +"description": "Immutable. The ID of the hosting channel of the video. This is a string value with \u201cUC\u201d prefix. For example, \"UCK8sQmJBp8GCxrOtXWBpyEA\".", +"type": "string" +}, +"videoId": { +"description": "Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL \"https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters": { +"description": "Common parameters used when applying ad asset recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", +"properties": { +"existingAssets": { +"description": "The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.", +"items": { +"type": "string" +}, +"type": "array" +}, +"newAssets": { +"description": "The assets to create and attach to a scope. This may be combined with existing_assets in the same call.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset" +}, +"type": "array" +}, +"scope": { +"description": "Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER", +"CAMPAIGN" +], +"enumDescriptions": [ +"The apply scope has not been specified.", +"Unknown.", +"Apply at the customer scope.", +"Apply at the campaign scope." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters": { +"description": "Parameters to use when applying call asset recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters", +"properties": { +"adAssetApplyParameters": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", +"description": "Required. Call assets to be added. This is a required field." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters": { +"description": "Parameters to use when applying call extension recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters", +"properties": { +"callExtensions": { +"description": "Call extensions to be added. This is a required field.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CallFeedItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters": { +"description": "Parameters to use when applying callout asset recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters", +"properties": { +"adAssetApplyParameters": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", +"description": "Required. Callout assets to be added. This is a required field." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters": { +"description": "Parameters to use when applying callout extension recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters", +"properties": { +"calloutExtensions": { +"description": "Callout extensions to be added. This is a required field.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__CalloutFeedItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters": { +"description": "Parameters to use when applying a campaign budget recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters", +"properties": { +"newBudgetAmountMicros": { +"description": "New budget amount to set for target budget resource. This is a required field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters": { +"description": "Parameters to use when applying a set target CPA recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", +"properties": { +"campaignBudgetAmountMicros": { +"description": "New campaign budget amount to set for a campaign resource.", +"format": "int64", +"type": "string" +}, +"targetCpaMicros": { +"description": "Average CPA to use for Target CPA bidding strategy.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters": { +"description": "Parameters to use when applying a forecasting set target roas recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", +"properties": { +"campaignBudgetAmountMicros": { +"description": "New campaign budget amount to set for a campaign resource.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters": { +"description": "Parameters to use when applying keyword recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters", +"properties": { +"adGroup": { +"description": "The ad group resource to add keyword to. This is a required field.", +"type": "string" +}, +"cpcBidMicros": { +"description": "Optional, CPC bid to set for the keyword. If not set, keyword will use bid based on bidding strategy used by target ad group.", +"format": "int64", +"type": "string" +}, +"matchType": { +"description": "The match type of the keyword. This is a required field.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters": { +"description": "Parameters to use when applying a lead form asset recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters", +"properties": { +"adAssetApplyParameters": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", +"description": "Required. Lead form assets to be added. This is a required field." +}, +"setSubmitLeadFormAssetCampaignGoal": { +"description": "If true, the \"Submit Lead Form\" goal will be set on the target campaign. As a result, ads will be shown as lead form creative ads. If false, the \"Submit Lead Form\" goal will not be set on the campaign and ads will contain lead form assets.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters": { +"description": "Parameters to use when applying lower Target ROAS recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters", +"properties": { +"targetRoasMultiplier": { +"description": "Required. Target to set ROAS multiplier to. This is a required field.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters": { +"description": "Parameters to use when applying move unused budget recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters", +"properties": { +"budgetMicrosToMove": { +"description": "Budget amount to move from excess budget to constrained budget. This is a required field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters": { +"description": "Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign..", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters", +"properties": { +"targetMultiplier": { +"description": "Required. A number greater than 1.0 indicating the factor by which to increase the target CPA. This is a required field.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters": { +"description": "Parameters to use when applying raise Target CPA recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters", +"properties": { +"targetCpaMultiplier": { +"description": "Required. Target to set CPA multiplier to. This is a required field.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters": { +"description": "Parameters to use when applying a responsive search ad asset recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters", +"properties": { +"updatedAd": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Updated ad. The current ad's content will be replaced." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters": { +"description": "Parameters to use when applying a responsive search ad improve ad strength recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters", +"properties": { +"updatedAd": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Updated ad. The current ad's content will be replaced." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters": { +"description": "Parameters to use when applying a responsive search ad recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Required. New ad to add to recommended ad group." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters": { +"description": "Parameters to use when applying sitelink asset recommendations.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters", +"properties": { +"adAssetApplyParameters": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", +"description": "Required. Sitelink assets to be added. This is a required field." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters": { +"description": "Parameters to use when applying sitelink recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters", +"properties": { +"sitelinkExtensions": { +"description": "Sitelinks to be added. This is a required field.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__SitelinkFeedItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters": { +"description": "Parameters to use when applying Target CPA recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters", +"properties": { +"newCampaignBudgetAmountMicros": { +"description": "Optional, budget amount to set for the campaign.", +"format": "int64", +"type": "string" +}, +"targetCpaMicros": { +"description": "Average CPA to use for Target CPA bidding strategy. This is a required field.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters": { +"description": "Parameters to use when applying a Target ROAS opt-in recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters", +"properties": { +"newCampaignBudgetAmountMicros": { +"description": "Optional, budget amount to set for the campaign.", +"format": "int64", +"type": "string" +}, +"targetRoas": { +"description": "Average ROAS (revenue per unit of spend) to use for Target ROAS bidding strategy. The value is between 0.01 and 1000.0, inclusive. This is a required field, unless new_campaign_budget_amount_micros is set.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters": { +"description": "Parameters to use when applying a text ad recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "New ad to add to recommended ad group. All necessary fields need to be set in this message. This is a required field." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters": { +"description": "Parameters to use when applying a use broad match keyword recommendation.", +"id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters", +"properties": { +"newBudgetAmountMicros": { +"description": "New budget amount to set for target budget resource.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy": { +"description": "Supported bidding strategies for new campaign forecasts.", +"id": "GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy", +"properties": { +"manualCpcBiddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy", +"description": "Use manual CPC bidding strategy for forecasting." +}, +"maximizeClicksBiddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy", +"description": "Use maximize clicks bidding strategy for forecasting." +}, +"maximizeConversionsBiddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy", +"description": "Use maximize conversions bidding strategy for forecasting." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation": { +"description": "Operation to dismiss a single recommendation identified by resource_name.", +"id": "GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation", +"properties": { +"resourceName": { +"description": "The resource name of the recommendation to dismiss.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult": { +"description": "The result of dismissing a recommendation.", +"id": "GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult", +"properties": { +"resourceName": { +"description": "Returned for successful dismissals.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo": { +"description": "Current AdGroup Information of the campaign.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo", +"properties": { +"adGroupType": { +"description": "Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH_STANDARD", +"DISPLAY_STANDARD", +"SHOPPING_PRODUCT_ADS", +"HOTEL_ADS", +"SHOPPING_SMART_ADS", +"VIDEO_BUMPER", +"VIDEO_TRUE_VIEW_IN_STREAM", +"VIDEO_TRUE_VIEW_IN_DISPLAY", +"VIDEO_NON_SKIPPABLE_IN_STREAM", +"SEARCH_DYNAMIC_ADS", +"SHOPPING_COMPARISON_LISTING_ADS", +"PROMOTED_HOTEL_ADS", +"VIDEO_RESPONSIVE", +"VIDEO_EFFICIENT_REACH", +"SMART_CAMPAIGN_ADS", +"TRAVEL_ADS" +], +"enumDescriptions": [ +"The type has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The default ad group type for Search campaigns.", +"The default ad group type for Display campaigns.", +"The ad group type for Shopping campaigns serving standard product ads.", +"The default ad group type for Hotel campaigns.", +"The type for ad groups in Smart Shopping campaigns.", +"Short unskippable in-stream video ads.", +"TrueView (skippable) in-stream video ads.", +"TrueView in-display video ads.", +"Unskippable in-stream video ads.", +"Ad group type for Dynamic Search Ads ad groups.", +"The type for ad groups in Shopping Comparison Listing campaigns.", +"The ad group type for Promoted Hotel ad groups.", +"Video responsive ad groups.", +"Video efficient reach ad groups.", +"Ad group type for Smart campaigns.", +"Ad group type for Travel campaigns." +], +"type": "string" +}, +"keywords": { +"description": "Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo": { +"description": "Current AssetGroup information of the campaign.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo", +"properties": { +"description": { +"description": "Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", +"items": { +"type": "string" +}, +"type": "array" +}, +"finalUrl": { +"description": "Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", +"type": "string" +}, +"headline": { +"description": "Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo": { +"description": "Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo", +"properties": { +"biddingStrategyType": { +"description": "Current bidding strategy. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"COMMISSION", +"ENHANCED_CPC", +"INVALID", +"MANUAL_CPA", +"MANUAL_CPC", +"MANUAL_CPM", +"MANUAL_CPV", +"MAXIMIZE_CONVERSIONS", +"MAXIMIZE_CONVERSION_VALUE", +"PAGE_ONE_PROMOTED", +"PERCENT_CPC", +"TARGET_CPA", +"TARGET_CPC", +"TARGET_CPM", +"TARGET_IMPRESSION_SHARE", +"TARGET_OUTRANK_SHARE", +"TARGET_ROAS", +"TARGET_SPEND" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", +"Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", +"Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", +"Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", +"Manual click based bidding where user pays per click.", +"Manual impression based bidding where user pays per thousand impressions.", +"A bidding strategy that pays a configurable amount per video view.", +"A bidding strategy that automatically maximizes number of conversions given a daily budget.", +"An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", +"Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", +"Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", +"Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", +"Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", +"Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", +"An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", +"Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", +"Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", +"Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." +], +"type": "string" +}, +"targetCpaMicros": { +"description": "Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.", +"format": "int64", +"type": "string" +}, +"targetImpressionShareInfo": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo", +"description": "Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET" +}, +"targetRoas": { +"description": "Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo": { +"description": "Current budget information of the campaign.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo", +"properties": { +"currentBudget": { +"description": "Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo": { +"description": "A keyword seed and a specific url to generate keywords from.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo", +"properties": { +"keywordSeeds": { +"description": "Optional. Keywords or phrases to generate ideas from, for example: cars or \"car dealership near me\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"urlSeed": { +"description": "A specific url to generate ideas from, for example: www.example.com/cars.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo": { +"description": "Current Target Impression Share information of the campaign.", +"id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo", +"properties": { +"location": { +"description": "Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ANYWHERE_ON_PAGE", +"TOP_OF_PAGE", +"ABSOLUTE_TOP_OF_PAGE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Any location on the web page.", +"Top box of ads.", +"Top slot in the top box of ads." +], +"type": "string" +}, +"maxCpcBidCeiling": { +"description": "Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.", +"format": "int64", +"type": "string" +}, +"targetImpressionShareMicros": { +"description": "Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend": { +"description": "Spend requirements for an incentive.", +"id": "GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend", +"properties": { +"awardAmount": { +"$ref": "GoogleType__Money", +"description": "Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request." +}, +"requiredAmount": { +"$ref": "GoogleType__Money", +"description": "Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_Incentive_Requirement": { +"description": "Requirement for an incentive.", +"id": "GoogleAdsSearchads360V23Services_Incentive_Requirement", +"properties": { +"spend": { +"$ref": "GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend", +"description": "Optional. Spend requirement for an incentive." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_MetricAttributes_Attribute": { +"description": "The attribute of the metric in key value pair format.", +"id": "GoogleAdsSearchads360V23Services_MetricAttributes_Attribute", +"properties": { +"key": { +"description": "The key of the attribute.", +"type": "string" +}, +"value": { +"description": "The value of the attribute.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList": { +"description": "The list of marketing objectives to generate benchmarks metrics for.", +"id": "GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList", +"properties": { +"marketingObjectives": { +"description": "Required. Marketing objectives to generate benchmarks metrics for.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AWARENESS", +"CONSIDERATION", +"ACTION" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The objective is to increase awareness.", +"The objective is to encourage potential customers to consider the brand or products.", +"The objective is to drive a specific conversion, such as a purchase." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_ProductFilter_ProductList": { +"description": "The list of products to generate benchmarks metrics for.", +"id": "GoogleAdsSearchads360V23Services_ProductFilter_ProductList", +"properties": { +"productCodes": { +"description": "Required. Products to generate benchmarks metrics for.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext": { +"description": "A context that describes a business.", +"id": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext", +"properties": { +"businessName": { +"description": "Optional. The name of the business.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList": { +"description": "A list of locations.", +"id": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList", +"properties": { +"locations": { +"description": "Required. Locations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets": { +"description": "A list of geo target constant resource names.", +"id": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets", +"properties": { +"geoTargetConstants": { +"description": "A list of geo target constant resource names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames": { +"description": "A list of location names.", +"id": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames", +"properties": { +"names": { +"description": "A list of location names.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme": { +"description": "A Smart campaign keyword theme suggestion.", +"id": "GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme", +"properties": { +"freeFormKeywordTheme": { +"description": "A free-form text keyword theme.", +"type": "string" +}, +"keywordThemeConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", +"description": "A Smart campaign keyword theme constant." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption": { +"description": "Smart Campaign budget option.", +"id": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", +"properties": { +"dailyAmountMicros": { +"description": "The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.", +"format": "int64", +"type": "string" +}, +"metrics": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics", +"description": "Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics": { +"description": "Performance metrics for a given budget option.", +"id": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics", +"properties": { +"maxDailyClicks": { +"description": "The estimated max daily clicks.", +"format": "int64", +"type": "string" +}, +"minDailyClicks": { +"description": "The estimated min daily clicks.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation": { +"description": "A single operation to propose the creation of a new account-level budget or edit/end/remove an existing one.", +"id": "GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", +"description": "Create operation: A new proposal to create a new budget, edit an existing budget, end an actively running budget, or remove an approved budget scheduled to start in the future. No resource name is expected for the new proposal." +}, +"remove": { +"description": "Remove operation: A resource name for the removed proposal is expected, in this format: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` A request may be cancelled iff it is pending.", +"type": "string" +}, +"updateMask": { +"description": "FieldMask that determines which budget fields are modified. While budgets may be modified, proposals that propose such modifications are final. Therefore, update operations are not supported for proposals. Proposals that modify budgets have the 'update' proposal type. Specifying a mask for any other proposal type is considered an error.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AccountLinkOperation": { +"description": "A single update on an account link.", +"id": "GoogleAdsSearchads360V23Services__AccountLinkOperation", +"properties": { +"remove": { +"description": "Remove operation: A resource name for the account link to remove is expected, in this format: `customers/{customer_id}/accountLinks/{account_link_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountLink", +"description": "Update operation: The account link is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation": { +"description": "A single operation (create, remove) on an ad group ad label.", +"id": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", +"description": "Create operation: No resource name is expected for the new ad group ad label." +}, +"remove": { +"description": "Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupAdOperation": { +"description": "A single operation (create, update, remove) on an ad group ad.", +"id": "GoogleAdsSearchads360V23Services__AdGroupAdOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"description": "Create operation: No resource name is expected for the new ad." +}, +"policyValidationParameter": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", +"description": "Configuration for how policies are validated." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"description": "Update operation: The ad is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupAssetOperation": { +"description": "A single operation (create, update, remove) on an ad group asset.", +"id": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"description": "Create operation: No resource name is expected for the new ad group asset." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"description": "Update operation: The ad group asset is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation": { +"description": "A single operation (create, remove) on an ad group asset set.", +"id": "GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", +"description": "Create operation: No resource name is expected for the new ad group asset set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group asset set is expected, in this format: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation": { +"description": "A single operation (create, remove, update) on an ad group bid modifier.", +"id": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"description": "Create operation: No resource name is expected for the new ad group bid modifier." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"description": "Update operation: The ad group bid modifier is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation": { +"description": "A single operation (create, remove) on a customizer attribute.", +"id": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", +"description": "Create operation: No resource name is expected for the new ad group criterion customizer." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation": { +"description": "A single operation (create, remove) on an ad group criterion label.", +"id": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", +"description": "Create operation: No resource name is expected for the new ad group label." +}, +"remove": { +"description": "Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupCriterionOperation": { +"description": "A single operation (create, remove, update) on an ad group criterion.", +"id": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"description": "Create operation: No resource name is expected for the new criterion." +}, +"exemptPolicyViolationKeys": { +"description": "The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" +}, +"type": "array" +}, +"remove": { +"description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"description": "Update operation: The criterion is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation": { +"description": "A single operation (create, remove) on a customizer attribute.", +"id": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", +"description": "Create operation: No resource name is expected for the new ad group customizer" +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion": { +"description": "The suggested text and AdGroup/Campaign pairing for a given keyword.", +"id": "GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion", +"properties": { +"keywordText": { +"description": "The original keyword text.", +"type": "string" +}, +"suggestedAdGroup": { +"description": "The suggested AdGroup for the keyword. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", +"type": "string" +}, +"suggestedCampaign": { +"description": "The suggested Campaign for the keyword. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`", +"type": "string" +}, +"suggestedKeywordText": { +"description": "The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions.", +"type": "string" +}, +"suggestedMatchType": { +"description": "The suggested keyword match type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"EXACT", +"PHRASE", +"BROAD" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Exact match.", +"Phrase match.", +"Broad match." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupLabelOperation": { +"description": "A single operation (create, remove) on an ad group label.", +"id": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupLabel", +"description": "Create operation: No resource name is expected for the new ad group label." +}, +"remove": { +"description": "Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdGroupOperation": { +"description": "A single operation (create, update, remove) on an ad group.", +"id": "GoogleAdsSearchads360V23Services__AdGroupOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroup", +"description": "Create operation: No resource name is expected for the new ad group." +}, +"remove": { +"description": "Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id}/adGroups/{ad_group_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroup", +"description": "Update operation: The ad group is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdOperation": { +"description": "A single update operation on an ad.", +"id": "GoogleAdsSearchads360V23Services__AdOperation", +"properties": { +"policyValidationParameter": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", +"description": "Configuration for how policies are validated." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id}/ads/{ad_id}`" +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdParameterOperation": { +"description": "A single operation (create, update, remove) on ad parameter.", +"id": "GoogleAdsSearchads360V23Services__AdParameterOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AdParameter", +"description": "Create operation: No resource name is expected for the new ad parameter." +}, +"remove": { +"description": "Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AdParameter", +"description": "Update operation: The ad parameter is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest": { +"description": "Request message for BatchJobService.AddBatchJobOperations.", +"id": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest", +"properties": { +"mutateOperations": { +"description": "Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to \"customers/1234/campaigns/-1\", and creating an ad group in the second operation with the campaign field also set to \"customers/1234/campaigns/-1\".", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateOperation" +}, +"type": "array" +}, +"sequenceToken": { +"description": "A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse": { +"description": "Response message for BatchJobService.AddBatchJobOperations.", +"id": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse", +"properties": { +"nextSequenceToken": { +"description": "The sequence token to be used when calling AddBatchJobOperations again if more operations need to be added. The next AddBatchJobOperations request must set the sequence_token field to the value of this field.", +"type": "string" +}, +"totalOperations": { +"description": "The total number of operations added so far for this batch job.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest": { +"description": "Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.", +"id": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest", +"properties": { +"enablePartialFailure": { +"description": "True to enable partial failure for the offline user data job.", +"type": "boolean" +}, +"enableWarnings": { +"description": "True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values.", +"type": "boolean" +}, +"operations": { +"description": "Required. The list of operations to be done.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse": { +"description": "Response message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.", +"id": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"warning": { +"$ref": "GoogleRpc__Status", +"description": "Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AdvancedProductTargeting": { +"description": "Advanced targeting settings for products.", +"id": "GoogleAdsSearchads360V23Services__AdvancedProductTargeting", +"properties": { +"surfaceTargetingSettings": { +"$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", +"description": "Surface targeting settings for this product." +}, +"targetFrequencySettings": { +"$ref": "GoogleAdsSearchads360V23Services__TargetFrequencySettings", +"description": "Settings for a Target frequency campaign. Must be set when selecting the TARGET_FREQUENCY product. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns." +}, +"youtubeSelectSettings": { +"$ref": "GoogleAdsSearchads360V23Services__YouTubeSelectSettings", +"description": "Settings for YouTube Select targeting." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AppendLeadConversationRequest": { +"description": "Request message for LocalServicesLeadService.AppendLeadConversation.", +"id": "GoogleAdsSearchads360V23Services__AppendLeadConversationRequest", +"properties": { +"conversations": { +"description": "Required. Conversations that are being appended.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__Conversation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AppendLeadConversationResponse": { +"description": "Response message for LocalServicesLeadService.AppendLeadConversation.", +"id": "GoogleAdsSearchads360V23Services__AppendLeadConversationResponse", +"properties": { +"responses": { +"description": "Required. List of append conversation operation results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversationOrError" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyIncentiveRequest": { +"description": "Request message for applying an incentive.", +"id": "GoogleAdsSearchads360V23Services__ApplyIncentiveRequest", +"properties": { +"countryCode": { +"description": "Required. User's country code. Required. This field must be equal to the Google Ads account's billing country. Incentive eligibility, terms of service, and reward values are often country-specific. This country code is used to ensure the selected incentive is applicable to the user. Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyIncentiveResponse": { +"description": "Response for applying an incentive.", +"id": "GoogleAdsSearchads360V23Services__ApplyIncentiveResponse", +"properties": { +"couponCode": { +"description": "The coupon code of the applied incentive. A globally unique identifier of the applied incentive. This code is separate and distinct from the selected_incentive_id in the request.", +"type": "string" +}, +"creationTime": { +"description": "The timestamp when this incentive was applied. The timestamp is in UTC timezone and in \"yyyy-MM-dd HH:mm:ss\" format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyRecommendationOperation": { +"description": "Information about the operation to apply a recommendation and any parameters to customize it.", +"id": "GoogleAdsSearchads360V23Services__ApplyRecommendationOperation", +"properties": { +"callAsset": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters", +"description": "Parameters to use when applying call asset recommendation." +}, +"callExtension": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters", +"description": "Parameters to use when applying call extension recommendation." +}, +"calloutAsset": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters", +"description": "Parameters to use when applying callout asset recommendation." +}, +"calloutExtension": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters", +"description": "Parameters to use when applying callout extension recommendation." +}, +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters", +"description": "Optional parameters to use when applying a campaign budget recommendation." +}, +"forecastingSetTargetCpa": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", +"description": "Parameters to use when applying forecasting set target CPA recommendation." +}, +"forecastingSetTargetRoas": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", +"description": "Parameters to use when applying a forecasting set target ROAS recommendation." +}, +"keyword": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters", +"description": "Optional parameters to use when applying keyword recommendation." +}, +"leadFormAsset": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters", +"description": "Parameters to use when applying lead form asset recommendation." +}, +"lowerTargetRoas": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters", +"description": "Parameters to use when applying lower Target ROAS recommendation." +}, +"moveUnusedBudget": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters", +"description": "Parameters to use when applying move unused budget recommendation." +}, +"raiseTargetCpa": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters", +"description": "Parameters to use when applying raise Target CPA recommendation." +}, +"raiseTargetCpaBidTooLow": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters", +"description": "Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign." +}, +"resourceName": { +"description": "The resource name of the recommendation to apply.", +"type": "string" +}, +"responsiveSearchAd": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters", +"description": "Parameters to use when applying a responsive search ad recommendation." +}, +"responsiveSearchAdAsset": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters", +"description": "Parameters to use when applying a responsive search ad asset recommendation." +}, +"responsiveSearchAdImproveAdStrength": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters", +"description": "Parameters to use when applying a responsive search ad improve ad strength recommendation." +}, +"setTargetCpa": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", +"description": "Parameters to use when applying set target CPA recommendation." +}, +"setTargetRoas": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", +"description": "Parameters to use when applying set target ROAS recommendation." +}, +"sitelinkAsset": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters", +"description": "Parameters to use when applying sitelink asset recommendation." +}, +"sitelinkExtension": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters", +"description": "Parameters to use when applying sitelink recommendation." +}, +"targetCpaOptIn": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters", +"description": "Optional parameters to use when applying target CPA opt-in recommendation." +}, +"targetRoasOptIn": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters", +"description": "Optional parameters to use when applying target ROAS opt-in recommendation." +}, +"textAd": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters", +"description": "Optional parameters to use when applying a text ad recommendation." +}, +"useBroadMatchKeyword": { +"$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters", +"description": "Parameters to use when applying a use broad match keyword recommendation." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyRecommendationRequest": { +"description": "Request message for RecommendationService.ApplyRecommendation.", +"id": "GoogleAdsSearchads360V23Services__ApplyRecommendationRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to apply recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried out as a transaction if and only if they are all valid. Default is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyRecommendationResponse": { +"description": "Response message for RecommendationService.ApplyRecommendation.", +"id": "GoogleAdsSearchads360V23Services__ApplyRecommendationResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." +}, +"results": { +"description": "Results of operations to apply recommendations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ApplyRecommendationResult": { +"description": "The result of applying a recommendation.", +"id": "GoogleAdsSearchads360V23Services__ApplyRecommendationResult", +"properties": { +"resourceName": { +"description": "Returned for successful applies.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetGroupAssetOperation": { +"description": "A single operation (create, remove) on an asset group asset.", +"id": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", +"description": "Create operation: No resource name is expected for the new asset group asset." +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", +"description": "Update operation: The asset group asset is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation": { +"description": "A single operation (create, remove) on an asset group listing group filter.", +"id": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", +"description": "Create operation: No resource name is expected for the new asset group listing group filter." +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", +"description": "Update operation: The asset group listing group filter is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetGroupOperation": { +"description": "A single operation (create, remove) on an asset group.", +"id": "GoogleAdsSearchads360V23Services__AssetGroupOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", +"description": "Create operation: No resource name is expected for the new asset group" +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", +"description": "Update operation: The asset group is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetGroupSignalOperation": { +"description": "A single operation (create, remove) on an asset group signal.", +"id": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", +"description": "Create operation: No resource name is expected for the new asset group signal." +}, +"exemptPolicyViolationKeys": { +"description": "Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" +}, +"type": "array" +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetOperation": { +"description": "A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets.", +"id": "GoogleAdsSearchads360V23Services__AssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset", +"description": "Create operation: No resource name is expected for the new asset." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset", +"description": "Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id}/assets/{asset_id}`" +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetSetAssetOperation": { +"description": "A single operation (create, remove) on an asset set asset.", +"id": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", +"description": "Create operation: No resource name is expected for the new asset set asset" +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetSetOperation": { +"description": "A single operation (create, remove) on an asset set.", +"id": "GoogleAdsSearchads360V23Services__AssetSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSet", +"description": "Create operation: No resource name is expected for the new asset set" +}, +"remove": { +"description": "Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSet", +"description": "Update operation: The asset set is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AssetsWithFieldType": { +"description": "The combination of system asset and field type to remove.", +"id": "GoogleAdsSearchads360V23Services__AssetsWithFieldType", +"properties": { +"asset": { +"description": "Required. The resource name of the asset to be removed.", +"type": "string" +}, +"assetFieldType": { +"description": "Required. The asset field type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceCompositionAttribute": { +"description": "An audience attribute with metadata and metrics.", +"id": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute", +"properties": { +"attributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", +"description": "The attribute with its metadata." +}, +"metrics": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", +"description": "Share and index metrics for the attribute." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster": { +"description": "A collection of related attributes, with metadata and metrics, in an audience composition insights report.", +"id": "GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster", +"properties": { +"attributes": { +"description": "The individual attributes that make up this cluster, with metadata and metrics.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute" +}, +"type": "array" +}, +"clusterDisplayName": { +"description": "The name of this cluster of attributes", +"type": "string" +}, +"clusterMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", +"description": "If the dimension associated with this cluster is YOUTUBE_CHANNEL, then cluster_metrics are metrics associated with the cluster as a whole. For other dimensions, this field is unset." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceCompositionMetrics": { +"description": "The share and index metrics associated with an attribute in an audience composition insights report.", +"id": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", +"properties": { +"audienceShare": { +"description": "The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.", +"format": "double", +"type": "number" +}, +"baselineAudienceShare": { +"description": "The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.", +"format": "double", +"type": "number" +}, +"index": { +"description": "The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.", +"format": "double", +"type": "number" +}, +"score": { +"description": "A relevance score from 0 to 1 inclusive.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceCompositionSection": { +"description": "A collection of related attributes of the same type in an audience composition insights report.", +"id": "GoogleAdsSearchads360V23Services__AudienceCompositionSection", +"properties": { +"clusteredAttributes": { +"description": "Additional attributes for this audience, grouped into clusters. Only populated if dimension is YOUTUBE_CHANNEL.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster" +}, +"type": "array" +}, +"dimension": { +"description": "The type of the attributes in this section.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"topAttributes": { +"description": "The most relevant segments for this audience. If dimension is GENDER, AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceInsightsDimensions": { +"description": "A collection of dimensions to be used for generating insights.", +"id": "GoogleAdsSearchads360V23Services__AudienceInsightsDimensions", +"properties": { +"dimensions": { +"description": "Required. A list of dimensions.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceOperation": { +"description": "A single operation (create, update) on an audience.", +"id": "GoogleAdsSearchads360V23Services__AudienceOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Audience", +"description": "Create operation: No resource name is expected for the new audience" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Audience", +"description": "Update operation: The audience is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceOverlapItem": { +"description": "An audience attribute, with metadata including the overlap between this attribute's potential YouTube reach and that of a primary attribute.", +"id": "GoogleAdsSearchads360V23Services__AudienceOverlapItem", +"properties": { +"attributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", +"description": "The attribute and its metadata, including potential YouTube reach." +}, +"potentialYoutubeReachIntersection": { +"description": "The estimated size of the intersection of this audience attribute with the primary attribute, that is, the number of reachable YouTube users who match BOTH the primary attribute and this one.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__AudienceTargeting": { +"description": "Audience targeting for reach forecast.", +"id": "GoogleAdsSearchads360V23Services__AudienceTargeting", +"properties": { +"userInterest": { +"description": "List of audiences based on user interests to be targeted.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo" +}, +"type": "array" +}, +"userLists": { +"description": "List of audiences based on user lists to be targeted.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BatchJobOperation": { +"description": "A single operation on a batch job.", +"id": "GoogleAdsSearchads360V23Services__BatchJobOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__BatchJob", +"description": "Create operation: No resource name is expected for the new batch job." +}, +"remove": { +"description": "Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id}/batchJobs/{batch_job_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BatchJobResult": { +"description": "An individual batch job result.", +"id": "GoogleAdsSearchads360V23Services__BatchJobResult", +"properties": { +"mutateOperationResponse": { +"$ref": "GoogleAdsSearchads360V23Services__MutateOperationResponse", +"description": "Response for the mutate. May be empty if errors occurred." +}, +"operationIndex": { +"description": "Index of the mutate operation.", +"format": "int64", +"type": "string" +}, +"status": { +"$ref": "GoogleRpc__Status", +"description": "Details of the errors when processing the operation." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BenchmarksLocation": { +"description": "A location that supports benchmarks data.", +"id": "GoogleAdsSearchads360V23Services__BenchmarksLocation", +"properties": { +"locationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "Information on the geographic location, including the location ID." +}, +"locationName": { +"description": "The unique location name in English.", +"type": "string" +}, +"locationType": { +"description": "The location's type. Location types correspond to target_type returned by searching location type in GoogleAdsService.Search/SearchStream.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BenchmarksProductMetadata": { +"description": "The metadata associated with a product supported for benchmarks data.", +"id": "GoogleAdsSearchads360V23Services__BenchmarksProductMetadata", +"properties": { +"marketingObjective": { +"description": "The marketing objective associated with the product. A marketing objective is a broader classification of products.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AWARENESS", +"CONSIDERATION", +"ACTION" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The objective is to increase awareness.", +"The objective is to encourage potential customers to consider the brand or products.", +"The objective is to drive a specific conversion, such as a purchase." +], +"type": "string" +}, +"productCode": { +"description": "The identifier of the product. The identifier can be used as inputs for BenchmarksService.GenerateBenchmarksMetrics.", +"type": "string" +}, +"productName": { +"description": "The name of the product.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BenchmarksSource": { +"description": "The source used to generate benchmarks metrics for. The ID of the source can be obtained from BenchmarksService.ListBenchmarksSources.", +"id": "GoogleAdsSearchads360V23Services__BenchmarksSource", +"properties": { +"industryVerticalId": { +"description": "The ID of the Industry Vertical.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata": { +"description": "The metadata associated with a benchmarks source.", +"id": "GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata", +"properties": { +"benchmarksSourceType": { +"description": "The type of benchmarks source.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INDUSTRY_VERTICAL" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The classification of ad categories for benchmarking. (for example, \"Technology\" or \"Finance\")." +], +"type": "string" +}, +"industryVerticalInfo": { +"$ref": "GoogleAdsSearchads360V23Services__IndustryVerticalInfo", +"description": "Information on the Industry Vertical." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BiddableKeyword": { +"description": "A biddable keyword part of an ad group.", +"id": "GoogleAdsSearchads360V23Services__BiddableKeyword", +"properties": { +"keyword": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", +"description": "Required. Keyword. Must have text and match type." +}, +"maxCpcBidMicros": { +"description": "A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation": { +"description": "A single operation (create, remove, update) on a data exclusion.", +"id": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", +"description": "Create operation: No resource name is expected for the new data exclusion." +}, +"remove": { +"description": "Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", +"description": "Update operation: The data exclusion is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation": { +"description": "A single operation (create, remove, update) on a seasonality adjustment.", +"id": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", +"description": "Create operation: No resource name is expected for the new seasonality adjustment." +}, +"remove": { +"description": "Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", +"description": "Update operation: The seasonality adjustment is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BiddingStrategyOperation": { +"description": "A single operation (create, update, remove) on a bidding strategy.", +"id": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", +"description": "Create operation: No resource name is expected for the new bidding strategy." +}, +"remove": { +"description": "Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", +"description": "Update operation: The bidding strategy is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BillingSetupOperation": { +"description": "A single operation on a billing setup, which describes the cancellation of an existing billing setup.", +"id": "GoogleAdsSearchads360V23Services__BillingSetupOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__BillingSetup", +"description": "Creates a billing setup. No resource name is expected for the new billing setup." +}, +"remove": { +"description": "Resource name of the billing setup to remove. A setup cannot be removed unless it is in a pending state or its scheduled start time is in the future. The resource name looks like `customers/{customer_id}/billingSetups/{billing_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__BrandCampaignAssets": { +"description": "Assets linked at the campaign level. A business_name and at least one logo_asset are required.", +"id": "GoogleAdsSearchads360V23Services__BrandCampaignAssets", +"properties": { +"businessNameAsset": { +"description": "Required. The resource name of the business name text asset.", +"type": "string" +}, +"landscapeLogoAsset": { +"description": "Optional. The resource name of landscape logo assets.", +"items": { +"type": "string" +}, +"type": "array" +}, +"logoAsset": { +"description": "Required. The resource name of square logo assets.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignAssetOperation": { +"description": "A single operation (create, remove) on a campaign asset.", +"id": "GoogleAdsSearchads360V23Services__CampaignAssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"description": "Create operation: No resource name is expected for the new campaign asset." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"description": "Update operation: The campaign asset is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignAssetSetOperation": { +"description": "A single operation (create, remove) on a campaign asset set.", +"id": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", +"description": "Create operation: No resource name is expected for the new campaign asset set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignBidModifierOperation": { +"description": "A single operation (create, remove, update) on a campaign bid modifier.", +"id": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", +"description": "Create operation: No resource name is expected for the new campaign bid modifier." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", +"description": "Update operation: The campaign bid modifier is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignBudgetMapping": { +"description": "The mapping of experiment campaign and budget to be graduated.", +"id": "GoogleAdsSearchads360V23Services__CampaignBudgetMapping", +"properties": { +"campaignBudget": { +"description": "Required. The budget that should be attached to the graduating experiment campaign.", +"type": "string" +}, +"experimentCampaign": { +"description": "Required. The experiment campaign to graduate.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignBudgetOperation": { +"description": "A single operation (create, update, remove) on a campaign budget.", +"id": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"description": "Create operation: No resource name is expected for the new budget." +}, +"remove": { +"description": "Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id}/campaignBudgets/{budget_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"description": "Update operation: The campaign budget is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation": { +"description": "A single operation (update) on a campaign conversion goal.", +"id": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", +"description": "Update operation: The customer conversion goal is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignCriterionOperation": { +"description": "A single operation (create, update, remove) on a campaign criterion.", +"id": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"description": "Create operation: No resource name is expected for the new criterion." +}, +"remove": { +"description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"description": "Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignCustomizerOperation": { +"description": "A single operation (create, remove) on a customizer attribute.", +"id": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", +"description": "Create operation: No resource name is expected for the new campaign customizer" +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignDraftOperation": { +"description": "A single operation (create, update, remove) on a campaign draft.", +"id": "GoogleAdsSearchads360V23Services__CampaignDraftOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", +"description": "Create operation: No resource name is expected for the new campaign draft." +}, +"remove": { +"description": "Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", +"description": "Update operation: The campaign draft is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignDuration": { +"description": "The duration of a planned campaign.", +"id": "GoogleAdsSearchads360V23Services__CampaignDuration", +"properties": { +"dateRange": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "Date range of the campaign. Dates are in the yyyy-mm-dd format and inclusive. The end date must be < 1 year in the future and the date range must be <= 92 days long. This field cannot be combined with the duration_in_days field." +}, +"durationInDays": { +"description": "The duration value in days. This field cannot be combined with the date_range field.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation": { +"description": "A single mutate operation on the campaign goal config.", +"id": "GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", +"description": "Create a new campaign goal config." +}, +"remove": { +"description": "Remove an existing campaign goal config.", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", +"description": "Update an existing campaign goal config." +}, +"updateMask": { +"description": "FieldMask that determines which fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignGroupOperation": { +"description": "A single operation (create, update, remove) on a campaign group.", +"id": "GoogleAdsSearchads360V23Services__CampaignGroupOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", +"description": "Create operation: No resource name is expected for the new campaign group." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id}/campaignGroups/{campaign_group_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", +"description": "Update operation: The campaign group is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignLabelOperation": { +"description": "A single operation (create, remove) on a campaign-label relationship.", +"id": "GoogleAdsSearchads360V23Services__CampaignLabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignLabel", +"description": "Create operation: No resource name is expected for the new campaign-label relationship." +}, +"remove": { +"description": "Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation": { +"description": "A single operation on a campaign lifecycle goal.", +"id": "GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", +"description": "Update operation: Update an existing campaign lifecycle goal. The campaign field should not be set for this operation." +}, +"updateMask": { +"description": "Optional. FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignOperation": { +"description": "A single operation (create, update, remove) on a campaign.", +"id": "GoogleAdsSearchads360V23Services__CampaignOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Campaign", +"description": "Create operation: No resource name is expected for the new campaign." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id}/campaigns/{campaign_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Campaign", +"description": "Update operation: The campaign is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignSharedSetOperation": { +"description": "A single operation (create, remove) on a campaign shared set.", +"id": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", +"description": "Create operation: No resource name is expected for the new campaign shared set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CampaignToForecast": { +"description": "A campaign to do a keyword campaign forecast.", +"id": "GoogleAdsSearchads360V23Services__CampaignToForecast", +"properties": { +"adGroups": { +"description": "The ad groups in the new campaign to forecast.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ForecastAdGroup" +}, +"type": "array" +}, +"biddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy", +"description": "Required. The bidding strategy for the campaign." +}, +"conversionRate": { +"description": "The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used.", +"format": "double", +"type": "number" +}, +"geoModifiers": { +"description": "Locations to be targeted. Locations must be unique.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CriterionBidModifier" +}, +"type": "array" +}, +"keywordPlanNetwork": { +"description": "Required. The network used for targeting.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_SEARCH", +"GOOGLE_SEARCH_AND_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Google Search.", +"Google Search + Search partners." +], +"type": "string" +}, +"languageConstants": { +"description": "The list of resource names of languages to be targeted. The resource name is of the format \"languageConstants/{criterion_id}\". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes.", +"items": { +"type": "string" +}, +"type": "array" +}, +"negativeKeywords": { +"description": "The list of negative keywords to be used in the campaign when doing the forecast.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest": { +"description": "Request message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation", +"description": "Required. The operation to perform campaign lifecycle goal update." +}, +"validateOnly": { +"description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse": { +"description": "Response message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult", +"description": "Result for the campaign lifecycle goal configuration." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult": { +"description": "The result for the campaign lifecycle goal configuration.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult", +"properties": { +"resourceName": { +"description": "Returned for the successful operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest": { +"description": "Request message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation", +"description": "Required. The operation to perform customer lifecycle goal update." +}, +"validateOnly": { +"description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse": { +"description": "Response message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult", +"description": "result for the customer lifecycle goal configuration." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult": { +"description": "The result for the customer lifecycle goal configuration.", +"id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult", +"properties": { +"resourceName": { +"description": "Returned for the successful operation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__Conversation": { +"description": "Details of the conversation that needs to be appended.", +"id": "GoogleAdsSearchads360V23Services__Conversation", +"properties": { +"localServicesLead": { +"description": "Required. The resource name of the local services lead that the conversation should be applied to.", +"type": "string" +}, +"text": { +"description": "Required. Text message that user wanted to append to lead.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversationOrError": { +"description": "Result of the append conversation operation.", +"id": "GoogleAdsSearchads360V23Services__ConversationOrError", +"properties": { +"localServicesLeadConversation": { +"description": "The resource name of the appended local services lead conversation.", +"type": "string" +}, +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Failure status when the request could not be processed." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionActionOperation": { +"description": "A single operation (create, update, remove) on a conversion action.", +"id": "GoogleAdsSearchads360V23Services__ConversionActionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", +"description": "Create operation: No resource name is expected for the new conversion action." +}, +"remove": { +"description": "Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id}/conversionActions/{conversion_action_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", +"description": "Update operation: The conversion action is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader": { +"description": "Message for conversion custom dimension header.", +"id": "GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader", +"properties": { +"id": { +"description": "The conversion custom dimension ID.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The user defined name of the conversion custom dimension.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader": { +"description": "Message for conversion custom metric header.", +"id": "GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader", +"properties": { +"id": { +"description": "The conversion custom metric ID.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The user defined name of the conversion custom metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation": { +"description": "A single operation (create, update) on a conversion custom variable.", +"id": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", +"description": "Create operation: No resource name is expected for the new conversion custom variable." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", +"description": "Update operation: The conversion custom variable is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation": { +"description": "A single operation (update) on a conversion goal campaign config.", +"id": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", +"description": "Update operation: The conversion goal campaign config is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionRateSuggestion": { +"description": "A conversion rate suggestion.", +"id": "GoogleAdsSearchads360V23Services__ConversionRateSuggestion", +"properties": { +"conversionRate": { +"description": "The suggested conversion rate. The value is between 0 and 1 (exclusive).", +"format": "double", +"type": "number" +}, +"conversionRateModel": { +"description": "Model type used to calculate the suggested conversion rate.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CUSTOMER_HISTORY", +"INVENTORY_AGGRESSIVE", +"INVENTORY_CONSERVATIVE", +"INVENTORY_MEDIAN" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Suggested conversion rate for the authenticated customer based on the previous 70 days.", +"Suggested conversion rate based on an aggressive rate for the entire inventory.", +"Suggested conversion rate based on a conservative rate for the entire inventory.", +"Suggested conversion rate based on the median rate for the entire inventory." +], +"type": "string" +}, +"plannableProductCode": { +"description": "The code associated with the plannable product (for example: DEMAND_GEN). To list all plannable product codes, use ReachPlanService.ListPlannableProducts.", +"type": "string" +}, +"surfaceTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", +"description": "The surfaces associated with the plannable product. If not present, the conversion rate is considered surface agnostic for this product." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionValueRuleOperation": { +"description": "A single operation (create, update, remove) on a conversion value rule.", +"id": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", +"description": "Create operation: No resource name is expected for the new conversion value rule." +}, +"remove": { +"description": "Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", +"description": "Update operation: The conversion value rule is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation": { +"description": "A single operation (create, update, remove) on a conversion value rule set.", +"id": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", +"description": "Create operation: No resource name is expected for the new conversion value rule set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", +"description": "Update operation: The conversion value rule set is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateAccountLinkRequest": { +"description": "Request message for AccountLinkService.CreateAccountLink.", +"id": "GoogleAdsSearchads360V23Services__CreateAccountLinkRequest", +"properties": { +"accountLink": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountLink", +"description": "Required. The account link to be created." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateAccountLinkResponse": { +"description": "Response message for AccountLinkService.CreateAccountLink.", +"id": "GoogleAdsSearchads360V23Services__CreateAccountLinkResponse", +"properties": { +"resourceName": { +"description": "Returned for successful operations. Resource name of the account link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateCustomerClientRequest": { +"description": "Request message for CustomerService.CreateCustomerClient.", +"id": "GoogleAdsSearchads360V23Services__CreateCustomerClientRequest", +"properties": { +"accessRole": { +"description": "The proposed role of user on the created client customer. Accessible only to customers on the allow-list.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADMIN", +"STANDARD", +"READ_ONLY", +"EMAIL_ONLY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Owns its account and can control the addition of other users.", +"Can modify , but can't affect other users.", +"Can view and account changes, but cannot make edits.", +"Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." +], +"type": "string" +}, +"customerClient": { +"$ref": "GoogleAdsSearchads360V23Resources__Customer", +"description": "Required. The new client customer to create. The resource name on this customer will be ignored." +}, +"emailAddress": { +"description": "Email address of the user who should be invited on the created client customer. Accessible only to customers on the allow-list.", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateCustomerClientResponse": { +"description": "Response message for CreateCustomerClient mutate.", +"id": "GoogleAdsSearchads360V23Services__CreateCustomerClientResponse", +"properties": { +"invitationLink": { +"description": "Link for inviting user to access the created customer. Accessible to allowlisted customers only.", +"type": "string" +}, +"resourceName": { +"description": "The resource name of the newly created customer. Customer resource names have the form: `customers/{customer_id}`.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateDataLinkRequest": { +"description": "Request message for DataLinkService.CreateDataLink.", +"id": "GoogleAdsSearchads360V23Services__CreateDataLinkRequest", +"properties": { +"dataLink": { +"$ref": "GoogleAdsSearchads360V23Resources__DataLink", +"description": "Required. The data link to be created." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateDataLinkResponse": { +"description": "Response message for DataLinkService.CreateDataLink.", +"id": "GoogleAdsSearchads360V23Services__CreateDataLinkResponse", +"properties": { +"resourceName": { +"description": "Returned for successful operations. Resource name of the data link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest": { +"description": "Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.", +"id": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest", +"properties": { +"enableMatchRateRangePreview": { +"description": "If true, match rate range for the offline user data job is calculated and made available in the resource.", +"type": "boolean" +}, +"job": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", +"description": "Required. The offline user data job to be created." +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse": { +"description": "Response message for OfflineUserDataJobService.CreateOfflineUserDataJob.", +"id": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse", +"properties": { +"resourceName": { +"description": "The resource name of the OfflineUserDataJob.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest": { +"description": "Request message for ProductLinkInvitationService.CreateProductLinkInvitation.", +"id": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest", +"properties": { +"productLinkInvitation": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", +"description": "Required. The product link invitation to be created." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse": { +"description": "Response message for product link invitation create.", +"id": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse", +"properties": { +"resourceName": { +"description": "Resource name of the product link invitation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateProductLinkRequest": { +"description": "Request message for ProductLinkService.CreateProductLink.", +"id": "GoogleAdsSearchads360V23Services__CreateProductLinkRequest", +"properties": { +"productLink": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductLink", +"description": "Required. The product link to be created." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CreateProductLinkResponse": { +"description": "Response message for ProductLinkService.CreateProductLink.", +"id": "GoogleAdsSearchads360V23Services__CreateProductLinkResponse", +"properties": { +"resourceName": { +"description": "Returned for successful operations. Resource name of the product link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CriterionBidModifier": { +"description": "Location Criterion bid modifier.", +"id": "GoogleAdsSearchads360V23Services__CriterionBidModifier", +"properties": { +"bidModifier": { +"description": "The associated multiplier for the criterion_id. If set, this value cannot be 0.", +"format": "double", +"type": "number" +}, +"geoTargetConstant": { +"description": "The resource name of the geo location to target. The resource name is of the format \"geoTargetConstants/{criterion_id}\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomAudienceOperation": { +"description": "A single operation (create, update) on a custom audience.", +"id": "GoogleAdsSearchads360V23Services__CustomAudienceOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", +"description": "Create operation: No resource name is expected for the new custom audience." +}, +"remove": { +"description": "Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id}/customAudiences/{custom_audience_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", +"description": "Update operation: The custom audience is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomColumnHeader": { +"description": "Message for custom column header.", +"id": "GoogleAdsSearchads360V23Services__CustomColumnHeader", +"properties": { +"id": { +"description": "The custom column ID.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The user defined name of the custom column.", +"type": "string" +}, +"referencesMetrics": { +"description": "True when the custom column references metrics.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomConversionGoalOperation": { +"description": "A single operation (create, remove) on a custom conversion goal.", +"id": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", +"description": "Create operation: No resource name is expected for the new custom conversion goal" +}, +"remove": { +"description": "Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", +"description": "Update operation: The custom conversion goal is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomInterestOperation": { +"description": "A single operation (create, update) on a custom interest.", +"id": "GoogleAdsSearchads360V23Services__CustomInterestOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", +"description": "Create operation: No resource name is expected for the new custom interest." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", +"description": "Update operation: The custom interest is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerAssetOperation": { +"description": "A single operation (create, update, remove) on a customer asset.", +"id": "GoogleAdsSearchads360V23Services__CustomerAssetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"description": "Create operation: No resource name is expected for the new customer asset." +}, +"remove": { +"description": "Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"description": "Update operation: The customer asset is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerAssetSetOperation": { +"description": "A single operation (create, remove) on a customer asset set.", +"id": "GoogleAdsSearchads360V23Services__CustomerAssetSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", +"description": "Create operation: No resource name is expected for the new customer asset set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed customer asset set is expected, in this format: `customers/{customer_id}/customerAssetSets/{asset_set_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerClientLinkOperation": { +"description": "A single operation (create, update) on a CustomerClientLink.", +"id": "GoogleAdsSearchads360V23Services__CustomerClientLinkOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", +"description": "Create operation: No resource name is expected for the new link." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", +"description": "Update operation: The link is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation": { +"description": "A single operation (update) on a customer conversion goal.", +"id": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", +"description": "Update operation: The customer conversion goal is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerCustomizerOperation": { +"description": "A single operation (create, remove) on a customizer attribute.", +"id": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", +"description": "Create operation: No resource name is expected for the new customer customizer" +}, +"remove": { +"description": "Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerLabelOperation": { +"description": "A single operation (create, remove) on a customer-label relationship.", +"id": "GoogleAdsSearchads360V23Services__CustomerLabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerLabel", +"description": "Create operation: No resource name is expected for the new customer-label relationship." +}, +"remove": { +"description": "Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation": { +"description": "A single operation on a customer lifecycle goal.", +"id": "GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", +"description": "Update operation: Update an existing customer lifecycle goal." +}, +"updateMask": { +"description": "Optional. FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation": { +"description": "Updates the status of a CustomerManagerLink. The following actions are possible: 1. Update operation with status ACTIVE accepts a pending invitation. 2. Update operation with status REFUSED declines a pending invitation. 3. Update operation with status INACTIVE terminates link to manager.", +"id": "GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", +"description": "Update operation: The link is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation": { +"description": "A single operation (create or remove) on a customer level negative criterion.", +"id": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", +"description": "Create operation: No resource name is expected for the new criterion." +}, +"remove": { +"description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerOperation": { +"description": "A single update on a customer.", +"id": "GoogleAdsSearchads360V23Services__CustomerOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Customer", +"description": "Mutate operation. Only updates are supported for customer." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation": { +"description": "A single update operation for a CustomerSkAdNetworkConversionValueSchema.", +"id": "GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema", +"description": "Update operation: The schema is expected to have a valid resource name." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation": { +"description": "A single operation (create or remove) on customer user access invitation.", +"id": "GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", +"description": "Create operation: No resource name is expected for the new access invitation." +}, +"remove": { +"description": "Remove operation: A resource name for the revoke invitation is expected, in this format: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomerUserAccessOperation": { +"description": "A single operation (update, remove) on customer user access.", +"id": "GoogleAdsSearchads360V23Services__CustomerUserAccessOperation", +"properties": { +"remove": { +"description": "Remove operation: A resource name for the removed access is expected, in this format: `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", +"description": "Update operation: The customer user access is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CustomizerAttributeOperation": { +"description": "A single operation (create, remove) on a customizer attribute.", +"id": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", +"description": "Create operation: No resource name is expected for the new customizer attribute" +}, +"remove": { +"description": "Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`", +"type": "string" +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__CyoIncentives": { +"description": "An incentive offer in the Choose-Your-Own Incentive feature where a user can select from a set of incentives with different money amounts.", +"id": "GoogleAdsSearchads360V23Services__CyoIncentives", +"properties": { +"highOffer": { +"$ref": "GoogleAdsSearchads360V23Services__Incentive", +"description": "Required. The CYO incentive with high target and award amounts." +}, +"lowOffer": { +"$ref": "GoogleAdsSearchads360V23Services__Incentive", +"description": "Required. The CYO incentive with low target and award amounts." +}, +"mediumOffer": { +"$ref": "GoogleAdsSearchads360V23Services__Incentive", +"description": "Required. The CYO incentive with medium target and award amounts." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__DimensionOverlapResult": { +"description": "A list of audience attributes of a single dimension, including their overlap with a primary attribute, returned as part of a GenerateAudienceOverlapInsightsResponse.", +"id": "GoogleAdsSearchads360V23Services__DimensionOverlapResult", +"properties": { +"dimension": { +"description": "The dimension of all the attributes in this section.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"items": { +"description": "The attributes and their overlap with the primary attribute.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceOverlapItem" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__DismissRecommendationRequest": { +"description": "Request message for RecommendationService.DismissRecommendation.", +"id": "GoogleAdsSearchads360V23Services__DismissRecommendationRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__DismissRecommendationResponse": { +"description": "Response message for RecommendationService.DismissRecommendation.", +"id": "GoogleAdsSearchads360V23Services__DismissRecommendationResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." +}, +"results": { +"description": "Results of operations to dismiss recommendations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown": { +"description": "A breakdown of the number of unique people reached at a given effective frequency.", +"id": "GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown", +"properties": { +"effectiveCoviewReach": { +"description": "The number of users (including co-viewing users) reached for the associated effective_frequency value.", +"format": "int64", +"type": "string" +}, +"effectiveFrequency": { +"description": "The effective frequency [1-10].", +"format": "int32", +"type": "integer" +}, +"onTargetEffectiveCoviewReach": { +"description": "The number of users (including co-viewing users) reached for the associated effective_frequency value within the specified plan demographic.", +"format": "int64", +"type": "string" +}, +"onTargetReach": { +"description": "The number of unique people reached at least effective_frequency times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +}, +"totalReach": { +"description": "Total number of unique people reached at least effective_frequency times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit": { +"description": "Effective frequency limit.", +"id": "GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit", +"properties": { +"effectiveFrequencyBreakdownLimit": { +"description": "The highest effective frequency value to include in Forecast.effective_frequency_breakdowns. This field supports frequencies 1-10, inclusive.", +"format": "int32", +"type": "integer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EnableOperation": { +"description": "A single enable operation of a campaign.", +"id": "GoogleAdsSearchads360V23Services__EnableOperation", +"properties": { +"accentColor": { +"description": "Optional. Hex code representation of the accent brand color, for example #00ff00. accent_color is required when main_color is specified.", +"type": "string" +}, +"autoPopulateBrandAssets": { +"description": "Required. The switch to automatically populate top-performing brand assets. This field is required. If true, top-performing brand assets will be automatically populated. If false, the brand_assets field is required.", +"type": "boolean" +}, +"brandAssets": { +"$ref": "GoogleAdsSearchads360V23Services__BrandCampaignAssets", +"description": "Optional. The brand assets linked to the campaign. This field is required when the value of auto_populate_brand_assets is false." +}, +"campaign": { +"description": "Required. The resource name of the campaign to enable.", +"type": "string" +}, +"finalUriDomain": { +"description": "Optional. The domain of the final uri.", +"type": "string" +}, +"fontFamily": { +"description": "Optional. The font family is specified as a string, and must be one of the following: \"Open Sans\", \"Roboto\", \"Roboto Slab\", \"Montserrat\", \"Poppins\", \"Lato\", \"Oswald\", or \"Playfair Display\".", +"type": "string" +}, +"mainColor": { +"description": "Optional. Hex code representation of the main brand color, for example #00ff00. main_color is required when accent color is specified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest": { +"description": "Request to enable Brand Guidelines for a Performance Max campaign.", +"id": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest", +"properties": { +"operations": { +"description": "Required. The list of individual campaign operations. A maximum of 10 enable operations can be executed in a request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__EnableOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse": { +"description": "Brand Guidelines campaign enablement response.", +"id": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse", +"properties": { +"results": { +"description": "Campaign enablement results per campaign.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__EnablementResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EnablementResult": { +"description": "A single enablement result of a campaign.", +"id": "GoogleAdsSearchads360V23Services__EnablementResult", +"properties": { +"campaign": { +"description": "This indicates the campaign for which enablement was tried, regardless of the outcome.", +"type": "string" +}, +"enablementError": { +"$ref": "GoogleRpc__Status", +"description": "Details of the error when enablement fails." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__EndExperimentRequest": { +"description": "Request message for ExperimentService.EndExperiment.", +"id": "GoogleAdsSearchads360V23Services__EndExperimentRequest", +"properties": { +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ExperimentArmOperation": { +"description": "A single operation on an experiment arm.", +"id": "GoogleAdsSearchads360V23Services__ExperimentArmOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", +"description": "Create operation" +}, +"remove": { +"description": "Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", +"description": "Update operation: The experiment arm is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ExperimentOperation": { +"description": "A single operation on an experiment.", +"id": "GoogleAdsSearchads360V23Services__ExperimentOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Experiment", +"description": "Create operation" +}, +"remove": { +"description": "Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Experiment", +"description": "Update operation: The experiment is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__FetchIncentiveResponse": { +"description": "Response from getting the acquisition incentive for a user when they visit a specific marketing page.", +"id": "GoogleAdsSearchads360V23Services__FetchIncentiveResponse", +"properties": { +"incentiveOffer": { +"$ref": "GoogleAdsSearchads360V23Services__IncentiveOffer", +"description": "Required. The acquisition incentive offer for the user." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__Forecast": { +"description": "Forecasted traffic metrics for the planned products and targeting.", +"id": "GoogleAdsSearchads360V23Services__Forecast", +"properties": { +"conversions": { +"description": "The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.", +"format": "double", +"type": "number" +}, +"effectiveFrequencyBreakdowns": { +"description": "A list of effective frequency forecasts. The list is ordered starting with 1+ and ending with the value set in GenerateReachForecastRequest.effective_frequency_limit. If no effective_frequency_limit was set, this list will be empty.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown" +}, +"type": "array" +}, +"onTargetCoviewImpressions": { +"description": "Number of ad impressions that exactly matches the Targeting including co-viewers.", +"format": "int64", +"type": "string" +}, +"onTargetCoviewReach": { +"description": "Number of unique people reached that exactly matches the Targeting including co-viewers.", +"format": "int64", +"type": "string" +}, +"onTargetImpressions": { +"description": "Number of ad impressions that exactly matches the Targeting.", +"format": "int64", +"type": "string" +}, +"onTargetReach": { +"description": "Number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +}, +"totalCoviewImpressions": { +"description": "Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", +"format": "int64", +"type": "string" +}, +"totalCoviewReach": { +"description": "Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.", +"format": "int64", +"type": "string" +}, +"totalImpressions": { +"description": "Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", +"format": "int64", +"type": "string" +}, +"totalReach": { +"description": "Total number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +}, +"trueviewViews": { +"description": "Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.", +"format": "int64", +"type": "string" +}, +"viewableImpressions": { +"description": "Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ForecastAdGroup": { +"description": "An ad group that is part of a campaign to be forecasted.", +"id": "GoogleAdsSearchads360V23Services__ForecastAdGroup", +"properties": { +"biddableKeywords": { +"description": "Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BiddableKeyword" +}, +"type": "array" +}, +"maxCpcBidMicros": { +"description": "The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values.", +"format": "int64", +"type": "string" +}, +"negativeKeywords": { +"description": "The details of the keyword. You should specify both the keyword text and match type.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ForecastMetricOptions": { +"description": "Controls forecast metrics to return.", +"id": "GoogleAdsSearchads360V23Services__ForecastMetricOptions", +"properties": { +"includeCoview": { +"description": "Indicates whether to include co-view metrics in the response forecast.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__FrequencyCap": { +"description": "A rule specifying the maximum number of times an ad can be shown to a user over a particular time period.", +"id": "GoogleAdsSearchads360V23Services__FrequencyCap", +"properties": { +"impressions": { +"description": "Required. The number of impressions, inclusive.", +"format": "int32", +"type": "integer" +}, +"timeUnit": { +"description": "Required. The type of time unit.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DAY", +"WEEK", +"MONTH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The cap would define limit per one day.", +"The cap would define limit per one week.", +"The cap would define limit per one month." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest": { +"description": "Request message for KeywordPlanIdeaService.GenerateAdGroupThemes.", +"id": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest", +"properties": { +"adGroups": { +"description": "Required. A list of resource names of AdGroups to group keywords into. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", +"items": { +"type": "string" +}, +"type": "array" +}, +"keywords": { +"description": "Required. A list of keywords to group into the provided AdGroups.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse": { +"description": "Response message for KeywordPlanIdeaService.GenerateAdGroupThemes.", +"id": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse", +"properties": { +"adGroupKeywordSuggestions": { +"description": "A list of suggested AdGroup/keyword pairings.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion" +}, +"type": "array" +}, +"unusableAdGroups": { +"description": "A list of provided AdGroups that could not be used as suggestions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__UnusableAdGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest": { +"description": "Request message for AudienceInsightsService.GenerateAudienceCompositionInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest", +"properties": { +"audience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "Required. The audience of interest for which insights are being requested." +}, +"baselineAudience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "The baseline audience to which the audience of interest is being compared." +}, +"customerInsightsGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"dataMonth": { +"description": "The one-month range of historical data to use for insights, in the format \"yyyy-mm\". If unset, insights will be returned for the last thirty days of data.", +"type": "string" +}, +"dimensions": { +"description": "Required. The audience dimensions for which composition insights should be returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"type": "array" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse": { +"description": "Response message for AudienceInsightsService.GenerateAudienceCompositionInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse", +"properties": { +"sections": { +"description": "The contents of the insights report, organized into sections. Each section is associated with one of the AudienceInsightsDimension values in the request. There may be more than one section per dimension.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionSection" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest": { +"description": "Request message for AudienceInsightsService.GenerateAudienceDefinition.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest", +"properties": { +"audienceDescription": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", +"description": "Required. Provide a text description of an audience to get AI-generated structured suggestions. This can take around 5 or more seconds to complete Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, CATEGORY and KNOWLEDGE_GRAPH." +}, +"customerInsightsGroup": { +"description": "Optional. The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse": { +"description": "Response message for AudienceInsightsService.GenerateAudienceDefinition.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse", +"properties": { +"highRelevanceAttributes": { +"description": "The attributes that make up the audience definition.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +}, +"mediumRelevanceAttributes": { +"description": "Additional attributes that are less relevant but still related to the audience description. Use these attributes to broaden the audience definition to reach more users.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest": { +"description": "Request message for AudienceInsightsService.GenerateAudienceOverlapInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest", +"properties": { +"countryLocation": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "Required. The country in which to calculate the sizes and overlaps of audiences." +}, +"customerInsightsGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"dimensions": { +"description": "Required. The types of attributes of which to calculate the overlap with the primary_attribute. The values must be a subset of AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"type": "array" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +}, +"primaryAttribute": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", +"description": "Required. The audience attribute that should be intersected with all other eligible audiences. This must be an Affinity or In-Market UserInterest, an AgeRange or a Gender." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse": { +"description": "Response message for AudienceInsightsService.GenerateAudienceOverlapInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse", +"properties": { +"dimensionResults": { +"description": "Lists of attributes and their overlap with the primary attribute, one list per requested dimension.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__DimensionOverlapResult" +}, +"type": "array" +}, +"primaryAttributeMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", +"description": "Metadata for the primary attribute, including potential YouTube reach." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest": { +"description": "Request message for BenchmarksService.GenerateBenchmarksMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest", +"properties": { +"applicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Additional information on the application issuing the request." +}, +"benchmarksSource": { +"$ref": "GoogleAdsSearchads360V23Services__BenchmarksSource", +"description": "Required. The source used to generate benchmarks metrics for." +}, +"currencyCode": { +"description": "Optional. The three-character ISO 4217 currency code. If unspecified, the default currency for monetary values is USD.", +"type": "string" +}, +"customerBenchmarksGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"dateRange": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "The date range to aggregate metrics over. If unset, data will be returned for the most recent quarter for which data is available. Dates can be retrieved using BenchmarksService.ListBenchmarksAvailableDates." +}, +"location": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "Required. The location to generate benchmarks metrics for." +}, +"productFilter": { +"$ref": "GoogleAdsSearchads360V23Services__ProductFilter", +"description": "Required. The products to aggregate metrics over. Product filter settings support a list of product IDs or a list of marketing objectives." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse": { +"description": "Response message for BenchmarksService.GenerateBenchmarksMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse", +"properties": { +"averageBenchmarksMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__Metrics", +"description": "Metrics for the selected benchmarks source." +}, +"customerMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__Metrics", +"description": "Metrics belonging to the customer." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest": { +"description": "Request message for ReachPlanService.GenerateConversionRates.", +"id": "GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest", +"properties": { +"customerId": { +"description": "Required. The ID of the customer. A conversion rate based on the historical data of this customer may be suggested.", +"type": "string" +}, +"customerReachGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse": { +"description": "Response message for ReachPlanService.GenerateConversionRates, containing conversion rate suggestions for supported plannable products.", +"id": "GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse", +"properties": { +"conversionRateSuggestions": { +"description": "A list containing conversion rate suggestions. Each repeated element will have an associated product code. Multiple suggestions may share the same product code.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionRateSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest": { +"description": "Request message for AudienceInsightsService.GenerateInsightsFinderReport.", +"id": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest", +"properties": { +"baselineAudience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "Required. A baseline audience for this report, typically all people in a region." +}, +"customerInsightsGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +}, +"specificAudience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "Required. The specific audience of interest for this report. The insights in the report will be based on attributes more prevalent in this audience than in the report's baseline audience." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse": { +"description": "The response message for AudienceInsightsService.GenerateInsightsFinderReport, containing the shareable URL for the report.", +"id": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse", +"properties": { +"savedReportUrl": { +"description": "An HTTPS URL providing a deep link into the Insights Finder UI with the report inputs filled in according to the request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest": { +"description": "Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest", +"properties": { +"campaign": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignToForecast", +"description": "Required. The campaign used in the forecast." +}, +"currencyCode": { +"description": "The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes.", +"type": "string" +}, +"forecastPeriod": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "The date range for the forecast. The start date must be in the future and end date must be within 1 year from today. The reference timezone used is the one of the Google Ads account belonging to the customer. If not set, a default date range from next Sunday to the following Saturday will be used." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse": { +"description": "Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse", +"properties": { +"campaignForecastMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordForecastMetrics", +"description": "Results of the campaign forecast." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest": { +"description": "Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest", +"properties": { +"aggregateMetrics": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", +"description": "The aggregate fields to include in response." +}, +"geoTargetConstants": { +"description": "The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.", +"items": { +"type": "string" +}, +"type": "array" +}, +"historicalMetricsOptions": { +"$ref": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", +"description": "The options for historical metrics data." +}, +"includeAdultKeywords": { +"description": "If true, adult keywords will be included in response. The default value is false.", +"type": "boolean" +}, +"keywordPlanNetwork": { +"description": "Targeting network. If not set, Google Search And Partners Network will be used.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_SEARCH", +"GOOGLE_SEARCH_AND_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Google Search.", +"Google Search + Search partners." +], +"type": "string" +}, +"keywords": { +"description": "A list of keywords to get historical metrics. Not all inputs will be returned as a result of near-exact deduplication. For example, if stats for \"car\" and \"cars\" are requested, only \"car\" will be returned. A maximum of 10,000 keywords can be used.", +"items": { +"type": "string" +}, +"type": "array" +}, +"language": { +"description": "The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse": { +"description": "Response message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse", +"properties": { +"aggregateMetricResults": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", +"description": "The aggregate metrics for all keywords." +}, +"results": { +"description": "List of keywords and their historical metrics.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult": { +"description": "The result of generating keyword historical metrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult", +"properties": { +"closeVariants": { +"description": "The list of close variants from the requested keywords whose stats are combined into this GenerateKeywordHistoricalMetricsResult.", +"items": { +"type": "string" +}, +"type": "array" +}, +"keywordMetrics": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", +"description": "The historical metrics for text and its close variants" +}, +"text": { +"description": "The text of the query associated with one or more keywords. Note that we de-dupe your keywords list, eliminating close variants before returning the keywords as text. For example, if your request originally contained the keywords \"car\" and \"cars\", the returned search query will only contain \"cars\". The list of de-duped queries will be included in close_variants field.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse": { +"description": "Response message for KeywordPlanIdeaService.GenerateKeywordIdeas.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse", +"properties": { +"aggregateMetricResults": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", +"description": "The aggregate metrics for all keyword ideas." +}, +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +}, +"results": { +"description": "Results of generating keyword ideas.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult" +}, +"type": "array" +}, +"totalSize": { +"description": "Total number of results available.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult": { +"description": "The result of generating keyword ideas.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult", +"properties": { +"closeVariants": { +"description": "The list of close variants from the requested keywords that are combined into this GenerateKeywordIdeaResult. See https://support.google.com/google-ads/answer/9342105 for the definition of \"close variants\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"keywordAnnotations": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordAnnotations", +"description": "The annotations for the keyword. The annotation data is only provided if requested." +}, +"keywordIdeaMetrics": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", +"description": "The historical metrics for the keyword." +}, +"text": { +"description": "Text of the keyword idea. As in Keyword Plan historical metrics, this text may not be an actual keyword, but the canonical form of multiple keywords. See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest": { +"description": "Request message for KeywordPlanIdeaService.GenerateKeywordIdeas.", +"id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest", +"properties": { +"aggregateMetrics": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", +"description": "The aggregate fields to include in response." +}, +"geoTargetConstants": { +"description": "The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.", +"items": { +"type": "string" +}, +"type": "array" +}, +"historicalMetricsOptions": { +"$ref": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", +"description": "The options for historical metrics data." +}, +"includeAdultKeywords": { +"description": "If true, adult keywords will be included in response. The default value is false.", +"type": "boolean" +}, +"keywordAndUrlSeed": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordAndUrlSeed", +"description": "A Keyword and a specific Url to generate ideas from for example, cars, www.example.com/cars." +}, +"keywordAnnotation": { +"description": "The keyword annotations to include in response.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"KEYWORD_CONCEPT" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Return the keyword concept and concept group data." +], +"type": "string" +}, +"type": "array" +}, +"keywordPlanNetwork": { +"description": "Targeting network. If not set, Google Search And Partners Network will be used.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"GOOGLE_SEARCH", +"GOOGLE_SEARCH_AND_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Google Search.", +"Google Search + Search partners." +], +"type": "string" +}, +"keywordSeed": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordSeed", +"description": "A Keyword or phrase to generate ideas from, for example, cars." +}, +"language": { +"description": "The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.", +"type": "string" +}, +"pageSize": { +"description": "Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages.", +"type": "string" +}, +"siteSeed": { +"$ref": "GoogleAdsSearchads360V23Services__SiteSeed", +"description": "The site to generate ideas from, for example, www.example.com." +}, +"urlSeed": { +"$ref": "GoogleAdsSearchads360V23Services__UrlSeed", +"description": "A specific url to generate ideas from, for example, www.example.com/cars." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateReachForecastRequest": { +"description": "Request message for ReachPlanService.GenerateReachForecast.", +"id": "GoogleAdsSearchads360V23Services__GenerateReachForecastRequest", +"properties": { +"campaignDuration": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignDuration", +"description": "Required. Campaign duration." +}, +"cookieFrequencyCap": { +"description": "Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user. If not specified, no cap is applied. This field is deprecated in v4 and will eventually be removed. Use cookie_frequency_cap_setting instead.", +"format": "int32", +"type": "integer" +}, +"cookieFrequencyCapSetting": { +"$ref": "GoogleAdsSearchads360V23Services__FrequencyCap", +"description": "Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user during a specified time interval. If not specified, a default of 0 (no cap) is applied. This field replaces the deprecated cookie_frequency_cap field." +}, +"currencyCode": { +"description": "The currency code. Three-character ISO 4217 currency code.", +"type": "string" +}, +"customerReachGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"effectiveFrequencyLimit": { +"$ref": "GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit", +"description": "The highest minimum effective frequency (the number of times a person was exposed to the ad) value [1-10] to include in Forecast.effective_frequency_breakdowns. If not specified, Forecast.effective_frequency_breakdowns will not be provided. The effective frequency value provided here will also be used as the minimum effective frequency for the reported reach metrics. This field cannot be combined with the min_effective_frequency field." +}, +"forecastMetricOptions": { +"$ref": "GoogleAdsSearchads360V23Services__ForecastMetricOptions", +"description": "Controls the forecast metrics returned in the response." +}, +"minEffectiveFrequency": { +"description": "Chosen minimum effective frequency (the number of times a person was exposed to the ad) for the reported reach metrics [1-10]. This won't affect the targeting, but just the reporting. If not specified, a default of 1 is applied. This field cannot be combined with the effective_frequency_limit field.", +"format": "int32", +"type": "integer" +}, +"plannedProducts": { +"description": "Required. The products to be forecast. The max number of allowed planned products is 15.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__PlannedProduct" +}, +"type": "array" +}, +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +}, +"targeting": { +"$ref": "GoogleAdsSearchads360V23Services__Targeting", +"description": "The targeting to be applied to all products selected in the product mix. This is planned targeting: execution details might vary based on the advertising product, consult an implementation specialist. See specific metrics for details on how targeting affects them." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateReachForecastResponse": { +"description": "Response message containing the generated reach curve.", +"id": "GoogleAdsSearchads360V23Services__GenerateReachForecastResponse", +"properties": { +"onTargetAudienceMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics", +"description": "Reference on target audiences for this curve." +}, +"reachCurve": { +"$ref": "GoogleAdsSearchads360V23Services__ReachCurve", +"description": "The generated reach curve for the planned product mix." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest": { +"description": "Request message for RecommendationService.GenerateRecommendations.", +"id": "GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest", +"properties": { +"adGroupInfo": { +"description": "Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo" +}, +"type": "array" +}, +"advertisingChannelType": { +"description": "Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SEARCH", +"DISPLAY", +"SHOPPING", +"HOTEL", +"VIDEO", +"MULTI_CHANNEL", +"LOCAL", +"SMART", +"PERFORMANCE_MAX", +"LOCAL_SERVICES", +"TRAVEL", +"DEMAND_GEN", +"SOCIAL" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Search Network. Includes display bundled, and Search+ campaigns.", +"Google Display Network only.", +"Shopping campaigns serve on the shopping property and on google.com search results.", +"Hotel Ads campaigns.", +"Video campaigns.", +"App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", +"Local ads campaigns.", +"Smart campaigns.", +"Performance Max campaigns.", +"Local services campaigns.", +"Travel campaigns.", +"Demand Gen campaigns.", +"Social campaigns." +], +"type": "string" +}, +"assetGroupInfo": { +"description": "Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo" +}, +"type": "array" +}, +"biddingInfo": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo", +"description": "Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN" +}, +"budgetInfo": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo", +"description": "Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET" +}, +"campaignCallAssetCount": { +"description": "Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"format": "int32", +"type": "integer" +}, +"campaignImageAssetCount": { +"description": "Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"format": "int32", +"type": "integer" +}, +"campaignSitelinkCount": { +"description": "Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET", +"format": "int32", +"type": "integer" +}, +"conversionTrackingStatus": { +"description": "Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NOT_CONVERSION_TRACKED", +"CONVERSION_TRACKING_MANAGED_BY_SELF", +"CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER", +"CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Customer does not use any conversion tracking.", +"The conversion actions are created and managed by this customer.", +"The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.", +"The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`." +], +"type": "string" +}, +"countryCodes": { +"description": "Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", +"items": { +"type": "string" +}, +"type": "array" +}, +"isNewCustomer": { +"description": "Optional. Whether or not this customer should be treated as a \"new\" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"type": "boolean" +}, +"languageCodes": { +"description": "Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", +"items": { +"type": "string" +}, +"type": "array" +}, +"merchantCenterAccountId": { +"description": "Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"format": "int64", +"type": "string" +}, +"negativeLocationsIds": { +"description": "Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"positiveLocationsIds": { +"description": "Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", +"items": { +"format": "int64", +"type": "string" +}, +"type": "array" +}, +"recommendationTypes": { +"description": "Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CAMPAIGN_BUDGET", +"KEYWORD", +"TEXT_AD", +"TARGET_CPA_OPT_IN", +"MAXIMIZE_CONVERSIONS_OPT_IN", +"ENHANCED_CPC_OPT_IN", +"SEARCH_PARTNERS_OPT_IN", +"MAXIMIZE_CLICKS_OPT_IN", +"OPTIMIZE_AD_ROTATION", +"KEYWORD_MATCH_TYPE", +"MOVE_UNUSED_BUDGET", +"FORECASTING_CAMPAIGN_BUDGET", +"TARGET_ROAS_OPT_IN", +"RESPONSIVE_SEARCH_AD", +"MARGINAL_ROI_CAMPAIGN_BUDGET", +"USE_BROAD_MATCH_KEYWORD", +"RESPONSIVE_SEARCH_AD_ASSET", +"UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", +"RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", +"DISPLAY_EXPANSION_OPT_IN", +"UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", +"RAISE_TARGET_CPA_BID_TOO_LOW", +"FORECASTING_SET_TARGET_ROAS", +"CALLOUT_ASSET", +"SITELINK_ASSET", +"CALL_ASSET", +"SHOPPING_ADD_AGE_GROUP", +"SHOPPING_ADD_COLOR", +"SHOPPING_ADD_GENDER", +"SHOPPING_ADD_GTIN", +"SHOPPING_ADD_MORE_IDENTIFIERS", +"SHOPPING_ADD_SIZE", +"SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", +"SHOPPING_FIX_DISAPPROVED_PRODUCTS", +"SHOPPING_TARGET_ALL_OFFERS", +"SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", +"SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", +"SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", +"DYNAMIC_IMAGE_EXTENSION_OPT_IN", +"RAISE_TARGET_CPA", +"LOWER_TARGET_ROAS", +"PERFORMANCE_MAX_OPT_IN", +"IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", +"MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", +"FORECASTING_SET_TARGET_CPA", +"SET_TARGET_CPA", +"SET_TARGET_ROAS", +"MAXIMIZE_CONVERSION_VALUE_OPT_IN", +"IMPROVE_GOOGLE_TAG_COVERAGE", +"PERFORMANCE_MAX_FINAL_URL_OPT_IN", +"REFRESH_CUSTOMER_MATCH_LIST", +"CUSTOM_AUDIENCE_OPT_IN", +"LEAD_FORM_ASSET", +"IMPROVE_DEMAND_GEN_AD_STRENGTH" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Provides optimized budget recommendations for campaigns.", +"Keyword recommendation.", +"Recommendation to add a new text ad.", +"Recommendation to update a campaign to use a Target CPA bidding strategy.", +"Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", +"Recommendation to enable Enhanced Cost Per Click for a campaign.", +"Recommendation to start showing your campaign's ads on Google Search Partners Websites.", +"Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", +"Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", +"Recommendation to change an existing keyword from one match type to a broader match type.", +"Recommendation to move unused budget from one budget to a constrained budget.", +"Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", +"Recommendation to update a campaign to use a Target ROAS bidding strategy.", +"Recommendation to add a new responsive search ad.", +"Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", +"Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", +"Recommendation to add new responsive search ad assets.", +"Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", +"Recommendation to improve strength of responsive search ad.", +"Recommendation to update a campaign to use Display Expansion.", +"Recommendation to upgrade a Local campaign to a Performance Max campaign.", +"Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", +"Recommendation to add callout assets to campaign or customer level.", +"Recommendation to add sitelink assets to campaign or customer level.", +"Recommendation to add call assets to campaign or customer level.", +"Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", +"Recommendation to add a color to offers that are demoted because of a missing color.", +"Recommendation to add a gender to offers that are demoted because of a missing gender.", +"Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", +"Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", +"Recommendation to add the size to offers that are demoted because of a missing size.", +"Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", +"The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", +"Recommendation to create a catch-all campaign that targets all offers.", +"Recommendation to fix Merchant Center account suspension issues.", +"Recommendation to fix Merchant Center account suspension warning issues.", +"Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", +"Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", +"Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", +"Recommendation to lower Target ROAS.", +"Recommendation to opt into Performance Max campaigns.", +"Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", +"Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", +"Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", +"Recommendation to set a target CPA for campaigns that do not have one specified.", +"Recommendation to set a target ROAS for campaigns that do not have one specified.", +"Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", +"Recommendation to deploy Google Tag on more pages.", +"Recommendation to turn on Final URL expansion for your Performance Max campaigns.", +"Recommendation to update a customer list that hasn't been updated in the last 90 days.", +"Recommendation to create a custom audience.", +"Recommendation to add lead form assets to campaign or customer level.", +"Recommendation to improve the strength of ads in Demand Gen campaigns." +], +"type": "string" +}, +"type": "array" +}, +"seedInfo": { +"$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo", +"description": "Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD" +}, +"targetContentNetwork": { +"description": "Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"type": "boolean" +}, +"targetPartnerSearchNetwork": { +"description": "Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse": { +"description": "Response message for RecommendationService.GenerateRecommendations.", +"id": "GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse", +"properties": { +"recommendations": { +"description": "List of generated recommendations from the passed in set of requested recommendation_types. If there isn't sufficient data to generate a recommendation for the requested recommendation_types, the result set won't contain a recommendation for that type.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Recommendation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest": { +"description": "Request message for AudienceInsightsService.GenerateSuggestedTargetingInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest", +"properties": { +"audienceDefinition": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDefinition", +"description": "Provide a seed audience to get suggestions for." +}, +"audienceDescription": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", +"description": "Provide a text description of an audience to get AI-generated targeting suggestions. This can take around 5 or more seconds to complete." +}, +"customerInsightsGroup": { +"description": "Optional. The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse": { +"description": "Response message for AudienceInsightsService.GenerateSuggestedTargetingInsights.", +"id": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse", +"properties": { +"suggestions": { +"description": "Suggested insights for targetable audiences.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest": { +"description": "Request message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest", +"properties": { +"audiences": { +"description": "Required. Audiences to request metrics for.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience" +}, +"type": "array" +}, +"customerInsightsGroup": { +"description": "Optional. The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse": { +"description": "Response message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.", +"id": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse", +"properties": { +"suggestions": { +"description": "Suggested targetable audiences. There will be one suggestion for each GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the order requested.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion": { +"description": "A geo target constant suggestion.", +"id": "GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion", +"properties": { +"geoTargetConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", +"description": "The GeoTargetConstant result." +}, +"geoTargetConstantParents": { +"description": "The list of parents of the geo target constant.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant" +}, +"type": "array" +}, +"locale": { +"description": "The language this GeoTargetConstantSuggestion is currently translated to. It affects the name of geo target fields. For example, if locale=en, then name=Spain. If locale=es, then name=Espa\u00f1a. The default locale will be returned if no translation exists for the locale in the request.", +"type": "string" +}, +"reach": { +"description": "Approximate user population that will be targeted, rounded to the nearest 100.", +"format": "int64", +"type": "string" +}, +"searchTerm": { +"description": "If the request searched by location name, this is the location name that matched the geo target.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse": { +"description": "Response message for GetIdentityVerification.", +"id": "GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse", +"properties": { +"identityVerification": { +"description": "List of identity verifications for the customer.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__IdentityVerification" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse": { +"description": "Response message for SmartCampaignSettingService.GetSmartCampaignStatus.", +"id": "GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse", +"properties": { +"eligibleDetails": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails", +"description": "Details related to Smart campaigns that are eligible to serve." +}, +"endedDetails": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails", +"description": "Details related to Smart campaigns that have ended." +}, +"notEligibleDetails": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails", +"description": "Details related to Smart campaigns that are ineligible to serve." +}, +"pausedDetails": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails", +"description": "Details related to paused Smart campaigns." +}, +"removedDetails": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails", +"description": "Details related to removed Smart campaigns." +}, +"smartCampaignStatus": { +"description": "The status of this Smart campaign.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PAUSED", +"NOT_ELIGIBLE", +"PENDING", +"ELIGIBLE", +"REMOVED", +"ENDED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The campaign was paused.", +"The campaign is not eligible to serve and has issues that may require intervention.", +"The campaign is pending the approval of at least one ad.", +"The campaign is eligible to serve.", +"The campaign has been removed.", +"The campaign has ended." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GoalOperation": { +"description": "A single mutate operation on the goal.", +"id": "GoogleAdsSearchads360V23Services__GoalOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Goal", +"description": "Create a new goal." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Goal", +"description": "Update an existing goal." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__GraduateExperimentRequest": { +"description": "Request message for ExperimentService.GraduateExperiment.", +"id": "GoogleAdsSearchads360V23Services__GraduateExperimentRequest", +"properties": { +"campaignBudgetMappings": { +"description": "Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetMapping" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__HotelAssetSuggestion": { +"description": "Message containing the asset suggestions for a hotel.", +"id": "GoogleAdsSearchads360V23Services__HotelAssetSuggestion", +"properties": { +"callToAction": { +"description": "Call to action type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"LEARN_MORE", +"GET_QUOTE", +"APPLY_NOW", +"SIGN_UP", +"CONTACT_US", +"SUBSCRIBE", +"DOWNLOAD", +"BOOK_NOW", +"SHOP_NOW", +"BUY_NOW", +"DONATE_NOW", +"ORDER_NOW", +"PLAY_NOW", +"SEE_MORE", +"START_NOW", +"VISIT_SITE", +"WATCH_NOW" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The call to action type is learn more.", +"The call to action type is get quote.", +"The call to action type is apply now.", +"The call to action type is sign up.", +"The call to action type is contact us.", +"The call to action type is subscribe.", +"The call to action type is download.", +"The call to action type is book now.", +"The call to action type is shop now.", +"The call to action type is buy now.", +"The call to action type is donate now.", +"The call to action type is order now.", +"The call to action type is play now.", +"The call to action type is see more.", +"The call to action type is start now.", +"The call to action type is visit site.", +"The call to action type is watch now." +], +"type": "string" +}, +"finalUrl": { +"description": "Suggested final URL for an AssetGroup.", +"type": "string" +}, +"hotelName": { +"description": "Hotel name in requested language.", +"type": "string" +}, +"imageAssets": { +"description": "Image assets such as landscape/portrait/square, etc.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__HotelImageAsset" +}, +"type": "array" +}, +"placeId": { +"description": "Google Places ID of the hotel.", +"type": "string" +}, +"status": { +"description": "The status of the hotel asset suggestion.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SUCCESS", +"HOTEL_NOT_FOUND", +"INVALID_PLACE_ID" +], +"enumDescriptions": [ +"Enum unspecified.", +"The received error code is not known in this version.", +"The hotel asset suggestion was successfully retrieved.", +"A hotel look up returns nothing.", +"A Google Places ID is invalid and cannot be decoded." +], +"type": "string" +}, +"textAssets": { +"description": "Text assets such as headline, description, etc.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__HotelTextAsset" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__HotelImageAsset": { +"description": "A single image asset suggestion for a hotel.", +"id": "GoogleAdsSearchads360V23Services__HotelImageAsset", +"properties": { +"assetFieldType": { +"description": "The Image asset type. For example, MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"uri": { +"description": "URI for the image.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__HotelTextAsset": { +"description": "A single text asset suggestion for a hotel.", +"id": "GoogleAdsSearchads360V23Services__HotelTextAsset", +"properties": { +"assetFieldType": { +"description": "The text asset type. For example, HEADLINE, DESCRIPTION, etc.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +}, +"text": { +"description": "Asset text in requested language.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__IdentityVerification": { +"description": "An identity verification for a customer.", +"id": "GoogleAdsSearchads360V23Services__IdentityVerification", +"properties": { +"identityVerificationRequirement": { +"$ref": "GoogleAdsSearchads360V23Services__IdentityVerificationRequirement", +"description": "The verification requirement for this verification program for this customer." +}, +"verificationProgram": { +"description": "The verification program type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER_IDENTITY_VERIFICATION" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Advertiser submits documents to verify their identity." +], +"type": "string" +}, +"verificationProgress": { +"$ref": "GoogleAdsSearchads360V23Services__IdentityVerificationProgress", +"description": "Information regarding progress for this verification program for this customer." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__IdentityVerificationProgress": { +"description": "Information regarding the verification progress for a verification program type.", +"id": "GoogleAdsSearchads360V23Services__IdentityVerificationProgress", +"properties": { +"actionUrl": { +"description": "Action URL for user to complete verification for the given verification program type.", +"type": "string" +}, +"invitationLinkExpirationTime": { +"description": "The timestamp when the action url will expire in \"yyyy-MM-dd HH:mm:ss\" format.", +"type": "string" +}, +"programStatus": { +"description": "Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc)", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PENDING_USER_ACTION", +"PENDING_REVIEW", +"SUCCESS", +"FAILURE" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Verification is pending on user action to proceed.", +"Verification is pending on review.", +"Verification succeeded.", +"Verification failed." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__IdentityVerificationRequirement": { +"description": "Information regarding the verification requirement for a verification program type.", +"id": "GoogleAdsSearchads360V23Services__IdentityVerificationRequirement", +"properties": { +"verificationCompletionDeadlineTime": { +"description": "The deadline to submit verification.", +"type": "string" +}, +"verificationStartDeadlineTime": { +"description": "The deadline to start verification in \"yyyy-MM-dd HH:mm:ss\" format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__Incentive": { +"description": "An incentive that a user can claim for their account.", +"id": "GoogleAdsSearchads360V23Services__Incentive", +"properties": { +"incentiveId": { +"description": "The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.", +"format": "int64", +"type": "string" +}, +"incentiveTermsAndConditionsUrl": { +"description": "The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.", +"type": "string" +}, +"requirement": { +"$ref": "GoogleAdsSearchads360V23Services_Incentive_Requirement", +"description": "The requirement for this incentive." +}, +"type": { +"description": "The type of the incentive.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACQUISITION" +], +"enumDescriptions": [ +"Not specified.", +"Unknown incentive type. Should not be used as a value explicitly.", +"An acquisition incentive." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__IncentiveOffer": { +"description": "An acquisition incentive offer for a user. An offer means how the user is treated. An offer can have no incentive or multiple incentives.", +"id": "GoogleAdsSearchads360V23Services__IncentiveOffer", +"properties": { +"consolidatedTermsAndConditionsUrl": { +"description": "Optional. The URL of the terms and conditions for the incentive offer.", +"type": "string" +}, +"cyoIncentives": { +"$ref": "GoogleAdsSearchads360V23Services__CyoIncentives", +"description": "CYO incentives. Set when type is CYO_INCENTIVE." +}, +"type": { +"description": "Required. The type of this acquisition incentive offer.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"NO_INCENTIVE", +"CYO_INCENTIVE" +], +"enumDescriptions": [ +"Unknown offer type. Should not be used as a value explicitly.", +"Unknown offer type.", +"An offer with no incentive.", +"A CYO (Choose-Your-Own) offer with multiple incentives to choose from." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__IndustryVerticalInfo": { +"description": "The information associated with an Industry Vertical.", +"id": "GoogleAdsSearchads360V23Services__IndustryVerticalInfo", +"properties": { +"industryVerticalId": { +"description": "The unique identifier of the Industry Vertical.", +"format": "int64", +"type": "string" +}, +"industryVerticalName": { +"description": "The name of the Industry Vertical.", +"type": "string" +}, +"parentIndustryVerticalId": { +"description": "The unique identifier of the parent Industry Vertical, if exists.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__InsightsAudience": { +"description": "A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService.", +"id": "GoogleAdsSearchads360V23Services__InsightsAudience", +"properties": { +"ageRanges": { +"description": "Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo" +}, +"type": "array" +}, +"countryLocations": { +"description": "Required. The countries for the audience.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo" +}, +"type": "array" +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo", +"description": "Gender for the audience. If absent, the audience does not restrict by gender." +}, +"incomeRanges": { +"description": "Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo" +}, +"type": "array" +}, +"lineups": { +"description": "Lineups representing the YouTube content viewed by the audience.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup" +}, +"type": "array" +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"description": "Parental status for the audience. If absent, the audience does not restrict by parental status." +}, +"subCountryLocations": { +"description": "Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo" +}, +"type": "array" +}, +"topicAudienceCombinations": { +"description": "A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup" +}, +"type": "array" +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo", +"description": "User list to be targeted by the audience." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup": { +"description": "A list of AudienceInsightsAttributes.", +"id": "GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup", +"properties": { +"attributes": { +"description": "Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__InsightsAudienceDefinition": { +"description": "A structured definition of the audience of interest for which insights are being requested in AudienceInsightsService.", +"id": "GoogleAdsSearchads360V23Services__InsightsAudienceDefinition", +"properties": { +"audience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "Required. The audience of interest for which insights are being requested." +}, +"baselineAudience": { +"$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", +"description": "Optional. The baseline audience. The default, if unspecified, is all people in the same country as the audience of interest." +}, +"dataMonth": { +"description": "Optional. The one-month range of historical data to use for insights, in the format \"yyyy-mm\". If unset, insights will be returned for the last thirty days of data.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__InsightsAudienceDescription": { +"description": "A text description of the audience of interest for which insights are being requested in AudienceInsightsService.", +"id": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", +"properties": { +"audienceDescription": { +"description": "Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, \"Women in their 30s who love to travel\".", +"type": "string" +}, +"audienceDimensions": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceInsightsDimensions", +"description": "Optional. An optional list of audience dimensions to return." +}, +"countryLocations": { +"description": "Required. The countries for the audience.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo" +}, +"type": "array" +}, +"marketingObjective": { +"description": "Optional. An optional marketing objective which will influence the type of suggestions produced.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AWARENESS", +"CONSIDERATION", +"RESEARCH" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The objective is to increase awareness of a brand or product among relevant audiences.", +"The objective is to encourage potential customers to consider your brand or products when they're researching or shopping for product.", +"The objective is for research, to gain further insights into your audience." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordAndUrlSeed": { +"description": "Keyword And Url Seed", +"id": "GoogleAdsSearchads360V23Services__KeywordAndUrlSeed", +"properties": { +"keywords": { +"description": "Requires at least one keyword and no more than 20 keywords.", +"items": { +"type": "string" +}, +"type": "array" +}, +"url": { +"description": "The URL to crawl in order to generate keyword ideas.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordForecastMetrics": { +"description": "The forecast metrics for the planless keyword campaign.", +"id": "GoogleAdsSearchads360V23Services__KeywordForecastMetrics", +"properties": { +"averageCpaMicros": { +"description": "Average cost per acquisition calculated as cost_micros / conversions.", +"format": "int64", +"type": "string" +}, +"averageCpcMicros": { +"description": "The average cpc. Available only if clicks > 0.", +"format": "int64", +"type": "string" +}, +"clickThroughRate": { +"description": "The average click through rate. Available only if impressions > 0.", +"format": "double", +"type": "number" +}, +"clicks": { +"description": "The total number of clicks.", +"format": "double", +"type": "number" +}, +"conversionRate": { +"description": "Forecasted conversion rate.", +"format": "double", +"type": "number" +}, +"conversions": { +"description": "Forecasted number of conversions: clicks * conversion_rate.", +"format": "double", +"type": "number" +}, +"costMicros": { +"description": "The total cost.", +"format": "int64", +"type": "string" +}, +"impressions": { +"description": "The total number of impressions.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation": { +"description": "A single operation (create, update, remove) on a Keyword Plan ad group keyword.", +"id": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", +"description": "Create operation: No resource name is expected for the new Keyword Plan ad group keyword." +}, +"remove": { +"description": "Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", +"description": "Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name." +}, +"updateMask": { +"description": "The FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation": { +"description": "A single operation (create, update, remove) on a Keyword Plan ad group.", +"id": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", +"description": "Create operation: No resource name is expected for the new Keyword Plan ad group." +}, +"remove": { +"description": "Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", +"description": "Update operation: The Keyword Plan ad group is expected to have a valid resource name." +}, +"updateMask": { +"description": "The FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation": { +"description": "A single operation (create, update, remove) on a Keyword Plan campaign keyword.", +"id": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", +"description": "Create operation: No resource name is expected for the new Keyword Plan campaign keyword." +}, +"remove": { +"description": "Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", +"description": "Update operation: The Keyword Plan campaign keyword expected to have a valid resource name." +}, +"updateMask": { +"description": "The FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation": { +"description": "A single operation (create, update, remove) on a Keyword Plan campaign.", +"id": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", +"description": "Create operation: No resource name is expected for the new Keyword Plan campaign." +}, +"remove": { +"description": "Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", +"description": "Update operation: The Keyword Plan campaign is expected to have a valid resource name." +}, +"updateMask": { +"description": "The FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordPlanOperation": { +"description": "A single operation (create, update, remove) on a keyword plan.", +"id": "GoogleAdsSearchads360V23Services__KeywordPlanOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", +"description": "Create operation: No resource name is expected for the new keyword plan." +}, +"remove": { +"description": "Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", +"description": "Update operation: The keyword plan is expected to have a valid resource name." +}, +"updateMask": { +"description": "The FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__KeywordSeed": { +"description": "Keyword Seed", +"id": "GoogleAdsSearchads360V23Services__KeywordSeed", +"properties": { +"keywords": { +"description": "Requires at least one keyword and no more than 20 keywords.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__LabelOperation": { +"description": "A single operation (create, remove, update) on a label.", +"id": "GoogleAdsSearchads360V23Services__LabelOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__Label", +"description": "Create operation: No resource name is expected for the new label." +}, +"remove": { +"description": "Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id}/labels/{label_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__Label", +"description": "Update operation: The label is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse": { +"description": "Response message for CustomerService.ListAccessibleCustomers.", +"id": "GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse", +"properties": { +"resourceNames": { +"description": "Resource name of customers directly accessible by the user authenticating the call.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest": { +"description": "Request message for AudienceInsightsService.ListAudienceInsightsAttributes.", +"id": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest", +"properties": { +"customerInsightsGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"dimensions": { +"description": "Required. The types of attributes to be returned. Supported dimensions are CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"CATEGORY", +"KNOWLEDGE_GRAPH", +"GEO_TARGET_COUNTRY", +"SUB_COUNTRY_LOCATION", +"YOUTUBE_CHANNEL", +"AFFINITY_USER_INTEREST", +"IN_MARKET_USER_INTEREST", +"PARENTAL_STATUS", +"INCOME_RANGE", +"AGE_RANGE", +"GENDER", +"YOUTUBE_VIDEO", +"DEVICE", +"YOUTUBE_LINEUP", +"USER_LIST", +"LIFE_EVENT_USER_INTEREST" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"A Product & Service category.", +"A Knowledge Graph entity.", +"A country, represented by a geo target.", +"A geographic location within a country.", +"A YouTube channel.", +"An Affinity UserInterest.", +"An In-Market UserInterest.", +"A Parental Status value (parent, or not a parent).", +"A household income percentile range.", +"An age range.", +"A gender.", +"A YouTube video.", +"A device type, such as Mobile, Desktop, Tablet, and Connected TV.", +"A YouTube Lineup.", +"A User List.", +"A Life Event UserInterest." +], +"type": "string" +}, +"type": "array" +}, +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +}, +"locationCountryFilters": { +"description": "If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and this field is present, then the SUB_COUNTRY_LOCATION attributes returned will be located in these countries. If this field is absent, then location attributes are not filtered by country. Setting this field when SUB_COUNTRY_LOCATION attributes are not requested will return an error.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo" +}, +"type": "array" +}, +"queryText": { +"description": "Required. A free text query. If the requested dimensions include Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for those dimensions will match or be related to this string. For other dimensions, this field is ignored and all available attributes are returned.", +"type": "string" +}, +"youtubeReachLocation": { +"$ref": "GoogleAdsSearchads360V23Common__LocationInfo", +"description": "If present, potential YouTube reach estimates within the specified market will be returned for attributes for which they are available. Reach is only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and IN_MARKET_USER_INTEREST dimensions, and may not be available for every attribute of those dimensions in every market." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse": { +"description": "Response message for AudienceInsightsService.ListAudienceInsightsAttributes.", +"id": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse", +"properties": { +"attributes": { +"description": "The attributes matching the search query.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse": { +"description": "Response message for BatchJobService.ListBatchJobResults.", +"id": "GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +}, +"results": { +"description": "The list of rows that matched the query.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BatchJobResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest": { +"description": "Request message for BenchmarksService.ListBenchmarksAvailableDates.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest", +"properties": { +"applicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse": { +"description": "Response message for BenchmarksService.ListBenchmarksAvailableDates.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse", +"properties": { +"supportedDates": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "The dates that support benchmarks metrics. Data is supported for any dates within this date range inclusive." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest": { +"description": "Request message for BenchmarksService.ListBenchmarksLocations.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest", +"properties": { +"applicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse": { +"description": "Response message for BenchmarksService.ListBenchmarksLocations.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse", +"properties": { +"benchmarksLocations": { +"description": "The list of locations supported for benchmarks data.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BenchmarksLocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest": { +"description": "Request message for BenchmarksService.ListBenchmarksProducts.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest", +"properties": { +"applicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse": { +"description": "Response message for BenchmarksService.ListBenchmarksProducts.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse", +"properties": { +"benchmarksProducts": { +"description": "The list of products available for benchmarks data.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BenchmarksProductMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest": { +"description": "Request message for BenchmarksService.ListBenchmarksSources.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest", +"properties": { +"applicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Additional information on the application issuing the request." +}, +"benchmarksSources": { +"description": "Required. The types of benchmarks sources to be returned (for example, INDUSTRY_VERTICAL).", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"INDUSTRY_VERTICAL" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"The classification of ad categories for benchmarking. (for example, \"Technology\" or \"Finance\")." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse": { +"description": "Response message for BenchmarksService.ListBenchmarksSources.", +"id": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse", +"properties": { +"benchmarksSources": { +"description": "The list of available source used to generate benchmarks data for.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse": { +"description": "Response message for CampaignDraftService.ListCampaignDraftAsyncErrors.", +"id": "GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse", +"properties": { +"errors": { +"description": "Details of the errors when performing the asynchronous operation.", +"items": { +"$ref": "GoogleRpc__Status" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListCustomColumnsResponse": { +"description": "Response message for fetching all custom columns associated with a customer.", +"id": "GoogleAdsSearchads360V23Services__ListCustomColumnsResponse", +"properties": { +"customColumns": { +"description": "The CustomColumns owned by the provided customer.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomColumn" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse": { +"description": "Response message for ExperimentService.ListExperimentAsyncErrors.", +"id": "GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse", +"properties": { +"errors": { +"description": "details of the errors when performing the asynchronous operation.", +"items": { +"$ref": "GoogleRpc__Status" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest": { +"description": "Request message for AudienceInsightsService.ListInsightsEligibleDates.", +"id": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest", +"properties": { +"insightsApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse": { +"description": "Response message for AudienceInsightsService.ListInsightsEligibleDates.", +"id": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse", +"properties": { +"dataMonths": { +"description": "The months for which AudienceInsights data is currently available, each represented as a string in the form \"YYYY-MM\".", +"items": { +"type": "string" +}, +"type": "array" +}, +"lastThirtyDays": { +"$ref": "GoogleAdsSearchads360V23Common__DateRange", +"description": "The actual dates covered by the \"last 30 days\" date range that will be used implicitly for AudienceInsightsService.GenerateAudienceCompositionInsights requests that have no data_month set." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListInvoicesResponse": { +"description": "Response message for InvoiceService.ListInvoices.", +"id": "GoogleAdsSearchads360V23Services__ListInvoicesResponse", +"properties": { +"invoices": { +"description": "The list of invoices that match the billing setup and time period.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__Invoice" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse": { +"description": "Response message for PaymentsAccountService.ListPaymentsAccounts.", +"id": "GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse", +"properties": { +"paymentsAccounts": { +"description": "The list of accessible payments accounts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__PaymentsAccount" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest": { +"description": "Request message for ReachPlanService.ListPlannableLocations.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest", +"properties": { +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse": { +"description": "The list of plannable locations.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse", +"properties": { +"plannableLocations": { +"description": "The list of locations available for planning. See https://developers.google.com/google-ads/api/reference/data/geotargets for sample locations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__PlannableLocation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableProductsRequest": { +"description": "Request to list available products in a given location.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableProductsRequest", +"properties": { +"plannableLocationId": { +"description": "Required. The ID of the selected location for planning. To list the available plannable location IDs use ReachPlanService.ListPlannableLocations.", +"type": "string" +}, +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableProductsResponse": { +"description": "A response with all available products.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableProductsResponse", +"properties": { +"productMetadata": { +"description": "The list of products available for planning and related targeting metadata.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ProductMetadata" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest": { +"description": "Request message for ReachPlanService.ListPlannableUserInterests.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest", +"properties": { +"customerId": { +"description": "Required. The ID of the customer.", +"type": "string" +}, +"nameQuery": { +"description": "A filter by user interest name. If set, only user interests with a name containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.", +"type": "string" +}, +"pathQuery": { +"description": "A filter by user interest path. If set, only user interests with a path containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.", +"type": "string" +}, +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +}, +"userInterestTaxonomyTypes": { +"description": "Optional. A filter by user interest type. If set, only user interests with a type listed in the filter will be returned. If not set, user interests of all supported types will be returned. Supported user interest types are AFFINITY and IN_MARKET. Each type must be specified at most once.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AFFINITY", +"IN_MARKET", +"MOBILE_APP_INSTALL_USER", +"VERTICAL_GEO", +"NEW_SMART_PHONE_USER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The affinity for this user interest.", +"The market for this user interest.", +"Users known to have installed applications in the specified categories.", +"The geographical location of the interest-based vertical.", +"User interest criteria for new smart phone users." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse": { +"description": "Response message for ReachPlanService.ListPlannableUserInterests.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse", +"properties": { +"plannableUserInterests": { +"description": "The list of plannable user interests.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__PlannableUserInterest" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest": { +"description": "Request message for ReachPlanService.ListPlannableUserLists that lists the available user lists for a customer.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest", +"properties": { +"customerId": { +"description": "Required. The ID of the customer.", +"type": "string" +}, +"customerReachGroup": { +"description": "The name of the customer being planned for. This is a user-defined value.", +"type": "string" +}, +"reachApplicationInfo": { +"$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", +"description": "Optional. Additional information on the application issuing the request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse": { +"description": "A response with all available user lists with their plannable status.", +"id": "GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse", +"properties": { +"plannableUserLists": { +"description": "The list of user lists available for planning and related targeting metadata.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__PlannableUserList" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy": { +"description": "Manual CPC Bidding Strategy.", +"id": "GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy", +"properties": { +"dailyBudgetMicros": { +"description": "Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.", +"format": "int64", +"type": "string" +}, +"maxCpcBidMicros": { +"description": "Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy": { +"description": "Maximize Clicks Bidding Strategy.", +"id": "GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy", +"properties": { +"dailyTargetSpendMicros": { +"description": "Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.", +"format": "int64", +"type": "string" +}, +"maxCpcBidCeilingMicros": { +"description": "Ceiling on max CPC bids in micros.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy": { +"description": "Maximize Conversions Bidding Strategy.", +"id": "GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy", +"properties": { +"dailyTargetSpendMicros": { +"description": "Required. The daily target spend in micros to be used for estimation. This value must be greater than zero.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MetricAttributes": { +"description": "Indicates the attributes of metrics.", +"id": "GoogleAdsSearchads360V23Services__MetricAttributes", +"properties": { +"attributes": { +"description": "The attributes of the metric.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_MetricAttributes_Attribute" +}, +"type": "array" +}, +"name": { +"description": "The name of the metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__Metrics": { +"description": "All metrics returned against a criteria.", +"id": "GoogleAdsSearchads360V23Services__Metrics", +"properties": { +"averageRateMetrics": { +"$ref": "GoogleAdsSearchads360V23Services__RateMetrics", +"description": "Average rate metrics calculated by dividing one metric by another." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MoveManagerLinkRequest": { +"description": "Request message for CustomerManagerLinkService.MoveManagerLink.", +"id": "GoogleAdsSearchads360V23Services__MoveManagerLinkRequest", +"properties": { +"newManager": { +"description": "Required. The resource name of the new manager customer that the client wants to move to. Customer resource names have the format: \"customers/{customer_id}\"", +"type": "string" +}, +"previousCustomerManagerLink": { +"description": "Required. The resource name of the previous CustomerManagerLink. The resource name has the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MoveManagerLinkResponse": { +"description": "Response message for a CustomerManagerLink moveManagerLink.", +"id": "GoogleAdsSearchads360V23Services__MoveManagerLinkResponse", +"properties": { +"resourceName": { +"description": "Returned for successful operations. Represents a CustomerManagerLink resource of the newly created link between client customer and new manager customer.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest": { +"description": "Request message for AccountBudgetProposalService.MutateAccountBudgetProposal.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation", +"description": "Required. The operation to perform on an individual account-level budget proposal." +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse": { +"description": "Response message for account-level budget mutate operations.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult", +"description": "The result of the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult": { +"description": "The result for the account budget proposal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountLinkRequest": { +"description": "Request message for AccountLinkService.MutateAccountLink.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountLinkRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__AccountLinkOperation", +"description": "Required. The operation to perform on the link." +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountLinkResponse": { +"description": "Response message for account link mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountLinkResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkResult", +"description": "Result for the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAccountLinkResult": { +"description": "The result for the account link mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAccountLinkResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult": { +"description": "The result for an ad group ad label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest": { +"description": "Request message for AdGroupAdLabelService.MutateAdGroupAdLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on ad group ad labels.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse": { +"description": "Response message for an ad group ad labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdResult": { +"description": "The result for the ad mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult", +"properties": { +"adGroupAd": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"description": "The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "The resource name returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest": { +"description": "Request message for AdGroupAdService.MutateAdGroupAds.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ads.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAdOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse": { +"description": "Response message for an ad group ad mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult": { +"description": "The result for the ad group asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult", +"properties": { +"adGroupAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"description": "The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult": { +"description": "The result for the ad group asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult", +"properties": { +"adGroupAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", +"description": "The mutated ad group asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest": { +"description": "Request message for AdGroupAssetSetService.MutateAdGroupAssetSets.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad group asset sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse": { +"description": "Response message for an ad group asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest": { +"description": "Request message for AdGroupAssetService.MutateAdGroupAssets.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad group assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse": { +"description": "Response message for an ad group asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult": { +"description": "The result for the criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult", +"properties": { +"adGroupBidModifier": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"description": "The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest": { +"description": "Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad group bid modifiers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse": { +"description": "Response message for ad group bid modifiers mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest": { +"description": "Request message for AdGroupCriterionService.MutateAdGroupCriteria.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual criteria.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse": { +"description": "Response message for an ad group criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult": { +"description": "The result for the ad group criterion customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult", +"properties": { +"adGroupCriterionCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", +"description": "The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest": { +"description": "Request message for AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad group criterion customizers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse": { +"description": "Response message for an ad group criterion customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult": { +"description": "The result for an ad group criterion label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest": { +"description": "Request message for AdGroupCriterionLabelService.MutateAdGroupCriterionLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on ad group criterion labels.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse": { +"description": "Response message for an ad group criterion labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult": { +"description": "The result for the criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult", +"properties": { +"adGroupCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"description": "The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult": { +"description": "The result for the ad group customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult", +"properties": { +"adGroupCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", +"description": "The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest": { +"description": "Request message for AdGroupCustomizerService.MutateAdGroupCustomizers.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad group customizers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse": { +"description": "Response message for an ad group customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult": { +"description": "The result for an ad group label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest": { +"description": "Request message for AdGroupLabelService.MutateAdGroupLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on ad group labels.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse": { +"description": "Response message for an ad group labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupResult": { +"description": "The result for the ad group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupResult", +"properties": { +"adGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroup", +"description": "The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupsRequest": { +"description": "Request message for AdGroupService.MutateAdGroups.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad groups.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdGroupsResponse": { +"description": "Response message for an ad group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdGroupsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdParameterResult": { +"description": "The result for the ad parameter mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdParameterResult", +"properties": { +"adParameter": { +"$ref": "GoogleAdsSearchads360V23Resources__AdParameter", +"description": "The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "The resource name returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdParametersRequest": { +"description": "Request message for AdParameterService.MutateAdParameters", +"id": "GoogleAdsSearchads360V23Services__MutateAdParametersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ad parameters.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdParameterOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdParametersResponse": { +"description": "Response message for an ad parameter mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdParametersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdParameterResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdResult": { +"description": "The result for the ad mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdResult", +"properties": { +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "The resource name returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdsRequest": { +"description": "Request message for AdService.MutateAds.", +"id": "GoogleAdsSearchads360V23Services__MutateAdsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual ads.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AdOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAdsResponse": { +"description": "Response message for an ad mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAdsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult": { +"description": "The result for the asset group asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest": { +"description": "Request message for AssetGroupAssetService.MutateAssetGroupAssets.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset group assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse": { +"description": "Response message for an asset group asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult": { +"description": "The result for the asset group listing group filter mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult", +"properties": { +"assetGroupListingGroupFilter": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", +"description": "The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest": { +"description": "Request message for AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. partial_failure is not supported because the tree needs to be validated together.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset group listing group filters.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation" +}, +"type": "array" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse": { +"description": "Response message for an asset group listing group filter mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupResult": { +"description": "The result for the asset group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult": { +"description": "The result for the asset group signal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult", +"properties": { +"assetGroupSignal": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", +"description": "The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest": { +"description": "Request message for AssetGroupSignalService.MutateAssetGroupSignals.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset group signals.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse": { +"description": "Response message for an asset group signal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest": { +"description": "Request message for AssetGroupService.MutateAssetGroups.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset groups.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse": { +"description": "Response message for an asset group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetResult": { +"description": "The result for the asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetResult", +"properties": { +"asset": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset", +"description": "The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "The resource name returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult": { +"description": "The result for the asset set asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult", +"properties": { +"assetSetAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", +"description": "The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest": { +"description": "Request message for AssetSetAssetService.MutateAssetSetAssets.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset set assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse": { +"description": "Response message for an asset set asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetResult": { +"description": "The result for the asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetResult", +"properties": { +"assetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSet", +"description": "The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetsRequest": { +"description": "Request message for AssetSetService.MutateAssetSets.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual asset sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetSetsResponse": { +"description": "Response message for an asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetsRequest": { +"description": "Request message for AssetService.MutateAssets", +"id": "GoogleAdsSearchads360V23Services__MutateAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAssetsResponse": { +"description": "Response message for an asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAudienceResult": { +"description": "The result for the audience mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAudienceResult", +"properties": { +"audience": { +"$ref": "GoogleAdsSearchads360V23Resources__Audience", +"description": "The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAudiencesRequest": { +"description": "Request message for AudienceService.MutateAudiences.", +"id": "GoogleAdsSearchads360V23Services__MutateAudiencesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual audiences.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateAudiencesResponse": { +"description": "Response message for an audience mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateAudiencesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAudienceResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBatchJobRequest": { +"description": "Request message for BatchJobService.MutateBatchJob.", +"id": "GoogleAdsSearchads360V23Services__MutateBatchJobRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__BatchJobOperation", +"description": "Required. The operation to perform on an individual batch job." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBatchJobResponse": { +"description": "Response message for BatchJobService.MutateBatchJob.", +"id": "GoogleAdsSearchads360V23Services__MutateBatchJobResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobResult", +"description": "The result for the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBatchJobResult": { +"description": "The result for the batch job mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBatchJobResult", +"properties": { +"resourceName": { +"description": "The resource name of the batch job.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest": { +"description": "Request message for BiddingDataExclusionService.MutateBiddingDataExclusions.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual data exclusions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse": { +"description": "Response message for data exclusions mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult": { +"description": "The result for the data exclusion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult", +"properties": { +"biddingDataExclusion": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", +"description": "The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest": { +"description": "Request message for BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual seasonality adjustments.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse": { +"description": "Response message for seasonality adjustments mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult": { +"description": "The result for the seasonality adjustment mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult", +"properties": { +"biddingSeasonalityAdjustment": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", +"description": "The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest": { +"description": "Request message for BiddingStrategyService.MutateBiddingStrategies.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual bidding strategies.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse": { +"description": "Response message for bidding strategy mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult": { +"description": "The result for the bidding strategy mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult", +"properties": { +"biddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", +"description": "The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBillingSetupRequest": { +"description": "Request message for billing setup mutate operations.", +"id": "GoogleAdsSearchads360V23Services__MutateBillingSetupRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__BillingSetupOperation", +"description": "Required. The operation to perform." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBillingSetupResponse": { +"description": "Response message for a billing setup operation.", +"id": "GoogleAdsSearchads360V23Services__MutateBillingSetupResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupResult", +"description": "A result that identifies the resource affected by the mutate request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateBillingSetupResult": { +"description": "Result for a single billing setup mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateBillingSetupResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetResult": { +"description": "The result for the campaign asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult", +"properties": { +"campaignAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"description": "The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult": { +"description": "The result for the campaign asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult", +"properties": { +"campaignAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", +"description": "The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest": { +"description": "Request message for CampaignAssetSetService.MutateCampaignAssetSets.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign asset sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse": { +"description": "Response message for a campaign asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest": { +"description": "Request message for CampaignAssetService.MutateCampaignAssets.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse": { +"description": "Response message for a campaign asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult": { +"description": "The result for the criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult", +"properties": { +"campaignBidModifier": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", +"description": "The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest": { +"description": "Request message for CampaignBidModifierService.MutateCampaignBidModifiers.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign bid modifiers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse": { +"description": "Response message for campaign bid modifiers mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult": { +"description": "The result for the campaign budget mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult", +"properties": { +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"description": "The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest": { +"description": "Request message for CampaignBudgetService.MutateCampaignBudgets.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign budgets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse": { +"description": "Response message for campaign budget mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult": { +"description": "The result for the campaign conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest": { +"description": "Request message for CampaignConversionGoalService.MutateCampaignConversionGoals.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign conversion goal.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse": { +"description": "Response message for a campaign conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest": { +"description": "Request message for CampaignCriterionService.MutateCampaignCriteria.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual criteria.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse": { +"description": "Response message for campaign criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult": { +"description": "The result for the criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult", +"properties": { +"campaignCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"description": "The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult": { +"description": "The result for the campaign customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult", +"properties": { +"campaignCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", +"description": "The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest": { +"description": "Request message for CampaignCustomizerService.MutateCampaignCustomizers.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign customizers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse": { +"description": "Response message for a campaign customizer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignDraftResult": { +"description": "The result for the campaign draft mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult", +"properties": { +"campaignDraft": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", +"description": "The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest": { +"description": "Request message for CampaignDraftService.MutateCampaignDrafts.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign drafts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignDraftOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse": { +"description": "Response message for campaign draft mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult": { +"description": "The result for the campaign goal config mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest": { +"description": "Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on the campaign goal configs.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse": { +"description": "Response message for a campaign goal config mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGroupResult": { +"description": "The result for the campaign group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult", +"properties": { +"campaignGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", +"description": "The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Required. Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest": { +"description": "Request message for CampaignGroupService.MutateCampaignGroups.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign groups.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignGroupOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse": { +"description": "Response message for campaign group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignLabelResult": { +"description": "The result for a campaign label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest": { +"description": "Request message for CampaignLabelService.MutateCampaignLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on campaign-label relationships.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignLabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse": { +"description": "Response message for a campaign labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignResult": { +"description": "The result for the campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignResult", +"properties": { +"campaign": { +"$ref": "GoogleAdsSearchads360V23Resources__Campaign", +"description": "The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult": { +"description": "The result for the campaign shared set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult", +"properties": { +"campaignSharedSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", +"description": "The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest": { +"description": "Request message for CampaignSharedSetService.MutateCampaignSharedSets.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaign shared sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse": { +"description": "Response message for a campaign shared set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignsRequest": { +"description": "Request message for CampaignService.MutateCampaigns.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual campaigns.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCampaignsResponse": { +"description": "Response message for campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCampaignsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionActionResult": { +"description": "The result for the conversion action mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionActionResult", +"properties": { +"conversionAction": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", +"description": "The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionActionsRequest": { +"description": "Request message for ConversionActionService.MutateConversionActions.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionActionsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual conversion actions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionActionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionActionsResponse": { +"description": "Response message for ConversionActionService.MutateConversionActions.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionActionsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult": { +"description": "The result for the conversion custom variable mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult", +"properties": { +"conversionCustomVariable": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", +"description": "The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest": { +"description": "Request message for ConversionCustomVariableService.MutateConversionCustomVariables.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual conversion custom variables.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse": { +"description": "Response message for ConversionCustomVariableService.MutateConversionCustomVariables.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult": { +"description": "The result for the conversion goal campaign config mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult", +"properties": { +"conversionGoalCampaignConfig": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", +"description": "The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest": { +"description": "Request message for ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual conversion goal campaign config.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation" +}, +"type": "array" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse": { +"description": "Response message for a conversion goal campaign config mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult": { +"description": "The result for the conversion value rule mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult", +"properties": { +"conversionValueRule": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", +"description": "The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult": { +"description": "The result for the conversion value rule set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult", +"properties": { +"conversionValueRuleSet": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", +"description": "The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest": { +"description": "Request message for ConversionValueRuleSetService.MutateConversionValueRuleSets.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual conversion value rule sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse": { +"description": "Response message for ConversionValueRuleSetService.MutateConversionValueRuleSets.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest": { +"description": "Request message for ConversionValueRuleService.MutateConversionValueRules.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual conversion value rules.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse": { +"description": "Response message for ConversionValueRuleService.MutateConversionValueRules.", +"id": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomAudienceResult": { +"description": "The result for the custom audience mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomAudienceResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest": { +"description": "Request message for CustomAudienceService.MutateCustomAudiences.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual custom audiences.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomAudienceOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse": { +"description": "Response message for custom audience mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudienceResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult": { +"description": "The result for the custom conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult", +"properties": { +"customConversionGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", +"description": "The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest": { +"description": "Request message for CustomConversionGoalService.MutateCustomConversionGoals.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual custom conversion goal.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation" +}, +"type": "array" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse": { +"description": "Response message for a custom conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomInterestResult": { +"description": "The result for the custom interest mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomInterestResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest": { +"description": "Request message for CustomInterestService.MutateCustomInterests.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual custom interests.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomInterestOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse": { +"description": "Response message for custom interest mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetResult": { +"description": "The result for the customer asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult", +"properties": { +"customerAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"description": "The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult": { +"description": "The result for the customer asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult", +"properties": { +"customerAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", +"description": "The mutated customer asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest": { +"description": "Request message for CustomerAssetSetService.MutateCustomerAssetSets.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customer asset sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerAssetSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse": { +"description": "Response message for a customer asset set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest": { +"description": "Request message for CustomerAssetService.MutateCustomerAssets.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customer assets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse": { +"description": "Response message for a customer asset mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest": { +"description": "Request message for CustomerClientLinkService.MutateCustomerClientLink.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerClientLinkOperation", +"description": "Required. The operation to perform on the individual CustomerClientLink." +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse": { +"description": "Response message for a CustomerClientLink mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult", +"description": "A result that identifies the resource affected by the mutate request." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult": { +"description": "The result for a single customer client link mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult": { +"description": "The result for the customer conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest": { +"description": "Request message for CustomerConversionGoalService.MutateCustomerConversionGoals.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customer conversion goal.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse": { +"description": "Response message for a customer conversion goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse", +"properties": { +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult": { +"description": "The result for the customizer attribute mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult", +"properties": { +"customerCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", +"description": "The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest": { +"description": "Request message for CustomerCustomizerService.MutateCustomerCustomizers.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customer customizers.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse": { +"description": "Response message for a customizer attribute mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerLabelResult": { +"description": "The result for a customer label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest": { +"description": "Request message for CustomerLabelService.MutateCustomerLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on customer-label relationships.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerLabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse": { +"description": "Response message for a customer labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest": { +"description": "Request message for CustomerManagerLinkService.MutateCustomerManagerLink.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customer manager links.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation" +}, +"type": "array" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse": { +"description": "Response message for a CustomerManagerLink mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse", +"properties": { +"results": { +"description": "A result that identifies the resource affected by the mutate request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult": { +"description": "The result for the customer manager link mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest": { +"description": "Request message for CustomerNegativeCriterionService.MutateCustomerNegativeCriteria.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual criteria.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse": { +"description": "Response message for customer negative criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult": { +"description": "The result for the criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult", +"properties": { +"customerNegativeCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", +"description": "The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerRequest": { +"description": "Request message for CustomerService.MutateCustomer.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerOperation", +"description": "Required. The operation to perform on the customer" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerResponse": { +"description": "Response message for customer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResult", +"description": "Result for the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerResult": { +"description": "The result for the customer mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerResult", +"properties": { +"customer": { +"$ref": "GoogleAdsSearchads360V23Resources__Customer", +"description": "The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest": { +"description": "Request message for CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest", +"properties": { +"enableWarnings": { +"description": "Optional. If true, enables returning warnings. Warnings return error messages and error codes without blocking the execution of the mutate operation.", +"type": "boolean" +}, +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation", +"description": "The operation to perform." +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse": { +"description": "Response message for MutateCustomerSkAdNetworkConversionValueSchema.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult", +"description": "All results for the mutate." +}, +"warning": { +"$ref": "GoogleRpc__Status", +"description": "Non blocking errors that provides schema validation failure details. Returned only when enable_warnings = true." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult": { +"description": "The result for the CustomerSkAdNetworkConversionValueSchema mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult", +"properties": { +"appId": { +"description": "App ID of the SkanConversionValue modified.", +"type": "string" +}, +"resourceName": { +"description": "Resource name of the customer that was modified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest": { +"description": "Request message for CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation", +"description": "Required. The operation to perform on the access invitation" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse": { +"description": "Response message for access invitation mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult", +"description": "Result for the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult": { +"description": "The result for the access invitation mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest": { +"description": "Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest", +"properties": { +"operation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerUserAccessOperation", +"description": "Required. The operation to perform on the customer" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse": { +"description": "Response message for customer user access mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse", +"properties": { +"result": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult", +"description": "Result for the mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult": { +"description": "The result for the customer user access mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult": { +"description": "The result for the customizer attribute mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult", +"properties": { +"customizerAttribute": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", +"description": "The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest": { +"description": "Request message for CustomizerAttributeService.MutateCustomizerAttributes.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual customizer attributes.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse": { +"description": "Response message for a customizer attribute mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentArmResult": { +"description": "The result for the experiment arm mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult", +"properties": { +"experimentArm": { +"$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", +"description": "The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest": { +"description": "Request message for ExperimentArmService.MutateExperimentArms.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual experiment arm.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ExperimentArmOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse": { +"description": "Response message for experiment arm mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentResult": { +"description": "The result for the campaign experiment mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentsRequest": { +"description": "Request message for ExperimentService.MutateExperiments.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual experiments.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ExperimentOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateExperimentsResponse": { +"description": "Response message for experiment mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateExperimentsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateGoalResult": { +"description": "The result for the goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateGoalResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateGoalsRequest": { +"description": "Request message for GoalService.MutateGoals.", +"id": "GoogleAdsSearchads360V23Services__MutateGoalsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on the goals.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__GoalOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateGoalsResponse": { +"description": "Response message for a goal mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateGoalsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateGoalResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult": { +"description": "The result for the Keyword Plan ad group keyword mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest": { +"description": "Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual Keyword Plan ad group keywords.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse": { +"description": "Response message for a Keyword Plan ad group keyword mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult": { +"description": "The result for the Keyword Plan ad group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest": { +"description": "Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual Keyword Plan ad groups.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse": { +"description": "Response message for a Keyword Plan ad group mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate. The order of the results is determined by the order of the keywords in the original request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult": { +"description": "The result for the Keyword Plan campaign keyword mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest": { +"description": "Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual Keyword Plan campaign keywords.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse": { +"description": "Response message for a Keyword Plan campaign keyword mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult": { +"description": "The result for the Keyword Plan campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest": { +"description": "Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual Keyword Plan campaigns.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse": { +"description": "Response message for a Keyword Plan campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest": { +"description": "Request message for KeywordPlanService.MutateKeywordPlans.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual keyword plans.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse": { +"description": "Response message for a keyword plan mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateKeywordPlansResult": { +"description": "The result for the keyword plan mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateLabelResult": { +"description": "The result for a label mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateLabelResult", +"properties": { +"label": { +"$ref": "GoogleAdsSearchads360V23Resources__Label", +"description": "The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateLabelsRequest": { +"description": "Request message for LabelService.MutateLabels.", +"id": "GoogleAdsSearchads360V23Services__MutateLabelsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on labels.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__LabelOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateLabelsResponse": { +"description": "Response message for a labels mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateLabelsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateLabelResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateOperation": { +"description": "A single operation (create, update, remove) on a resource.", +"id": "GoogleAdsSearchads360V23Services__MutateOperation", +"properties": { +"adGroupAdLabelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation", +"description": "An ad group ad label mutate operation." +}, +"adGroupAdOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAdOperation", +"description": "An ad group ad mutate operation." +}, +"adGroupAssetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation", +"description": "An ad group asset mutate operation." +}, +"adGroupBidModifierOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation", +"description": "An ad group bid modifier mutate operation." +}, +"adGroupCriterionCustomizerOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation", +"description": "An ad group criterion customizer mutate operation." +}, +"adGroupCriterionLabelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation", +"description": "An ad group criterion label mutate operation." +}, +"adGroupCriterionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation", +"description": "An ad group criterion mutate operation." +}, +"adGroupCustomizerOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation", +"description": "An ad group customizer mutate operation." +}, +"adGroupLabelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation", +"description": "An ad group label mutate operation." +}, +"adGroupOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdGroupOperation", +"description": "An ad group mutate operation." +}, +"adOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdOperation", +"description": "An ad mutate operation." +}, +"adParameterOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AdParameterOperation", +"description": "An ad parameter mutate operation." +}, +"assetGroupAssetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation", +"description": "An asset group asset mutate operation." +}, +"assetGroupListingGroupFilterOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation", +"description": "An asset group listing group filter mutate operation." +}, +"assetGroupOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupOperation", +"description": "An asset group mutate operation." +}, +"assetGroupSignalOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation", +"description": "An asset group signal mutate operation." +}, +"assetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetOperation", +"description": "An asset mutate operation." +}, +"assetSetAssetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation", +"description": "An asset set asset mutate operation." +}, +"assetSetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AssetSetOperation", +"description": "An asset set mutate operation." +}, +"audienceOperation": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceOperation", +"description": "An audience mutate operation." +}, +"biddingDataExclusionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation", +"description": "A bidding data exclusion mutate operation." +}, +"biddingSeasonalityAdjustmentOperation": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation", +"description": "A bidding seasonality adjustment mutate operation." +}, +"biddingStrategyOperation": { +"$ref": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation", +"description": "A bidding strategy mutate operation." +}, +"campaignAssetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignAssetOperation", +"description": "A campaign asset mutate operation." +}, +"campaignAssetSetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation", +"description": "A campaign asset mutate operation." +}, +"campaignBidModifierOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation", +"description": "A campaign bid modifier mutate operation." +}, +"campaignBudgetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation", +"description": "A campaign budget mutate operation." +}, +"campaignConversionGoalOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation", +"description": "A campaign conversion goal mutate operation." +}, +"campaignCriterionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation", +"description": "A campaign criterion mutate operation." +}, +"campaignCustomizerOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation", +"description": "A campaign customizer mutate operation." +}, +"campaignDraftOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignDraftOperation", +"description": "A campaign draft mutate operation." +}, +"campaignGroupOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignGroupOperation", +"description": "A campaign group mutate operation." +}, +"campaignLabelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignLabelOperation", +"description": "A campaign label mutate operation." +}, +"campaignOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignOperation", +"description": "A campaign mutate operation." +}, +"campaignSharedSetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation", +"description": "A campaign shared set mutate operation." +}, +"conversionActionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionActionOperation", +"description": "A conversion action mutate operation." +}, +"conversionCustomVariableOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation", +"description": "A conversion custom variable mutate operation." +}, +"conversionGoalCampaignConfigOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation", +"description": "A conversion goal campaign config mutate operation." +}, +"conversionValueRuleOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation", +"description": "A conversion value rule mutate operation." +}, +"conversionValueRuleSetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation", +"description": "A conversion value rule set mutate operation." +}, +"customConversionGoalOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation", +"description": "A custom conversion goal mutate operation." +}, +"customerAssetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerAssetOperation", +"description": "A customer asset mutate operation." +}, +"customerConversionGoalOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation", +"description": "A customer conversion goal mutate operation." +}, +"customerCustomizerOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation", +"description": "A customer customizer mutate operation." +}, +"customerLabelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerLabelOperation", +"description": "A customer label mutate operation." +}, +"customerNegativeCriterionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation", +"description": "A customer negative criterion mutate operation." +}, +"customerOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomerOperation", +"description": "A customer mutate operation." +}, +"customizerAttributeOperation": { +"$ref": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation", +"description": "A customizer attribute mutate operation." +}, +"experimentArmOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ExperimentArmOperation", +"description": "An experiment arm mutate operation." +}, +"experimentOperation": { +"$ref": "GoogleAdsSearchads360V23Services__ExperimentOperation", +"description": "An experiment mutate operation." +}, +"keywordPlanAdGroupKeywordOperation": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation", +"description": "A keyword plan ad group keyword operation." +}, +"keywordPlanAdGroupOperation": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation", +"description": "A keyword plan ad group operation." +}, +"keywordPlanCampaignKeywordOperation": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation", +"description": "A keyword plan campaign keyword operation." +}, +"keywordPlanCampaignOperation": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation", +"description": "A keyword plan campaign operation." +}, +"keywordPlanOperation": { +"$ref": "GoogleAdsSearchads360V23Services__KeywordPlanOperation", +"description": "A keyword plan operation." +}, +"labelOperation": { +"$ref": "GoogleAdsSearchads360V23Services__LabelOperation", +"description": "A label mutate operation." +}, +"recommendationSubscriptionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation", +"description": "A recommendation subscription mutate operation." +}, +"remarketingActionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__RemarketingActionOperation", +"description": "A remarketing action mutate operation." +}, +"searchAds360CampaignOperation": { +"$ref": "GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation", +"description": "A Search Ads 360 campaign mutate operation." +}, +"sharedCriterionOperation": { +"$ref": "GoogleAdsSearchads360V23Services__SharedCriterionOperation", +"description": "A shared criterion mutate operation." +}, +"sharedSetOperation": { +"$ref": "GoogleAdsSearchads360V23Services__SharedSetOperation", +"description": "A shared set mutate operation." +}, +"smartCampaignSettingOperation": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation", +"description": "A Smart campaign setting mutate operation." +}, +"userListOperation": { +"$ref": "GoogleAdsSearchads360V23Services__UserListOperation", +"description": "A user list mutate operation." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateOperationResponse": { +"description": "Response message for the resource mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateOperationResponse", +"properties": { +"adGroupAdLabelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult", +"description": "The result for the ad group ad label mutate." +}, +"adGroupAdResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult", +"description": "The result for the ad group ad mutate." +}, +"adGroupAssetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult", +"description": "The result for the ad group asset mutate." +}, +"adGroupBidModifierResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult", +"description": "The result for the ad group bid modifier mutate." +}, +"adGroupCriterionCustomizerResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult", +"description": "The result for the ad group criterion customizer mutate." +}, +"adGroupCriterionLabelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult", +"description": "The result for the ad group criterion label mutate." +}, +"adGroupCriterionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult", +"description": "The result for the ad group criterion mutate." +}, +"adGroupCustomizerResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult", +"description": "The result for the ad group customizer mutate." +}, +"adGroupLabelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult", +"description": "The result for the ad group label mutate." +}, +"adGroupResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupResult", +"description": "The result for the ad group mutate." +}, +"adParameterResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdParameterResult", +"description": "The result for the ad parameter mutate." +}, +"adResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAdResult", +"description": "The result for the ad mutate." +}, +"assetGroupAssetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult", +"description": "The result for the asset group asset mutate." +}, +"assetGroupListingGroupFilterResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult", +"description": "The result for the asset group listing group filter mutate." +}, +"assetGroupResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult", +"description": "The result for the asset group mutate." +}, +"assetGroupSignalResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult", +"description": "The result for the asset group signal mutate." +}, +"assetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetResult", +"description": "The result for the asset mutate." +}, +"assetSetAssetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult", +"description": "The result for the asset set asset mutate." +}, +"assetSetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetResult", +"description": "The result for the asset set mutate." +}, +"audienceResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateAudienceResult", +"description": "The result for the audience mutate." +}, +"biddingDataExclusionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult", +"description": "The result for the bidding data exclusion mutate." +}, +"biddingSeasonalityAdjustmentResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult", +"description": "The result for the bidding seasonality adjustment mutate." +}, +"biddingStrategyResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult", +"description": "The result for the bidding strategy mutate." +}, +"campaignAssetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult", +"description": "The result for the campaign asset mutate." +}, +"campaignAssetSetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult", +"description": "The result for the campaign asset set mutate." +}, +"campaignBidModifierResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult", +"description": "The result for the campaign bid modifier mutate." +}, +"campaignBudgetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult", +"description": "The result for the campaign budget mutate." +}, +"campaignConversionGoalResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult", +"description": "The result for the campaign conversion goal mutate." +}, +"campaignCriterionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult", +"description": "The result for the campaign criterion mutate." +}, +"campaignCustomizerResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult", +"description": "The result for the campaign customizer mutate." +}, +"campaignDraftResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult", +"description": "The result for the campaign draft mutate." +}, +"campaignGroupResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult", +"description": "The result for the campaign group mutate." +}, +"campaignLabelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult", +"description": "The result for the campaign label mutate." +}, +"campaignResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignResult", +"description": "The result for the campaign mutate." +}, +"campaignSharedSetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult", +"description": "The result for the campaign shared set mutate." +}, +"conversionActionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionResult", +"description": "The result for the conversion action mutate." +}, +"conversionCustomVariableResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult", +"description": "The result for the conversion custom variable mutate." +}, +"conversionGoalCampaignConfigResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult", +"description": "The result for the conversion goal campaign config mutate." +}, +"conversionValueRuleResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult", +"description": "The result for the conversion value rule mutate." +}, +"conversionValueRuleSetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult", +"description": "The result for the conversion value rule set mutate." +}, +"customConversionGoalResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult", +"description": "The result for the custom conversion goal mutate." +}, +"customerAssetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult", +"description": "The result for the customer asset mutate." +}, +"customerConversionGoalResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult", +"description": "The result for the customer conversion goal mutate." +}, +"customerCustomizerResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult", +"description": "The result for the customer customizer mutate." +}, +"customerLabelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult", +"description": "The result for the customer label mutate." +}, +"customerNegativeCriterionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult", +"description": "The result for the customer negative criterion mutate." +}, +"customerResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResult", +"description": "The result for the customer mutate." +}, +"customizerAttributeResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult", +"description": "The result for the customizer attribute mutate." +}, +"experimentArmResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult", +"description": "The result for the experiment arm mutate." +}, +"experimentResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateExperimentResult", +"description": "The result for the experiment mutate." +}, +"keywordPlanAdGroupKeywordResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult", +"description": "The result for the keyword plan ad group keyword mutate." +}, +"keywordPlanAdGroupResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult", +"description": "The result for the keyword plan ad group mutate." +}, +"keywordPlanCampaignKeywordResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult", +"description": "The result for the keyword plan campaign keyword mutate." +}, +"keywordPlanCampaignResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult", +"description": "The result for the keyword plan campaign mutate." +}, +"keywordPlanResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult", +"description": "The result for the keyword plan mutate." +}, +"labelResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateLabelResult", +"description": "The result for the label mutate." +}, +"recommendationSubscriptionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult", +"description": "The result for the recommendation subscription mutate." +}, +"remarketingActionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult", +"description": "The result for the remarketing action mutate." +}, +"searchAds360CampaignResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult", +"description": "The result for the Search Ads 360 campaign mutate." +}, +"sharedCriterionResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult", +"description": "The result for the shared criterion mutate." +}, +"sharedSetResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetResult", +"description": "The result for the shared set mutate." +}, +"smartCampaignSettingResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult", +"description": "The result for the Smart campaign setting mutate." +}, +"userListResult": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListResult", +"description": "The result for the user list mutate." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest": { +"description": "Request message for RecommendationSubscriptionService.MutateRecommendationSubscription", +"id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest", +"properties": { +"operations": { +"description": "Required. The list of create or update operations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, MutateCampaignResult.campaign.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse": { +"description": "Response message for RecommendationSubscriptionService.MutateRecommendationSubscription", +"id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." +}, +"results": { +"description": "Results, one per operation.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult": { +"description": "Result message for RecommendationSubscriptionService.MutateRecommendationSubscription", +"id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult", +"properties": { +"recommendationSubscription": { +"$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", +"description": "The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +}, +"resourceName": { +"description": "Resource name of the subscription that was modified.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRemarketingActionResult": { +"description": "The result for the remarketing action mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest": { +"description": "Request message for RemarketingActionService.MutateRemarketingActions.", +"id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual remarketing actions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__RemarketingActionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse": { +"description": "Response message for remarketing action mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult": { +"description": "The result for the Search Ads 360 campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +}, +"searchAds360Campaign": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", +"description": "The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSearchAds360Request": { +"description": "Request message for Service.Mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSearchAds360Request", +"properties": { +"mutateOperations": { +"description": "Required. The list of operations to perform on individual resources.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, .", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSearchAds360Response": { +"description": "Response message for Service.Mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSearchAds360Response", +"properties": { +"mutateOperationResponses": { +"description": "All responses for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateOperationResponse" +}, +"type": "array" +}, +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest": { +"description": "Request message for SharedCriterionService.MutateSharedCriteria.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual shared criteria.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__SharedCriterionOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse": { +"description": "Response message for a shared criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedCriterionResult": { +"description": "The result for the shared criterion mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +}, +"sharedCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", +"description": "The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedSetResult": { +"description": "The result for the shared set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedSetResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +}, +"sharedSet": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedSet", +"description": "The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedSetsRequest": { +"description": "Request message for SharedSetService.MutateSharedSets.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedSetsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual shared sets.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__SharedSetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSharedSetsResponse": { +"description": "Response message for a shared set mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSharedSetsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult": { +"description": "The result for the Smart campaign setting mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +}, +"smartCampaignSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", +"description": "The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest": { +"description": "Request message for SmartCampaignSettingService.MutateSmartCampaignSettings.", +"id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual Smart campaign settings.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"responseContentType": { +"description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", +"enum": [ +"UNSPECIFIED", +"RESOURCE_NAME_ONLY", +"MUTABLE_RESOURCE" +], +"enumDescriptions": [ +"Not specified. Will return the resource name only in the response.", +"The mutate response will be the resource name.", +"The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." +], +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse": { +"description": "Response message for campaign mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult": { +"description": "The result for the user list customer type mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest": { +"description": "Request message for UserListCustomerTypeService.MutateUserListCustomerTypes.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on the user list customer types.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse": { +"description": "Response message for a user list customer type mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListResult": { +"description": "The result for the user list mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListResult", +"properties": { +"resourceName": { +"description": "Returned for successful operations.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListsRequest": { +"description": "Request message for UserListService.MutateUserLists.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListsRequest", +"properties": { +"operations": { +"description": "Required. The list of operations to perform on individual user lists.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__UserListOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", +"type": "boolean" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__MutateUserListsResponse": { +"description": "Response message for user list mutate.", +"id": "GoogleAdsSearchads360V23Services__MutateUserListsResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." +}, +"results": { +"description": "All results for the mutate.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MutateUserListResult" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation": { +"description": "Operation to be made for the AddOfflineUserDataJobOperationsRequest.", +"id": "GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Common__UserData", +"description": "Add the provided data to the transaction. Data cannot be retrieved after being uploaded." +}, +"remove": { +"$ref": "GoogleAdsSearchads360V23Common__UserData", +"description": "Remove the provided data from the transaction. Data cannot be retrieved after being uploaded." +}, +"removeAll": { +"description": "Remove all previously provided data. This is only supported for Customer Match.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics": { +"description": "Audience metrics for the planned products. These metrics consider the following targeting dimensions: - Location - PlannableAgeRange - Gender - AudienceTargeting (only for youtube_audience_size)", +"id": "GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics", +"properties": { +"censusAudienceSize": { +"description": "Reference audience size matching the considered targeting for Census.", +"format": "int64", +"type": "string" +}, +"youtubeAudienceSize": { +"description": "Reference audience size matching the considered targeting for YouTube.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannableLocation": { +"description": "A plannable location: country, metro region, province, etc.", +"id": "GoogleAdsSearchads360V23Services__PlannableLocation", +"properties": { +"countryCode": { +"description": "The ISO-3166-1 alpha-2 country code that is associated with the location.", +"type": "string" +}, +"id": { +"description": "The location identifier.", +"type": "string" +}, +"locationType": { +"description": "The location's type. Location types correspond to target_type returned by .", +"type": "string" +}, +"name": { +"description": "The unique location name in English.", +"type": "string" +}, +"parentCountryId": { +"description": "The parent country (not present if location is a country). If present, will always be a GeoTargetConstant ID. Additional information such as country name is provided by ReachPlanService.ListPlannableLocations or", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannableTargeting": { +"description": "The targeting for which traffic metrics will be reported.", +"id": "GoogleAdsSearchads360V23Services__PlannableTargeting", +"properties": { +"ageRanges": { +"description": "Allowed plannable age ranges for the product for which metrics will be reported. Actual targeting is computed by mapping this age range onto standard Google common.AgeRangeInfo values.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AGE_RANGE_18_24", +"AGE_RANGE_18_34", +"AGE_RANGE_18_44", +"AGE_RANGE_18_49", +"AGE_RANGE_18_54", +"AGE_RANGE_18_64", +"AGE_RANGE_18_65_UP", +"AGE_RANGE_21_34", +"AGE_RANGE_25_34", +"AGE_RANGE_25_44", +"AGE_RANGE_25_49", +"AGE_RANGE_25_54", +"AGE_RANGE_25_64", +"AGE_RANGE_25_65_UP", +"AGE_RANGE_35_44", +"AGE_RANGE_35_49", +"AGE_RANGE_35_54", +"AGE_RANGE_35_64", +"AGE_RANGE_35_65_UP", +"AGE_RANGE_45_54", +"AGE_RANGE_45_64", +"AGE_RANGE_45_65_UP", +"AGE_RANGE_50_65_UP", +"AGE_RANGE_55_64", +"AGE_RANGE_55_65_UP", +"AGE_RANGE_65_UP" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Between 18 and 24 years old.", +"Between 18 and 34 years old.", +"Between 18 and 44 years old.", +"Between 18 and 49 years old.", +"Between 18 and 54 years old.", +"Between 18 and 64 years old.", +"Between 18 and 65+ years old.", +"Between 21 and 34 years old.", +"Between 25 and 34 years old.", +"Between 25 and 44 years old.", +"Between 25 and 49 years old.", +"Between 25 and 54 years old.", +"Between 25 and 64 years old.", +"Between 25 and 65+ years old.", +"Between 35 and 44 years old.", +"Between 35 and 49 years old.", +"Between 35 and 54 years old.", +"Between 35 and 64 years old.", +"Between 35 and 65+ years old.", +"Between 45 and 54 years old.", +"Between 45 and 64 years old.", +"Between 45 and 65+ years old.", +"Between 50 and 65+ years old.", +"Between 55 and 64 years old.", +"Between 55 and 65+ years old.", +"65 years old and beyond." +], +"type": "string" +}, +"type": "array" +}, +"devices": { +"description": "Targetable devices for the ad product. TABLET device targeting is automatically applied to reported metrics when MOBILE targeting is selected for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__DeviceInfo" +}, +"type": "array" +}, +"genders": { +"description": "Targetable genders for the ad product.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo" +}, +"type": "array" +}, +"networks": { +"description": "Targetable networks for the ad product.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"YOUTUBE", +"GOOGLE_VIDEO_PARTNERS", +"YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"YouTube network.", +"Google Video Partners (GVP) network.", +"A combination of the YouTube network and the Google Video Partners network." +], +"type": "string" +}, +"type": "array" +}, +"surfaceTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations", +"description": "Targetable surface combinations for the ad product." +}, +"youtubeSelectLineups": { +"description": "Targetable YouTube Select Lineups for the ad product.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__YouTubeSelectLineUp" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannableUserInterest": { +"description": "A plannable user interest that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast.", +"id": "GoogleAdsSearchads360V23Services__PlannableUserInterest", +"properties": { +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", +"description": "The user interest id." +}, +"userInterestDisplayName": { +"description": "The user interest display name. For example, \"Autos & Vehicles\"", +"type": "string" +}, +"userInterestPath": { +"description": "The user interest path. For example, \"/Autos & Vehicles/Motor Vehicles/Motor Vehicles by Type/Off-Road Vehicles\"", +"type": "string" +}, +"userInterestType": { +"description": "The user interest type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AFFINITY", +"IN_MARKET", +"MOBILE_APP_INSTALL_USER", +"VERTICAL_GEO", +"NEW_SMART_PHONE_USER" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The affinity for this user interest.", +"The market for this user interest.", +"Users known to have installed applications in the specified categories.", +"The geographical location of the interest-based vertical.", +"User interest criteria for new smart phone users." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannableUserList": { +"description": "A plannable user list.", +"id": "GoogleAdsSearchads360V23Services__PlannableUserList", +"properties": { +"displayName": { +"description": "The name of the user list.", +"type": "string" +}, +"plannableStatus": { +"description": "The plannable status of the user list.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"PLANNABLE", +"UNPLANNABLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The user list is plannable.", +"The user list is not plannable." +], +"type": "string" +}, +"plannableUserListMetadata": { +"$ref": "GoogleAdsSearchads360V23Services__PlannableUserListMetadata", +"description": "The relevant metadata for this user list." +}, +"userListInfo": { +"$ref": "GoogleAdsSearchads360V23Common__UserListInfo", +"description": "The user list ID." +}, +"userListType": { +"description": "The user list type.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REMARKETING", +"LOGICAL", +"EXTERNAL_REMARKETING", +"RULE_BASED", +"SIMILAR", +"CRM_BASED", +"LOOKALIKE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"UserList represented as a collection of conversion types.", +"UserList represented as a combination of other user lists/interests.", +"UserList created in the Google Ad Manager platform.", +"UserList associated with a rule.", +"UserList with users similar to users of another UserList.", +"UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", +"LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannableUserListMetadata": { +"description": "The metadata associated with a plannable user list.", +"id": "GoogleAdsSearchads360V23Services__PlannableUserListMetadata", +"properties": { +"userListCrmDataSourceType": { +"description": "The data source type of a CRM based user list.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"FIRST_PARTY", +"THIRD_PARTY_CREDIT_BUREAU", +"THIRD_PARTY_VOTER_FILE", +"THIRD_PARTY_PARTNER_DATA" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The uploaded data is first-party data.", +"The uploaded data is from a third-party credit bureau.", +"The uploaded data is from a third-party voter file.", +"The uploaded data is third party partner data." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannedProduct": { +"description": "A product being planned for reach.", +"id": "GoogleAdsSearchads360V23Services__PlannedProduct", +"properties": { +"advancedProductTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__AdvancedProductTargeting", +"description": "Targeting settings for the selected product. To list the available targeting for each product use ReachPlanService.ListPlannableProducts." +}, +"budgetMicros": { +"description": "Required. Maximum budget allocation in micros for the selected product. The value is specified in the selected planning currency_code. For example: 1 000 000$ = 1 000 000 000 000 micros.", +"format": "int64", +"type": "string" +}, +"conversionRate": { +"description": "Conversion rate as a decimal between 0 and 1, exclusive. For example: if 2% of ad interactions are expected to lead to conversions, conversion_rate should be 0.02. This field is required for DEMAND_GEN plannable products. It is not supported for other plannable products.", +"format": "double", +"type": "number" +}, +"plannableProductCode": { +"description": "Required. Selected product for planning. The code associated with the ad product (for example: Trueview, Bumper). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannedProductForecast": { +"description": "Forecasted traffic metrics for a planned product.", +"id": "GoogleAdsSearchads360V23Services__PlannedProductForecast", +"properties": { +"averageFrequency": { +"description": "The number of times per selected time unit a user will see an ad, averaged over the number of time units in the forecast length. This field will only be populated for a Target Frequency campaign. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.", +"format": "double", +"type": "number" +}, +"conversions": { +"description": "The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.", +"format": "double", +"type": "number" +}, +"onTargetCoviewImpressions": { +"description": "Number of ad impressions that exactly matches the Targeting including co-viewers.", +"format": "int64", +"type": "string" +}, +"onTargetCoviewReach": { +"description": "Number of unique people reached that exactly matches the Targeting including co-viewers.", +"format": "int64", +"type": "string" +}, +"onTargetImpressions": { +"description": "Number of ad impressions that exactly matches the Targeting.", +"format": "int64", +"type": "string" +}, +"onTargetReach": { +"description": "Number of unique people reached that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +}, +"totalCoviewImpressions": { +"description": "Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", +"format": "int64", +"type": "string" +}, +"totalCoviewReach": { +"description": "Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.", +"format": "int64", +"type": "string" +}, +"totalImpressions": { +"description": "Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", +"format": "int64", +"type": "string" +}, +"totalReach": { +"description": "Number of unique people reached. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", +"format": "int64", +"type": "string" +}, +"trueviewViews": { +"description": "Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.", +"format": "int64", +"type": "string" +}, +"viewableImpressions": { +"description": "Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PlannedProductReachForecast": { +"description": "The forecasted allocation and traffic metrics for a specific product at a point on the reach curve.", +"id": "GoogleAdsSearchads360V23Services__PlannedProductReachForecast", +"properties": { +"costMicros": { +"description": "The cost in micros. This may differ from the product's input allocation if one or more planned products cannot fulfill the budget because of limited inventory.", +"format": "int64", +"type": "string" +}, +"plannableProductCode": { +"description": "Selected product for planning. The product codes returned are within the set of the ones returned by ListPlannableProducts when using the same location ID.", +"type": "string" +}, +"plannedProductForecast": { +"$ref": "GoogleAdsSearchads360V23Services__PlannedProductForecast", +"description": "Forecasted traffic metrics for this product." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ProductFilter": { +"description": "The type and list of products to aggregate benchmarks metrics over.", +"id": "GoogleAdsSearchads360V23Services__ProductFilter", +"properties": { +"marketingObjectiveList": { +"$ref": "GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList", +"description": "The list of marketing goals. Marketing objective is a broader product classification of products." +}, +"productList": { +"$ref": "GoogleAdsSearchads360V23Services_ProductFilter_ProductList", +"description": "The list of products." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ProductMetadata": { +"description": "The metadata associated with an available plannable product.", +"id": "GoogleAdsSearchads360V23Services__ProductMetadata", +"properties": { +"plannableProductCode": { +"description": "The code associated with the ad product (for example: BUMPER, TRUEVIEW_IN_STREAM). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.", +"type": "string" +}, +"plannableProductName": { +"description": "The name associated with the ad product.", +"type": "string" +}, +"plannableTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__PlannableTargeting", +"description": "The allowed plannable targeting for this product." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest": { +"description": "Request message for CampaignDraftService.PromoteCampaignDraft.", +"id": "GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest", +"properties": { +"validateOnly": { +"description": "If true, the request is validated but no Long Running Operation is created. Only errors are returned.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PromoteExperimentMetadata": { +"description": "The metadata of the promoted experiment.", +"id": "GoogleAdsSearchads360V23Services__PromoteExperimentMetadata", +"properties": { +"experiment": { +"description": "Required. The promoted experiment.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__PromoteExperimentRequest": { +"description": "Request message for ExperimentService.PromoteExperiment.", +"id": "GoogleAdsSearchads360V23Services__PromoteExperimentRequest", +"properties": { +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest": { +"description": "Request message for LocalServicesLeadService.ProvideLeadFeedback.", +"id": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest", +"properties": { +"surveyAnswer": { +"description": "Required. Survey answer for Local Services Ads Lead.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"VERY_SATISFIED", +"SATISFIED", +"NEUTRAL", +"DISSATISFIED", +"VERY_DISSATISFIED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Very satisfied with the lead.", +"Satisfied with the lead.", +"Neutral with the lead.", +"Dissatisfied with the lead.", +"Very dissatisfied with the lead." +], +"type": "string" +}, +"surveyDissatisfied": { +"$ref": "GoogleAdsSearchads360V23Services__SurveyDissatisfied", +"description": "Details about various factors for not being satisfied with the lead." +}, +"surveySatisfied": { +"$ref": "GoogleAdsSearchads360V23Services__SurveySatisfied", +"description": "Details about various factors for being satisfied with the lead." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse": { +"description": "Response message for LocalServicesLeadService.ProvideLeadFeedback.", +"id": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse", +"properties": { +"creditIssuanceDecision": { +"description": "Required. Decision of bonus credit issued or rejected. If a bonus credit is issued, it will be available for use in about two months.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"SUCCESS_NOT_REACHED_THRESHOLD", +"SUCCESS_REACHED_THRESHOLD", +"FAIL_OVER_THRESHOLD", +"FAIL_NOT_ELIGIBLE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Bonus credit is issued successfully and bonus credit cap has not reached the threshold after issuing this bonus credit.", +"Bonus credit is issued successfully and bonus credit cap has reached the threshold after issuing this bonus credit.", +"Bonus credit is not issued because the provider has reached the bonus credit cap.", +"Bonus credit is not issued because this lead is not eligible for bonus credit." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RateMetrics": { +"description": "Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request.", +"id": "GoogleAdsSearchads360V23Services__RateMetrics", +"properties": { +"activeViewViewability": { +"description": "The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).", +"format": "double", +"type": "number" +}, +"averageActiveViewCpm": { +"description": "Average cost-per-thousand viewable impressions.", +"format": "double", +"type": "number" +}, +"averageCpc": { +"description": "The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received.", +"format": "double", +"type": "number" +}, +"averageCpe": { +"description": "The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements.", +"format": "double", +"type": "number" +}, +"averageCpi": { +"description": "The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions.", +"format": "double", +"type": "number" +}, +"averageCpm": { +"description": "Average cost-per-thousand impressions (CPM).", +"format": "double", +"type": "number" +}, +"clickThroughRate": { +"description": "The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).", +"format": "double", +"type": "number" +}, +"engagementRate": { +"description": "How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.", +"format": "double", +"type": "number" +}, +"interactionRate": { +"description": "How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.", +"format": "double", +"type": "number" +}, +"trueviewAverageCpv": { +"description": "The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views.", +"format": "double", +"type": "number" +}, +"trueviewViewRate": { +"description": "Number of completed TrueView views divided by the number of impressions.", +"format": "double", +"type": "number" +}, +"videoCompletionP100Rate": { +"description": "Percentage of impressions where the viewer watched all of your video.", +"format": "double", +"type": "number" +}, +"videoCompletionP25Rate": { +"description": "Percentage of impressions where the viewer watched 25% of your video.", +"format": "double", +"type": "number" +}, +"videoCompletionP50Rate": { +"description": "Percentage of impressions where the viewer watched 50% of your video.", +"format": "double", +"type": "number" +}, +"videoCompletionP75Rate": { +"description": "Percentage of impressions where the viewer watched 75% of your video.", +"format": "double", +"type": "number" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader": { +"description": "Message for raw event conversion dimension header.", +"id": "GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader", +"properties": { +"id": { +"description": "The conversion custom variable ID.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The user defined name of the raw event dimension.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader": { +"description": "Message for raw event conversion metric header.", +"id": "GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader", +"properties": { +"id": { +"description": "The conversion custom variable ID.", +"format": "int64", +"type": "string" +}, +"name": { +"description": "The user defined name of the raw event metric.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ReachCurve": { +"description": "The reach curve for the planned products.", +"id": "GoogleAdsSearchads360V23Services__ReachCurve", +"properties": { +"reachForecasts": { +"description": "All points on the reach curve.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ReachForecast" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ReachForecast": { +"description": "A point on reach curve.", +"id": "GoogleAdsSearchads360V23Services__ReachForecast", +"properties": { +"costMicros": { +"description": "The cost in micros.", +"format": "int64", +"type": "string" +}, +"forecast": { +"$ref": "GoogleAdsSearchads360V23Services__Forecast", +"description": "Forecasted traffic metrics for this point." +}, +"plannedProductReachForecasts": { +"description": "The forecasted allocation and traffic metrics for each planned product at this point on the reach curve.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__PlannedProductReachForecast" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation": { +"description": "A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription", +"id": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", +"description": "Create operation: No resource name is expected for the new subscription." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", +"description": "Update operation: The subscription is expected to have a valid resource name." +}, +"updateMask": { +"description": "Optional. FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest": { +"description": "Request message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.", +"id": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse": { +"description": "Response message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.", +"id": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemarketingActionOperation": { +"description": "A single operation (create, update) on a remarketing action.", +"id": "GoogleAdsSearchads360V23Services__RemarketingActionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", +"description": "Create operation: No resource name is expected for the new remarketing action." +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", +"description": "Update operation: The remarketing action is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest": { +"description": "Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets.", +"id": "GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest", +"properties": { +"assetsWithFieldType": { +"description": "Required. List of assets with field type to be removed from the AdGroupAd.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__AssetsWithFieldType" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation": { +"description": "A single operation to remove an automatically created asset from a campaign.", +"id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation", +"properties": { +"asset": { +"description": "Required. The resource name of the asset to remove.", +"type": "string" +}, +"campaign": { +"description": "Required. The resource name of the campaign.", +"type": "string" +}, +"fieldType": { +"description": "Required. The field type of the asset to remove.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"HEADLINE", +"DESCRIPTION", +"MANDATORY_AD_TEXT", +"MARKETING_IMAGE", +"MEDIA_BUNDLE", +"YOUTUBE_VIDEO", +"BOOK_ON_GOOGLE", +"LEAD_FORM", +"PROMOTION", +"CALLOUT", +"STRUCTURED_SNIPPET", +"SITELINK", +"MOBILE_APP", +"HOTEL_CALLOUT", +"CALL", +"PRICE", +"LONG_HEADLINE", +"BUSINESS_NAME", +"SQUARE_MARKETING_IMAGE", +"PORTRAIT_MARKETING_IMAGE", +"LOGO", +"LANDSCAPE_LOGO", +"VIDEO", +"CALL_TO_ACTION_SELECTION", +"AD_IMAGE", +"BUSINESS_LOGO", +"HOTEL_PROPERTY", +"DEMAND_GEN_CAROUSEL_CARD", +"BUSINESS_MESSAGE", +"TALL_PORTRAIT_MARKETING_IMAGE", +"LANDING_PAGE_PREVIEW", +"LONG_DESCRIPTION", +"CALL_TO_ACTION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The asset is linked for use as a headline.", +"The asset is linked for use as a description.", +"The asset is linked for use as mandatory ad text.", +"The asset is linked for use as a marketing image.", +"The asset is linked for use as a media bundle.", +"The asset is linked for use as a YouTube video.", +"The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", +"The asset is linked for use as a Lead Form extension.", +"The asset is linked for use as a Promotion extension.", +"The asset is linked for use as a Callout extension.", +"The asset is linked for use as a Structured Snippet extension.", +"The asset is linked for use as a Sitelink.", +"The asset is linked for use as a Mobile App extension.", +"The asset is linked for use as a Hotel Callout extension.", +"The asset is linked for use as a Call extension.", +"The asset is linked for use as a Price extension.", +"The asset is linked for use as a long headline.", +"The asset is linked for use as a business name.", +"The asset is linked for use as a square marketing image.", +"The asset is linked for use as a portrait marketing image.", +"The asset is linked for use as a logo.", +"The asset is linked for use as a landscape logo.", +"The asset is linked for use as a non YouTube logo.", +"The asset is linked for use to select a call-to-action.", +"The asset is linked for use to select an ad image.", +"The asset is linked for use as a business logo.", +"The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", +"The asset is linked for use as a Demand Gen carousel card.", +"The asset is linked for use as a Business Message.", +"The asset is linked for use as a tall portrait marketing image.", +"The asset is linked for use as a landing page preview image.", +"The asset is linked for use as a long description.", +"The asset is linked for use as a call-to-action." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest": { +"description": "Request message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.", +"id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest", +"properties": { +"operations": { +"description": "Required. The list of operations.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation" +}, +"type": "array" +}, +"partialFailure": { +"description": "Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse": { +"description": "Response message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.", +"id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse", +"properties": { +"partialFailureError": { +"$ref": "GoogleRpc__Status", +"description": "Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the partial failure mode. Returned when all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), RPC level error will be returned. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveDataLinkRequest": { +"description": "Request message for DataLinkService.RemoveDataLink.", +"id": "GoogleAdsSearchads360V23Services__RemoveDataLinkRequest", +"properties": { +"resourceName": { +"description": "Required. The data link is expected to have a valid resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveDataLinkResponse": { +"description": "Response message for DataLinkService.RemoveDataLink.", +"id": "GoogleAdsSearchads360V23Services__RemoveDataLinkResponse", +"properties": { +"resourceName": { +"description": "Result for the remove request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest": { +"description": "Request message for ProductLinkInvitationService.RemoveProductLinkInvitation.", +"id": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest", +"properties": { +"resourceName": { +"description": "Required. The resource name of the product link invitation being removed. expected, in this format: ` `", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse": { +"description": "Response message for product link invitation removeal.", +"id": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse", +"properties": { +"resourceName": { +"description": "Result for the remove request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveProductLinkRequest": { +"description": "Request message for ProductLinkService.RemoveProductLink.", +"id": "GoogleAdsSearchads360V23Services__RemoveProductLinkRequest", +"properties": { +"resourceName": { +"description": "Required. Remove operation: A resource name for the product link to remove is expected, in this format: ` `", +"type": "string" +}, +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RemoveProductLinkResponse": { +"description": "Response message for product link removal.", +"id": "GoogleAdsSearchads360V23Services__RemoveProductLinkResponse", +"properties": { +"resourceName": { +"description": "Result for the remove request.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RunBatchJobRequest": { +"description": "Request message for BatchJobService.RunBatchJob.", +"id": "GoogleAdsSearchads360V23Services__RunBatchJobRequest", +"properties": {}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest": { +"description": "Request message for OfflineUserDataJobService.RunOfflineUserDataJob.", +"id": "GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest", +"properties": { +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata": { +"description": "The metadata of the scheduled experiment.", +"id": "GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata", +"properties": { +"experiment": { +"description": "Required. The scheduled experiment.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__ScheduleExperimentRequest": { +"description": "Request message for ExperimentService.ScheduleExperiment.", +"id": "GoogleAdsSearchads360V23Services__ScheduleExperimentRequest", +"properties": { +"validateOnly": { +"description": "If true, the request is validated but not executed. Only errors are returned, not results.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation": { +"description": "A single operation (update) on a Search Ads 360 campaign.", +"id": "GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", +"description": "Update operation: The Search Ads 360 campaign is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchAds360Row": { +"description": "A returned row from the query.", +"id": "GoogleAdsSearchads360V23Services__SearchAds360Row", +"properties": { +"accessibleBiddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy", +"description": "The accessible bidding strategy referenced in the query." +}, +"accountBudget": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountBudget", +"description": "The account budget in the query." +}, +"accountBudgetProposal": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", +"description": "The account budget proposal referenced in the query." +}, +"accountLink": { +"$ref": "GoogleAdsSearchads360V23Resources__AccountLink", +"description": "The AccountLink referenced in the query." +}, +"ad": { +"$ref": "GoogleAdsSearchads360V23Resources__Ad", +"description": "The Ad referenced in the query." +}, +"adGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroup", +"description": "The ad group referenced in the query." +}, +"adGroupAd": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", +"description": "The ad referenced in the query." +}, +"adGroupAdAssetCombinationView": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView", +"description": "The ad group ad asset combination view in the query." +}, +"adGroupAdAssetView": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetView", +"description": "The ad group ad asset view in the query." +}, +"adGroupAdEffectiveLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel", +"description": "The ad group ad effective label referenced in the query." +}, +"adGroupAdLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", +"description": "The ad group ad label referenced in the query." +}, +"adGroupAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", +"description": "The ad group asset referenced in the query." +}, +"adGroupAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", +"description": "The ad group asset set referenced in the query." +}, +"adGroupAudienceView": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupAudienceView", +"description": "The ad group audience view referenced in the query." +}, +"adGroupBidModifier": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", +"description": "The bid modifier referenced in the query." +}, +"adGroupCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", +"description": "The criterion referenced in the query." +}, +"adGroupCriterionCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", +"description": "The ad group criterion customizer referenced in the query." +}, +"adGroupCriterionEffectiveLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel", +"description": "The ad group criterion effective label referenced in the query." +}, +"adGroupCriterionLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", +"description": "The ad group criterion label referenced in the query." +}, +"adGroupCriterionSimulation": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation", +"description": "The ad group criterion simulation referenced in the query." +}, +"adGroupCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", +"description": "The ad group customizer referenced in the query." +}, +"adGroupEffectiveLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel", +"description": "The ad group effective label referenced in the query." +}, +"adGroupLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupLabel", +"description": "The ad group label referenced in the query." +}, +"adGroupSimulation": { +"$ref": "GoogleAdsSearchads360V23Resources__AdGroupSimulation", +"description": "The ad group simulation referenced in the query." +}, +"adParameter": { +"$ref": "GoogleAdsSearchads360V23Resources__AdParameter", +"description": "The ad parameter referenced in the query." +}, +"adScheduleView": { +"$ref": "GoogleAdsSearchads360V23Resources__AdScheduleView", +"description": "The ad schedule view referenced in the query." +}, +"ageRangeView": { +"$ref": "GoogleAdsSearchads360V23Resources__AgeRangeView", +"description": "The age range view referenced in the query." +}, +"aiMaxSearchTermAdCombinationView": { +"$ref": "GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView", +"description": "The AI Max search term ad combination view referenced in the query." +}, +"androidPrivacySharedKeyGoogleAdGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup", +"description": "The android privacy shared key google ad group referenced in the query." +}, +"androidPrivacySharedKeyGoogleCampaign": { +"$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign", +"description": "The android privacy shared key google campaign referenced in the query." +}, +"androidPrivacySharedKeyGoogleNetworkType": { +"$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType", +"description": "The android privacy shared key google network type referenced in the query." +}, +"asset": { +"$ref": "GoogleAdsSearchads360V23Resources__Asset", +"description": "The asset referenced in the query." +}, +"assetFieldTypeView": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetFieldTypeView", +"description": "The asset field type view referenced in the query." +}, +"assetGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", +"description": "The asset group referenced in the query." +}, +"assetGroupAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", +"description": "The asset group asset referenced in the query." +}, +"assetGroupListingGroupFilter": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", +"description": "The asset group listing group filter referenced in the query." +}, +"assetGroupProductGroupView": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView", +"description": "The asset group product group view referenced in the query." +}, +"assetGroupSignal": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", +"description": "The asset group signal referenced in the query." +}, +"assetGroupTopCombinationView": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView", +"description": "The asset group top combination view referenced in the query." +}, +"assetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSet", +"description": "The asset set referenced in the query." +}, +"assetSetAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", +"description": "The asset set asset referenced in the query." +}, +"assetSetTypeView": { +"$ref": "GoogleAdsSearchads360V23Resources__AssetSetTypeView", +"description": "The asset set type view referenced in the query." +}, +"audience": { +"$ref": "GoogleAdsSearchads360V23Resources__Audience", +"description": "The Audience referenced in the query." +}, +"batchJob": { +"$ref": "GoogleAdsSearchads360V23Resources__BatchJob", +"description": "The batch job referenced in the query." +}, +"biddingDataExclusion": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", +"description": "The bidding data exclusion referenced in the query." +}, +"biddingSeasonalityAdjustment": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", +"description": "The bidding seasonality adjustment referenced in the query." +}, +"biddingStrategy": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", +"description": "The bidding strategy referenced in the query." +}, +"biddingStrategySimulation": { +"$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategySimulation", +"description": "The bidding strategy simulation referenced in the query." +}, +"billingSetup": { +"$ref": "GoogleAdsSearchads360V23Resources__BillingSetup", +"description": "The billing setup referenced in the query." +}, +"callView": { +"$ref": "GoogleAdsSearchads360V23Resources__CallView", +"description": "The call view referenced in the query." +}, +"campaign": { +"$ref": "GoogleAdsSearchads360V23Resources__Campaign", +"description": "The campaign referenced in the query." +}, +"campaignAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", +"description": "The campaign asset referenced in the query." +}, +"campaignAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", +"description": "The campaign asset set referenced in the query." +}, +"campaignAudienceView": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignAudienceView", +"description": "The campaign audience view referenced in the query." +}, +"campaignBidModifier": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", +"description": "The campaign bid modifier referenced in the query." +}, +"campaignBudget": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", +"description": "The campaign budget referenced in the query." +}, +"campaignConversionGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", +"description": "The CampaignConversionGoal referenced in the query." +}, +"campaignCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", +"description": "The campaign criterion referenced in the query." +}, +"campaignCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", +"description": "The campaign customizer referenced in the query." +}, +"campaignDraft": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", +"description": "The campaign draft referenced in the query." +}, +"campaignEffectiveLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel", +"description": "The campaign effective label referenced in the query." +}, +"campaignGoalConfig": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", +"description": "The campaign goal config referenced in the query." +}, +"campaignGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", +"description": "Campaign Group referenced in AWQL query." +}, +"campaignLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignLabel", +"description": "The campaign label referenced in the query." +}, +"campaignLifecycleGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", +"description": "The campaign lifecycle goal referenced in the query." +}, +"campaignSearchTermInsight": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight", +"description": "The campaign search term insight referenced in the query." +}, +"campaignSearchTermView": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSearchTermView", +"description": "The campaign-level search term view referenced in the query." +}, +"campaignSharedSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", +"description": "Campaign Shared Set referenced in AWQL query." +}, +"campaignSimulation": { +"$ref": "GoogleAdsSearchads360V23Resources__CampaignSimulation", +"description": "The campaign simulation referenced in the query." +}, +"carrierConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__CarrierConstant", +"description": "The carrier constant referenced in the query." +}, +"cartDataSalesView": { +"$ref": "GoogleAdsSearchads360V23Resources__CartDataSalesView", +"description": "The cart data sales view referenced in the query." +}, +"changeEvent": { +"$ref": "GoogleAdsSearchads360V23Resources__ChangeEvent", +"description": "The ChangeEvent referenced in the query." +}, +"changeStatus": { +"$ref": "GoogleAdsSearchads360V23Resources__ChangeStatus", +"description": "The ChangeStatus referenced in the query." +}, +"clickView": { +"$ref": "GoogleAdsSearchads360V23Resources__ClickView", +"description": "The ClickView referenced in the query." +}, +"combinedAudience": { +"$ref": "GoogleAdsSearchads360V23Resources__CombinedAudience", +"description": "The CombinedAudience referenced in the query." +}, +"contentCriterionView": { +"$ref": "GoogleAdsSearchads360V23Resources__ContentCriterionView", +"description": "The content criterion view referenced in the query." +}, +"conversion": { +"$ref": "GoogleAdsSearchads360V23Resources__Conversion", +"description": "The event level conversion referenced in the query." +}, +"conversionAction": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", +"description": "The conversion action referenced in the query." +}, +"conversionCustomVariable": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", +"description": "The conversion custom variable referenced in the query." +}, +"conversionGoalCampaignConfig": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", +"description": "The ConversionGoalCampaignConfig referenced in the query." +}, +"conversionValueRule": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", +"description": "The conversion value rule referenced in the query." +}, +"conversionValueRuleSet": { +"$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", +"description": "The conversion value rule set referenced in the query." +}, +"currencyConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__CurrencyConstant", +"description": "The currency constant referenced in the query." +}, +"customAudience": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", +"description": "The CustomAudience referenced in the query." +}, +"customColumns": { +"description": "The custom columns.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__Value" +}, +"type": "array" +}, +"customConversionGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", +"description": "The CustomConversionGoal referenced in the query." +}, +"customInterest": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", +"description": "The CustomInterest referenced in the query." +}, +"customer": { +"$ref": "GoogleAdsSearchads360V23Resources__Customer", +"description": "The customer referenced in the query." +}, +"customerAsset": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", +"description": "The customer asset referenced in the query." +}, +"customerAssetSet": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", +"description": "The customer asset set referenced in the query." +}, +"customerClient": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerClient", +"description": "The CustomerClient referenced in the query." +}, +"customerClientLink": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", +"description": "The CustomerClientLink referenced in the query." +}, +"customerConversionGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", +"description": "The CustomerConversionGoal referenced in the query." +}, +"customerCustomizer": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", +"description": "The customer customizer referenced in the query." +}, +"customerLabel": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerLabel", +"description": "The customer label referenced in the query." +}, +"customerLifecycleGoal": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", +"description": "The customer lifecycle goal referenced in the query." +}, +"customerManagerLink": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", +"description": "The CustomerManagerLink referenced in the query." +}, +"customerNegativeCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", +"description": "The customer negative criterion referenced in the query." +}, +"customerSearchTermInsight": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight", +"description": "The customer search term insight referenced in the query." +}, +"customerUserAccess": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", +"description": "The CustomerUserAccess referenced in the query." +}, +"customerUserAccessInvitation": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", +"description": "The CustomerUserAccessInvitation referenced in the query." +}, +"customizerAttribute": { +"$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", +"description": "The customizer attribute referenced in the query." +}, +"dataLink": { +"$ref": "GoogleAdsSearchads360V23Resources__DataLink", +"description": "The data link referenced in the query." +}, +"detailContentSuitabilityPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView", +"description": "The detail content suitability placement view referenced in the query." +}, +"detailPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__DetailPlacementView", +"description": "The detail placement view referenced in the query." +}, +"detailedDemographic": { +"$ref": "GoogleAdsSearchads360V23Resources__DetailedDemographic", +"description": "The detailed demographic referenced in the query." +}, +"displayKeywordView": { +"$ref": "GoogleAdsSearchads360V23Resources__DisplayKeywordView", +"description": "The display keyword view referenced in the query." +}, +"distanceView": { +"$ref": "GoogleAdsSearchads360V23Resources__DistanceView", +"description": "The distance view referenced in the query." +}, +"dynamicSearchAdsSearchTermView": { +"$ref": "GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView", +"description": "The dynamic search ads search term view referenced in the query." +}, +"expandedLandingPageView": { +"$ref": "GoogleAdsSearchads360V23Resources__ExpandedLandingPageView", +"description": "The expanded landing page view referenced in the query." +}, +"experiment": { +"$ref": "GoogleAdsSearchads360V23Resources__Experiment", +"description": "The experiment referenced in the query." +}, +"experimentArm": { +"$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", +"description": "The experiment arm referenced in the query." +}, +"finalUrlExpansionAssetView": { +"$ref": "GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView", +"description": "The final url expansion asset view referenced in the query." +}, +"genderView": { +"$ref": "GoogleAdsSearchads360V23Resources__GenderView", +"description": "The gender view referenced in the query." +}, +"geoTargetConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", +"description": "The geo target constant referenced in the query." +}, +"geographicView": { +"$ref": "GoogleAdsSearchads360V23Resources__GeographicView", +"description": "The geographic view referenced in the query." +}, +"goal": { +"$ref": "GoogleAdsSearchads360V23Resources__Goal", +"description": "The goal in the query." +}, +"groupContentSuitabilityPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView", +"description": "The group content suitability placement view referenced in the query." +}, +"groupPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__GroupPlacementView", +"description": "The group placement view referenced in the query." +}, +"hotelGroupView": { +"$ref": "GoogleAdsSearchads360V23Resources__HotelGroupView", +"description": "The hotel group view referenced in the query." +}, +"hotelPerformanceView": { +"$ref": "GoogleAdsSearchads360V23Resources__HotelPerformanceView", +"description": "The hotel performance view referenced in the query." +}, +"hotelReconciliation": { +"$ref": "GoogleAdsSearchads360V23Resources__HotelReconciliation", +"description": "The hotel reconciliation referenced in the query." +}, +"incomeRangeView": { +"$ref": "GoogleAdsSearchads360V23Resources__IncomeRangeView", +"description": "The income range view referenced in the query." +}, +"keywordPlan": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", +"description": "The keyword plan referenced in the query." +}, +"keywordPlanAdGroup": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", +"description": "The keyword plan ad group referenced in the query." +}, +"keywordPlanAdGroupKeyword": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", +"description": "The keyword plan ad group referenced in the query." +}, +"keywordPlanCampaign": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", +"description": "The keyword plan campaign referenced in the query." +}, +"keywordPlanCampaignKeyword": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", +"description": "The keyword plan campaign keyword referenced in the query." +}, +"keywordThemeConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", +"description": "The keyword theme constant referenced in the query." +}, +"keywordView": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordView", +"description": "The keyword view referenced in the query." +}, +"label": { +"$ref": "GoogleAdsSearchads360V23Resources__Label", +"description": "The label referenced in the query." +}, +"landingPageView": { +"$ref": "GoogleAdsSearchads360V23Resources__LandingPageView", +"description": "The landing page view referenced in the query." +}, +"languageConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__LanguageConstant", +"description": "The language constant referenced in the query." +}, +"leadFormSubmissionData": { +"$ref": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionData", +"description": "The lead form user submission referenced in the query." +}, +"lifeEvent": { +"$ref": "GoogleAdsSearchads360V23Resources__LifeEvent", +"description": "The life event referenced in the query." +}, +"localServicesEmployee": { +"$ref": "GoogleAdsSearchads360V23Resources__LocalServicesEmployee", +"description": "The local services employee referenced in the query." +}, +"localServicesLead": { +"$ref": "GoogleAdsSearchads360V23Resources__LocalServicesLead", +"description": "The local services lead referenced in the query." +}, +"localServicesLeadConversation": { +"$ref": "GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation", +"description": "The local services lead conversationreferenced in the query." +}, +"localServicesVerificationArtifact": { +"$ref": "GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact", +"description": "The local services verification artifact referenced in the query." +}, +"locationInterestView": { +"$ref": "GoogleAdsSearchads360V23Resources__LocationInterestView", +"description": "The location interest view referenced in the query." +}, +"locationView": { +"$ref": "GoogleAdsSearchads360V23Resources__LocationView", +"description": "The location view referenced in the query." +}, +"managedPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__ManagedPlacementView", +"description": "The managed placement view referenced in the query." +}, +"matchedLocationInterestView": { +"$ref": "GoogleAdsSearchads360V23Resources__MatchedLocationInterestView", +"description": "The matched location interest view referenced in the query." +}, +"mediaFile": { +"$ref": "GoogleAdsSearchads360V23Resources__MediaFile", +"description": "The media file referenced in the query." +}, +"metrics": { +"$ref": "GoogleAdsSearchads360V23Common__Metrics", +"description": "The metrics." +}, +"mobileAppCategoryConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant", +"description": "The mobile app category constant referenced in the query." +}, +"mobileDeviceConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__MobileDeviceConstant", +"description": "The mobile device constant referenced in the query." +}, +"offlineConversionUploadClientSummary": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary", +"description": "Offline conversion upload summary at customer level." +}, +"offlineConversionUploadConversionActionSummary": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary", +"description": "Offline conversion upload summary at conversion type level." +}, +"offlineUserDataJob": { +"$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", +"description": "The offline user data job referenced in the query." +}, +"operatingSystemVersionConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant", +"description": "The operating system version constant referenced in the query." +}, +"paidOrganicSearchTermView": { +"$ref": "GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView", +"description": "The paid organic search term view referenced in the query." +}, +"parentalStatusView": { +"$ref": "GoogleAdsSearchads360V23Resources__ParentalStatusView", +"description": "The parental status view referenced in the query." +}, +"perStoreView": { +"$ref": "GoogleAdsSearchads360V23Resources__PerStoreView", +"description": "The per store view referenced in the query." +}, +"performanceMaxPlacementView": { +"$ref": "GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView", +"description": "The performance max placement view referenced in the query." +}, +"productCategoryConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductCategoryConstant", +"description": "The product category referenced in the query." +}, +"productGroupView": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductGroupView", +"description": "The product group view referenced in the query." +}, +"productLink": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductLink", +"description": "The product link referenced in the query." +}, +"productLinkInvitation": { +"$ref": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", +"description": "The product link invitation in the query." +}, +"qualifyingQuestion": { +"$ref": "GoogleAdsSearchads360V23Resources__QualifyingQuestion", +"description": "The qualifying question referenced in the query." +}, +"recommendation": { +"$ref": "GoogleAdsSearchads360V23Resources__Recommendation", +"description": "The recommendation referenced in the query." +}, +"recommendationSubscription": { +"$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", +"description": "The recommendation subscription referenced in the query." +}, +"remarketingAction": { +"$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", +"description": "The remarketing action referenced in the query." +}, +"searchAds360Campaign": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", +"description": "The Search Ads 360 campaign referenced in the query." +}, +"searchTermView": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchTermView", +"description": "The search term view referenced in the query." +}, +"segments": { +"$ref": "GoogleAdsSearchads360V23Common__Segments", +"description": "The segments." +}, +"sharedCriterion": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", +"description": "The shared set referenced in the query." +}, +"sharedSet": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedSet", +"description": "The shared set referenced in the query." +}, +"shoppingPerformanceView": { +"$ref": "GoogleAdsSearchads360V23Resources__ShoppingPerformanceView", +"description": "The shopping performance view referenced in the query." +}, +"shoppingProduct": { +"$ref": "GoogleAdsSearchads360V23Resources__ShoppingProduct", +"description": "The shopping product referenced in the query." +}, +"smartCampaignSearchTermView": { +"$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView", +"description": "The Smart campaign search term view referenced in the query." +}, +"smartCampaignSetting": { +"$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", +"description": "The Smart campaign setting referenced in the query." +}, +"targetingExpansionView": { +"$ref": "GoogleAdsSearchads360V23Resources__TargetingExpansionView", +"description": "The Targeting expansion view referenced in the query." +}, +"thirdPartyAppAnalyticsLink": { +"$ref": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink", +"description": "The AccountLink referenced in the query." +}, +"topicConstant": { +"$ref": "GoogleAdsSearchads360V23Resources__TopicConstant", +"description": "The topic constant referenced in the query." +}, +"topicView": { +"$ref": "GoogleAdsSearchads360V23Resources__TopicView", +"description": "The topic view referenced in the query." +}, +"travelActivityGroupView": { +"$ref": "GoogleAdsSearchads360V23Resources__TravelActivityGroupView", +"description": "The travel activity group view referenced in the query." +}, +"travelActivityPerformanceView": { +"$ref": "GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView", +"description": "The travel activity performance view referenced in the query." +}, +"userInterest": { +"$ref": "GoogleAdsSearchads360V23Resources__UserInterest", +"description": "The user interest referenced in the query." +}, +"userList": { +"$ref": "GoogleAdsSearchads360V23Resources__UserList", +"description": "The user list referenced in the query." +}, +"userListCustomerType": { +"$ref": "GoogleAdsSearchads360V23Resources__UserListCustomerType", +"description": "The user list customer type in the query." +}, +"userLocationView": { +"$ref": "GoogleAdsSearchads360V23Resources__UserLocationView", +"description": "The user location view referenced in the query." +}, +"video": { +"$ref": "GoogleAdsSearchads360V23Resources__Video", +"description": "The video referenced in the query." +}, +"visit": { +"$ref": "GoogleAdsSearchads360V23Resources__Visit", +"description": "The event level visit referenced in the query." +}, +"webpageView": { +"$ref": "GoogleAdsSearchads360V23Resources__WebpageView", +"description": "The webpage view referenced in the query." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest": { +"description": "Request message for SearchAds360FieldService.SearchSearchAds360Fields.", +"id": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest", +"properties": { +"pageSize": { +"description": "Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", +"type": "string" +}, +"query": { +"description": "Required. The query string.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse": { +"description": "Response message for SearchAds360FieldService.SearchSearchAds360Fields.", +"id": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse", +"properties": { +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +}, +"results": { +"description": "The list of fields that matched the query.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Field" +}, +"type": "array" +}, +"totalResultsCount": { +"description": "Total number of results that match the query ignoring the LIMIT clause.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchSearchAds360Request": { +"description": "Request message for SearchAds360Service.Search.", +"id": "GoogleAdsSearchads360V23Services__SearchSearchAds360Request", +"properties": { +"pageSize": { +"description": "Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.", +"format": "int32", +"type": "integer" +}, +"pageToken": { +"description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", +"type": "string" +}, +"query": { +"description": "Required. The query string.", +"type": "string" +}, +"searchSettings": { +"$ref": "GoogleAdsSearchads360V23Services__SearchSettings", +"description": "Settings that allow users to specify request count, summary row, and results behavior." +}, +"validateOnly": { +"description": "If true, the request is validated but not executed.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchSearchAds360Response": { +"description": "Response message for SearchAds360Service.Search.", +"id": "GoogleAdsSearchads360V23Services__SearchSearchAds360Response", +"properties": { +"conversionCustomDimensionHeaders": { +"description": "The headers of the conversion custom dimensions in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader" +}, +"type": "array" +}, +"conversionCustomMetricHeaders": { +"description": "The headers of the conversion custom metrics in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader" +}, +"type": "array" +}, +"customColumnHeaders": { +"description": "The headers of the custom columns in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__CustomColumnHeader" +}, +"type": "array" +}, +"fieldMask": { +"description": "FieldMask that represents what fields were requested by the user.", +"format": "google-fieldmask", +"type": "string" +}, +"metricAttributes": { +"description": "The metric attributes of the metrics in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__MetricAttributes" +}, +"type": "array" +}, +"nextPageToken": { +"description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", +"type": "string" +}, +"queryResourceConsumption": { +"description": "The amount of resources consumed to serve the query.", +"format": "int64", +"type": "string" +}, +"rawEventConversionDimensionHeaders": { +"description": "The headers of the raw event conversion dimensions in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader" +}, +"type": "array" +}, +"rawEventConversionMetricHeaders": { +"description": "The headers of the raw event conversion metrics in the results.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader" +}, +"type": "array" +}, +"results": { +"description": "The list of rows that matched the query.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__SearchAds360Row" +}, +"type": "array" +}, +"summaryRow": { +"$ref": "GoogleAdsSearchads360V23Services__SearchAds360Row", +"description": "Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc." +}, +"totalResultsCount": { +"description": "Total number of results that match the query ignoring the LIMIT clause.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SearchSettings": { +"description": "Indicates search settings in request parameter.", +"id": "GoogleAdsSearchads360V23Services__SearchSettings", +"properties": { +"omitResults": { +"description": "If true, results will be excluded from the response. Otherwise, results will be returned. Default is false.", +"type": "boolean" +}, +"returnSummaryRow": { +"description": "If true, summary row will be included in the response and sent in a response by itself after all other query results are returned. Default is false.", +"type": "boolean" +}, +"returnTotalResultsCount": { +"description": "If true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false.", +"type": "boolean" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SharedCriterionOperation": { +"description": "A single operation (create, remove) on an shared criterion.", +"id": "GoogleAdsSearchads360V23Services__SharedCriterionOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", +"description": "Create operation: No resource name is expected for the new shared criterion." +}, +"remove": { +"description": "Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SharedSetOperation": { +"description": "A single operation (create, update, remove) on an shared set.", +"id": "GoogleAdsSearchads360V23Services__SharedSetOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedSet", +"description": "Create operation: No resource name is expected for the new shared set." +}, +"remove": { +"description": "Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__SharedSet", +"description": "Update operation: The shared set is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SiteSeed": { +"description": "Site Seed", +"id": "GoogleAdsSearchads360V23Services__SiteSeed", +"properties": { +"site": { +"description": "The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails": { +"description": "Details related to Smart campaigns that are eligible to serve.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails", +"properties": { +"endDateTime": { +"description": "The timestamp of when the campaign will end, if applicable. The timestamp is in the customer\u2019s timezone and in \u201cyyyy-MM-dd HH:mm:ss\u201d format.", +"type": "string" +}, +"lastImpressionDateTime": { +"description": "The timestamp of the last impression observed in the last 48 hours for this campaign. The timestamp is in the customer\u2019s timezone and in \u201cyyyy-MM-dd HH:mm:ss\u201d format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails": { +"description": "Details related to Smart campaigns that have ended.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails", +"properties": { +"endDateTime": { +"description": "The timestamp of when the campaign ended. The timestamp is in the customer\u2019s timezone and in \u201cyyyy-MM-dd HH:mm:ss\u201d format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails": { +"description": "Details related to Smart campaigns that are not eligible to serve.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails", +"properties": { +"notEligibleReason": { +"description": "The reason why the Smart campaign is not eligible to serve.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCOUNT_ISSUE", +"BILLING_ISSUE", +"BUSINESS_PROFILE_LOCATION_REMOVED", +"ALL_ADS_DISAPPROVED" +], +"enumDescriptions": [ +"The status has not been specified.", +"The received value is not known in this version. This is a response-only value.", +"The campaign is not eligible to serve because of an issue with the account.", +"The campaign is not eligible to serve because of a payment issue.", +"The business profile location associated with the campaign has been removed.", +"All system-generated ads have been disapproved. Consult the policy_summary field in the AdGroupAd resource for more details." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails": { +"description": "Details related to paused Smart campaigns.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails", +"properties": { +"pausedDateTime": { +"description": "The timestamp of when the campaign was last paused. The timestamp is in the customer\u2019s timezone and in \u201cyyyy-MM-dd HH:mm:ss\u201d format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails": { +"description": "Details related to removed Smart campaigns.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails", +"properties": { +"removedDateTime": { +"description": "The timestamp of when the campaign was removed. The timestamp is in the customer\u2019s timezone and in \u201cyyyy-MM-dd HH:mm:ss\u201d format.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation": { +"description": "A single operation to update Smart campaign settings for a campaign.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation", +"properties": { +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", +"description": "Update operation: The Smart campaign setting must specify a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo": { +"description": "Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions.", +"id": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", +"properties": { +"adSchedules": { +"description": "Optional. The business ad schedule.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" +}, +"type": "array" +}, +"businessContext": { +"$ref": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext", +"description": "Optional. Context describing the business to advertise." +}, +"businessProfileLocation": { +"description": "Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.", +"type": "string" +}, +"finalUrl": { +"description": "Optional. Landing page URL of the campaign.", +"type": "string" +}, +"keywordThemes": { +"description": "Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__KeywordThemeInfo" +}, +"type": "array" +}, +"languageCode": { +"description": "Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.", +"type": "string" +}, +"locationList": { +"$ref": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList", +"description": "Optional. The targeting geo location by locations." +}, +"proximity": { +"$ref": "GoogleAdsSearchads360V23Common__ProximityInfo", +"description": "Optional. The targeting geo location by proximity." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest": { +"description": "Request message for StartIdentityVerification.", +"id": "GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest", +"properties": { +"verificationProgram": { +"description": "Required. The verification program type for which we want to start the verification.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ADVERTISER_IDENTITY_VERIFICATION" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Advertiser submits documents to verify their identity." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest": { +"description": "Request message for GeoTargetConstantService.SuggestGeoTargetConstants.", +"id": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest", +"properties": { +"countryCode": { +"description": "Returned geo targets are restricted to this country code.", +"type": "string" +}, +"geoTargets": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets", +"description": "The geo target constant resource names to filter by." +}, +"locale": { +"description": "If possible, returned geo targets are translated using this locale. If not, en is used by default. This is also used as a hint for returned geo targets.", +"type": "string" +}, +"locationNames": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames", +"description": "The location names to search by. At most 25 names can be set." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse": { +"description": "Response message for GeoTargetConstantService.SuggestGeoTargetConstants.", +"id": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse", +"properties": { +"geoTargetConstantSuggestions": { +"description": "Geo target constant suggestions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest": { +"description": "Request message for KeywordThemeConstantService.SuggestKeywordThemeConstants.", +"id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest", +"properties": { +"countryCode": { +"description": "Upper-case, two-letter country code as defined by ISO-3166. This for refining the scope of the query, default to 'US' if not set.", +"type": "string" +}, +"languageCode": { +"description": "The two letter language code for get corresponding keyword theme for refining the scope of the query, default to 'en' if not set.", +"type": "string" +}, +"queryText": { +"description": "The query text of a keyword theme that will be used to map to similar keyword themes. For example, \"plumber\" or \"roofer\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse": { +"description": "Response message for KeywordThemeConstantService.SuggestKeywordThemeConstants.", +"id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse", +"properties": { +"keywordThemeConstants": { +"description": "Smart Campaign keyword theme suggestions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest": { +"description": "Request message for SmartCampaignSuggestService.SuggestKeywordThemes.", +"id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest", +"properties": { +"suggestionInfo": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", +"description": "Required. Information to get keyword theme suggestions. Required fields: * suggestion_info.final_url * suggestion_info.language_code * suggestion_info.geo_target Recommended fields: * suggestion_info.business_setting" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse": { +"description": "Response message for SmartCampaignSuggestService.SuggestKeywordThemes.", +"id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse", +"properties": { +"keywordThemes": { +"description": "Smart campaign keyword theme suggestions.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest": { +"description": "Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd.", +"id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest", +"properties": { +"suggestionInfo": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", +"description": "Required. Inputs used to suggest a Smart campaign ad. Required fields: final_url, language_code, keyword_themes. Optional but recommended fields to improve the quality of the suggestion: business_setting and geo_target." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse": { +"description": "Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd.", +"id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse", +"properties": { +"adInfo": { +"$ref": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", +"description": "Optional. Ad info includes 3 creative headlines and 2 creative descriptions." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest": { +"description": "Request message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions.", +"id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest", +"properties": { +"campaign": { +"description": "Required. The resource name of the campaign to get suggestion for.", +"type": "string" +}, +"suggestionInfo": { +"$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", +"description": "Required. Information needed to get budget options" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse": { +"description": "Response message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on whether the system could suggest the options, either all of the options or none of them might be returned.", +"id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse", +"properties": { +"high": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", +"description": "Optional. The highest budget option." +}, +"low": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", +"description": "Optional. The lowest budget option." +}, +"recommended": { +"$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", +"description": "Optional. The recommended budget option." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest": { +"description": "Request message for TravelAssetSuggestionService.SuggestTravelAssets.", +"id": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest", +"properties": { +"languageOption": { +"description": "Required. The language specifications in BCP 47 format (for example, en-US, zh-CN, etc.) for the asset suggestions. Text will be in this language. Usually matches one of the campaign target languages.", +"type": "string" +}, +"placeIds": { +"description": "The Google Maps Place IDs of hotels for which assets are requested. See https://developers.google.com/places/web-service/place-id for more information.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse": { +"description": "Response message for TravelAssetSuggestionService.SuggestTravelAssets.", +"id": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse", +"properties": { +"hotelAssetSuggestions": { +"description": "Asset suggestions for each place ID submitted in the request.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__HotelAssetSuggestion" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SurfaceTargeting": { +"description": "Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts.", +"id": "GoogleAdsSearchads360V23Services__SurfaceTargeting", +"properties": { +"surfaces": { +"description": "List of surfaces available to target.", +"items": { +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"DISCOVER_FEED", +"GMAIL", +"IN_FEED", +"IN_STREAM_BUMPER", +"IN_STREAM_NON_SKIPPABLE", +"IN_STREAM_SKIPPABLE", +"SHORTS" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Discover feed ad surface.", +"Gmail ad surface.", +"In-Feed ad surface.", +"In-Stream bumper ad surface.", +"In-Stream non-skippable ad surface.", +"In-Stream skippable ad surface.", +"Shorts ad surface." +], +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations": { +"description": "The surface targeting combinations available for an ad product.", +"id": "GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations", +"properties": { +"availableTargetingCombinations": { +"description": "Available surface target combinations for the ad product.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting" +}, +"type": "array" +}, +"defaultTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", +"description": "Default surface targeting applied to the ad product." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SurveyDissatisfied": { +"description": "Details about various factors for not being satisfied with the lead.", +"id": "GoogleAdsSearchads360V23Services__SurveyDissatisfied", +"properties": { +"otherReasonComment": { +"description": "Optional. Provider's free form comments. This field is required when OTHER_DISSATISFIED_REASON is selected as the reason.", +"type": "string" +}, +"surveyDissatisfiedReason": { +"description": "Required. Provider's reason for not being satisfied with the lead.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OTHER_DISSATISFIED_REASON", +"GEO_MISMATCH", +"JOB_TYPE_MISMATCH", +"NOT_READY_TO_BOOK", +"SPAM", +"DUPLICATE", +"SOLICITATION" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Other reasons.", +"Lead was for a service that does not match the business' service area.", +"Lead was for a service that is not offered by the business.", +"Lead was by a customer that was not ready to book.", +"Lead was a spam. Example: lead was from a bot, silent called, scam, etc.", +"Lead was a duplicate of another lead that is, customer contacted the business more than once.", +"Lead due to solicitation. Example: a person trying to get a job or selling a product, etc." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__SurveySatisfied": { +"description": "Details about various factors for being satisfied with the lead.", +"id": "GoogleAdsSearchads360V23Services__SurveySatisfied", +"properties": { +"otherReasonComment": { +"description": "Optional. Provider's free form comments. This field is required when OTHER_SATISFIED_REASON is selected as the reason.", +"type": "string" +}, +"surveySatisfiedReason": { +"description": "Required. Provider's reason for being satisfied with the lead.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"OTHER_SATISFIED_REASON", +"BOOKED_CUSTOMER", +"LIKELY_BOOKED_CUSTOMER", +"SERVICE_RELATED", +"HIGH_VALUE_SERVICE" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Other reasons.", +"Lead converted into a booked customer or client.", +"Lead could convert into a booked customer or client soon.", +"Lead was related to the services the business offers.", +"Lead was for a service that generates high value for the business." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__TargetFrequencySettings": { +"description": "Target Frequency settings for a supported product.", +"id": "GoogleAdsSearchads360V23Services__TargetFrequencySettings", +"properties": { +"targetFrequency": { +"description": "Required. The target frequency goal per selected time unit.", +"format": "int32", +"type": "integer" +}, +"timeUnit": { +"description": "Required. The time unit used to describe the time frame for target_frequency.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"WEEKLY", +"MONTHLY" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"Optimize bidding to reach Target Frequency in a week.", +"Optimize bidding to reach Target Frequency in a month." +], +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__Targeting": { +"description": "The targeting for which traffic metrics will be reported.", +"id": "GoogleAdsSearchads360V23Services__Targeting", +"properties": { +"ageRange": { +"description": "Targeted age range. An unset value is equivalent to targeting all ages.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"AGE_RANGE_18_24", +"AGE_RANGE_18_34", +"AGE_RANGE_18_44", +"AGE_RANGE_18_49", +"AGE_RANGE_18_54", +"AGE_RANGE_18_64", +"AGE_RANGE_18_65_UP", +"AGE_RANGE_21_34", +"AGE_RANGE_25_34", +"AGE_RANGE_25_44", +"AGE_RANGE_25_49", +"AGE_RANGE_25_54", +"AGE_RANGE_25_64", +"AGE_RANGE_25_65_UP", +"AGE_RANGE_35_44", +"AGE_RANGE_35_49", +"AGE_RANGE_35_54", +"AGE_RANGE_35_64", +"AGE_RANGE_35_65_UP", +"AGE_RANGE_45_54", +"AGE_RANGE_45_64", +"AGE_RANGE_45_65_UP", +"AGE_RANGE_50_65_UP", +"AGE_RANGE_55_64", +"AGE_RANGE_55_65_UP", +"AGE_RANGE_65_UP" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Between 18 and 24 years old.", +"Between 18 and 34 years old.", +"Between 18 and 44 years old.", +"Between 18 and 49 years old.", +"Between 18 and 54 years old.", +"Between 18 and 64 years old.", +"Between 18 and 65+ years old.", +"Between 21 and 34 years old.", +"Between 25 and 34 years old.", +"Between 25 and 44 years old.", +"Between 25 and 49 years old.", +"Between 25 and 54 years old.", +"Between 25 and 64 years old.", +"Between 25 and 65+ years old.", +"Between 35 and 44 years old.", +"Between 35 and 49 years old.", +"Between 35 and 54 years old.", +"Between 35 and 64 years old.", +"Between 35 and 65+ years old.", +"Between 45 and 54 years old.", +"Between 45 and 64 years old.", +"Between 45 and 65+ years old.", +"Between 50 and 65+ years old.", +"Between 55 and 64 years old.", +"Between 55 and 65+ years old.", +"65 years old and beyond." +], +"type": "string" +}, +"audienceTargeting": { +"$ref": "GoogleAdsSearchads360V23Services__AudienceTargeting", +"description": "Targeted audiences. If not specified, does not target any specific audience." +}, +"devices": { +"description": "Targeted devices. If not specified, targets all applicable devices. Applicable devices vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__DeviceInfo" +}, +"type": "array" +}, +"genders": { +"description": "Targeted genders. An unset value is equivalent to targeting MALE and FEMALE.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo" +}, +"type": "array" +}, +"network": { +"description": "Targetable network for the ad product. If not specified, targets all applicable networks. Applicable networks vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"YOUTUBE", +"GOOGLE_VIDEO_PARTNERS", +"YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS" +], +"enumDescriptions": [ +"Not specified.", +"Used as a return value only. Represents value unknown in this version.", +"YouTube network.", +"Google Video Partners (GVP) network.", +"A combination of the YouTube network and the Google Video Partners network." +], +"type": "string" +}, +"plannableLocationId": { +"description": "The ID of the selected location. Plannable location IDs can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_ids`. This field is deprecated as of V12 and will be removed in a future release. Use `plannable_location_ids` instead.", +"type": "string" +}, +"plannableLocationIds": { +"description": "The list of plannable location IDs to target with this forecast. If more than one ID is provided, all IDs must have the same `parent_country_id`. Planning for more than `parent_county` is not supported. Plannable location IDs and their `parent_country_id` can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_id`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics": { +"description": "A suggested targetable audience relevant to the requested audience.", +"id": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics", +"properties": { +"ageRanges": { +"description": "Suggested age targeting; may be empty indicating no age targeting.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo" +}, +"type": "array" +}, +"coverage": { +"description": "The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting.", +"format": "double", +"type": "number" +}, +"gender": { +"$ref": "GoogleAdsSearchads360V23Common__GenderInfo", +"description": "Suggested gender targeting. If present, this attribute has dimension GENDER." +}, +"index": { +"description": "The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful.", +"format": "double", +"type": "number" +}, +"locations": { +"description": "Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" +}, +"type": "array" +}, +"parentalStatus": { +"$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", +"description": "A Parental Status value (parent, or not a parent)." +}, +"potentialYoutubeReach": { +"description": "The approximate estimated number of people that can be reached on YouTube using this targeting.", +"format": "int64", +"type": "string" +}, +"userInterests": { +"description": "List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed.", +"items": { +"$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UnusableAdGroup": { +"description": "An AdGroup/Campaign pair that could not be used as a suggestion for keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign that is not ENABLED or PAUSED * is itself not ENABLED", +"id": "GoogleAdsSearchads360V23Services__UnusableAdGroup", +"properties": { +"adGroup": { +"description": "The AdGroup resource name. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", +"type": "string" +}, +"campaign": { +"description": "The Campaign resource name. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UpdateDataLinkRequest": { +"description": "Request message for DataLinkService.UpdateDataLink.", +"id": "GoogleAdsSearchads360V23Services__UpdateDataLinkRequest", +"properties": { +"dataLinkStatus": { +"description": "Required. The data link status to be updated to.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"REQUESTED", +"PENDING_APPROVAL", +"ENABLED", +"DISABLED", +"REVOKED", +"REJECTED" +], +"enumDescriptions": [ +"Not specified.", +"The value is unknown in this version.", +"Link has been requested by one party, but not confirmed by the other party.", +"Link is waiting for the customer to approve.", +"Link is established and can be used as needed.", +"Link is no longer valid and should be ignored.", +"Link request has been cancelled by the requester and further cleanup may be needed.", +"Link request has been rejected by the approver." +], +"type": "string" +}, +"resourceName": { +"description": "Required. The data link is expected to have a valid resource name.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UpdateDataLinkResponse": { +"description": "Response message for DataLinkService.UpdateDataLink.", +"id": "GoogleAdsSearchads360V23Services__UpdateDataLinkResponse", +"properties": { +"resourceName": { +"description": "Returned for successful operations. Resource name of the data link.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest": { +"description": "Request message for ProductLinkInvitationService.UpdateProductLinkInvitation.", +"id": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest", +"properties": { +"productLinkInvitationStatus": { +"description": "Required. The product link invitation to be created.", +"enum": [ +"UNSPECIFIED", +"UNKNOWN", +"ACCEPTED", +"REQUESTED", +"PENDING_APPROVAL", +"REVOKED", +"REJECTED", +"EXPIRED" +], +"enumDescriptions": [ +"Not specified.", +"Used for return value only. Represents value unknown in this version.", +"The invitation is accepted.", +"An invitation has been sent to the other account. A user on the other account may now accept the invitation by setting the status to ACCEPTED.", +"This invitation has been sent by a user on the other account. It may be accepted by a user on this account by setting the status to ACCEPTED.", +"The invitation is revoked by the user who sent the invitation.", +"The invitation has been rejected by the invitee.", +"The invitation has timed out before being accepted by the invitee." +], +"type": "string" +}, +"resourceName": { +"description": "Required. Resource name of the product link invitation.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse": { +"description": "Response message for product link invitation update.", +"id": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse", +"properties": { +"resourceName": { +"description": "Result of the update.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UploadUserDataRequest": { +"description": "Request message for UserDataService.UploadUserData", +"id": "GoogleAdsSearchads360V23Services__UploadUserDataRequest", +"properties": { +"customerMatchUserListMetadata": { +"$ref": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", +"description": "Metadata for data updates to a Customer Match user list." +}, +"operations": { +"description": "Required. The list of operations to be done.", +"items": { +"$ref": "GoogleAdsSearchads360V23Services__UserDataOperation" +}, +"type": "array" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UploadUserDataResponse": { +"description": "Response message for UserDataService.UploadUserData Uploads made through this service will not be visible under the 'Segment members' section for the Customer Match List in the Google Ads UI.", +"id": "GoogleAdsSearchads360V23Services__UploadUserDataResponse", +"properties": { +"receivedOperationsCount": { +"description": "Number of upload data operations received by API.", +"format": "int32", +"type": "integer" +}, +"uploadDateTime": { +"description": "The date time at which the request was received by API, formatted as \"yyyy-mm-dd hh:mm:ss+|-hh:mm\", for example, \"2019-01-01 12:32:45-08:00\".", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UrlSeed": { +"description": "Url Seed", +"id": "GoogleAdsSearchads360V23Services__UrlSeed", +"properties": { +"url": { +"description": "The URL to crawl in order to generate keyword ideas.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UserDataOperation": { +"description": "Operation to be made for the UploadUserDataRequest.", +"id": "GoogleAdsSearchads360V23Services__UserDataOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Common__UserData", +"description": "The list of user data to be appended to the user list." +}, +"remove": { +"$ref": "GoogleAdsSearchads360V23Common__UserData", +"description": "The list of user data to be removed from the user list." +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation": { +"description": "A single mutate operation on the user list customer type.", +"id": "GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__UserListCustomerType", +"description": "Attach a user list customer type to a user list. No resource name is expected for the new user list customer type." +}, +"remove": { +"description": "Remove an existing user list customer type. A resource name for the removed user list customer type is expected, in this format: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__UserListOperation": { +"description": "A single operation (create, update) on a user list.", +"id": "GoogleAdsSearchads360V23Services__UserListOperation", +"properties": { +"create": { +"$ref": "GoogleAdsSearchads360V23Resources__UserList", +"description": "Create operation: No resource name is expected for the new user list." +}, +"remove": { +"description": "Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id}/userLists/{user_list_id}`", +"type": "string" +}, +"update": { +"$ref": "GoogleAdsSearchads360V23Resources__UserList", +"description": "Update operation: The user list is expected to have a valid resource name." +}, +"updateMask": { +"description": "FieldMask that determines which resource fields are modified in an update.", +"format": "google-fieldmask", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__YouTubeSelectLineUp": { +"description": "A Plannable YouTube Select Lineup for product targeting.", +"id": "GoogleAdsSearchads360V23Services__YouTubeSelectLineUp", +"properties": { +"lineupId": { +"description": "The ID of the YouTube Select Lineup.", +"format": "int64", +"type": "string" +}, +"lineupName": { +"description": "The unique name of the YouTube Select Lineup.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleAdsSearchads360V23Services__YouTubeSelectSettings": { +"description": "Request settings for YouTube Select Lineups", +"id": "GoogleAdsSearchads360V23Services__YouTubeSelectSettings", +"properties": { +"lineupId": { +"description": "Lineup for YouTube Select Targeting.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +}, +"GoogleLongrunning__Operation": { +"description": "This resource represents a long-running operation that is the result of a network API call.", +"id": "GoogleLongrunning__Operation", +"properties": { +"done": { +"description": "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.", +"type": "boolean" +}, +"error": { +"$ref": "GoogleRpc__Status", +"description": "The error result of the operation in case of failure or cancellation." +}, +"metadata": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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.", +"type": "object" +}, +"name": { +"description": "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}`.", +"type": "string" +}, +"response": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"description": "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`.", +"type": "object" +} +}, +"type": "object" +}, +"GoogleProtobuf__Empty": { +"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", +"id": "GoogleProtobuf__Empty", +"properties": {}, +"type": "object" +}, +"GoogleRpc__Status": { +"description": "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).", +"id": "GoogleRpc__Status", +"properties": { +"code": { +"description": "The status code, which should be an enum value of google.rpc.Code.", +"format": "int32", +"type": "integer" +}, +"details": { +"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", +"items": { +"additionalProperties": { +"description": "Properties of the object. Contains field @type with type URL.", +"type": "any" +}, +"type": "object" +}, +"type": "array" +}, +"message": { +"description": "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.", +"type": "string" +} +}, +"type": "object" +}, +"GoogleType__Money": { +"description": "Represents an amount of money with its currency type.", +"id": "GoogleType__Money", +"properties": { +"currencyCode": { +"description": "The three-letter currency code defined in ISO 4217.", +"type": "string" +}, +"nanos": { +"description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", +"format": "int32", +"type": "integer" +}, +"units": { +"description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", +"format": "int64", +"type": "string" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Search Ads 360 Reporting API", +"version": "v23", +"version_module": true +} \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json index d23f8d32f0..6ab4e2dff7 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json @@ -128,7 +128,7 @@ "methods": { "group": { "deprecated": true, -"description": "Filters an organization's assets and groups them by their specified properties.", +"description": "", "flatPath": "v1/folders/{foldersId}/assets:group", "httpMethod": "POST", "id": "securitycenter.folders.assets.group", @@ -137,7 +137,6 @@ ], "parameters": { "parent": { -"description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -157,7 +156,7 @@ }, "list": { "deprecated": true, -"description": "Lists an organization's assets.", +"description": "", "flatPath": "v1/folders/{foldersId}/assets", "httpMethod": "GET", "id": "securitycenter.folders.assets.list", @@ -166,47 +165,39 @@ ], "parameters": { "compareDuration": { -"description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -221,7 +212,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/folders/{foldersId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.folders.assets.updateSecurityMarks", @@ -230,20 +221,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^folders/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -265,7 +253,7 @@ "bigQueryExports": { "methods": { "create": { -"description": "Creates a BigQuery export.", +"description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.folders.bigQueryExports.create", @@ -274,12 +262,10 @@ ], "parameters": { "bigQueryExportId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -298,7 +284,7 @@ ] }, "delete": { -"description": "Deletes an existing BigQuery export.", +"description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.bigQueryExports.delete", @@ -307,7 +293,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -323,7 +308,7 @@ ] }, "get": { -"description": "Gets a BigQuery export.", +"description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.folders.bigQueryExports.get", @@ -332,7 +317,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -348,7 +332,7 @@ ] }, "list": { -"description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", +"description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.folders.bigQueryExports.list", @@ -357,18 +341,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -384,7 +365,7 @@ ] }, "patch": { -"description": "Updates a BigQuery export.", +"description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.bigQueryExports.patch", @@ -393,14 +374,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -422,7 +401,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { -"description": "Validates the given Event Threat Detection custom module.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.folders.eventThreatDetectionSettings.validateCustomModule", @@ -431,7 +410,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -454,7 +432,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.create", @@ -463,7 +441,6 @@ ], "parameters": { "parent": { -"description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -482,7 +459,7 @@ ] }, "delete": { -"description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.delete", @@ -491,7 +468,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -507,7 +483,7 @@ ] }, "get": { -"description": "Gets an Event Threat Detection custom module.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.get", @@ -516,7 +492,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -532,7 +507,7 @@ ] }, "list": { -"description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.list", @@ -541,18 +516,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -568,7 +540,7 @@ ] }, "listDescendant": { -"description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.listDescendant", @@ -577,18 +549,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -604,7 +573,7 @@ ] }, "patch": { -"description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.patch", @@ -613,14 +582,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -642,7 +609,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Gets an effective Event Threat Detection custom module at the given level.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -651,7 +618,6 @@ ], "parameters": { "name": { -"description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -667,7 +633,7 @@ ] }, "list": { -"description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", +"description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -676,18 +642,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -709,7 +672,7 @@ "findings": { "methods": { "bulkMute": { -"description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", +"description": "", "flatPath": "v1/folders/{foldersId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.folders.findings.bulkMute", @@ -718,7 +681,6 @@ ], "parameters": { "parent": { -"description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -743,7 +705,7 @@ "muteConfigs": { "methods": { "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.locations.muteConfigs.delete", @@ -752,7 +714,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -768,7 +729,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.locations.muteConfigs.get", @@ -777,7 +738,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -793,7 +753,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.locations.muteConfigs.patch", @@ -802,14 +762,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -833,7 +791,7 @@ "muteConfigs": { "methods": { "create": { -"description": "Creates a mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.folders.muteConfigs.create", @@ -842,12 +800,10 @@ ], "parameters": { "muteConfigId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -866,7 +822,7 @@ ] }, "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.muteConfigs.delete", @@ -875,7 +831,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -891,7 +846,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.muteConfigs.get", @@ -900,7 +855,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -916,7 +870,7 @@ ] }, "list": { -"description": "Lists mute configs.", +"description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.folders.muteConfigs.list", @@ -925,18 +879,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -952,7 +903,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.muteConfigs.patch", @@ -961,14 +912,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -990,7 +939,7 @@ "notificationConfigs": { "methods": { "create": { -"description": "Creates a notification config.", +"description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.folders.notificationConfigs.create", @@ -999,12 +948,10 @@ ], "parameters": { "configId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1023,7 +970,7 @@ ] }, "delete": { -"description": "Deletes a notification config.", +"description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.notificationConfigs.delete", @@ -1032,7 +979,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -1048,7 +994,7 @@ ] }, "get": { -"description": "Gets a notification config.", +"description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.notificationConfigs.get", @@ -1057,7 +1003,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -1073,7 +1018,7 @@ ] }, "list": { -"description": "Lists notification configs.", +"description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.folders.notificationConfigs.list", @@ -1082,18 +1027,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1109,7 +1051,7 @@ ] }, "patch": { -"description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", +"description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.notificationConfigs.patch", @@ -1118,14 +1060,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1149,7 +1089,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.create", @@ -1158,7 +1098,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1177,7 +1116,7 @@ ] }, "delete": { -"description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.delete", @@ -1186,7 +1125,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -1202,7 +1140,7 @@ ] }, "get": { -"description": "Retrieves a SecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.get", @@ -1211,7 +1149,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -1227,7 +1164,7 @@ ] }, "list": { -"description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.list", @@ -1236,18 +1173,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1263,7 +1197,7 @@ ] }, "listDescendant": { -"description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent\u2019s CRM descendants.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -1272,18 +1206,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1299,7 +1230,7 @@ ] }, "patch": { -"description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.patch", @@ -1308,14 +1239,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1333,7 +1262,7 @@ ] }, "simulate": { -"description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.simulate", @@ -1342,7 +1271,6 @@ ], "parameters": { "parent": { -"description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1365,7 +1293,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -1374,7 +1302,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -1390,7 +1317,7 @@ ] }, "list": { -"description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -1399,18 +1326,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1432,7 +1356,7 @@ "sources": { "methods": { "list": { -"description": "Lists all sources belonging to an organization.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources", "httpMethod": "GET", "id": "securitycenter.folders.sources.list", @@ -1441,18 +1365,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1472,7 +1393,7 @@ "findings": { "methods": { "group": { -"description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.group", @@ -1481,7 +1402,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+$", "required": true, @@ -1500,7 +1420,7 @@ ] }, "list": { -"description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.folders.sources.findings.list", @@ -1510,40 +1430,33 @@ "parameters": { "compareDuration": { "deprecated": true, -"description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+$", "required": true, @@ -1551,7 +1464,6 @@ }, "readTime": { "deprecated": true, -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -1566,7 +1478,7 @@ ] }, "patch": { -"description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.patch", @@ -1575,14 +1487,12 @@ ], "parameters": { "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1600,7 +1510,7 @@ ] }, "setMute": { -"description": "Updates the mute state of a finding.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.setMute", @@ -1609,7 +1519,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -1628,7 +1537,7 @@ ] }, "setState": { -"description": "Updates the state of a finding.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.setState", @@ -1637,7 +1546,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -1656,7 +1564,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.updateSecurityMarks", @@ -1665,20 +1573,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1700,7 +1605,7 @@ "externalSystems": { "methods": { "patch": { -"description": "Updates external system. This is for a given finding.", +"description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.externalSystems.patch", @@ -1709,14 +1614,12 @@ ], "parameters": { "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1744,7 +1647,7 @@ "organizations": { "methods": { "getOrganizationSettings": { -"description": "Gets the settings for an organization.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/organizationSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getOrganizationSettings", @@ -1753,7 +1656,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the organization to get organization settings for. Its format is `organizations/[organization_id]/organizationSettings`.", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, @@ -1770,7 +1672,7 @@ }, "updateOrganizationSettings": { "deprecated": true, -"description": "Updates an organization's settings.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/organizationSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateOrganizationSettings", @@ -1779,14 +1681,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the settings resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1809,7 +1709,7 @@ "methods": { "group": { "deprecated": true, -"description": "Filters an organization's assets and groups them by their specified properties.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.organizations.assets.group", @@ -1818,7 +1718,6 @@ ], "parameters": { "parent": { -"description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1838,7 +1737,7 @@ }, "list": { "deprecated": true, -"description": "Lists an organization's assets.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/assets", "httpMethod": "GET", "id": "securitycenter.organizations.assets.list", @@ -1847,47 +1746,39 @@ ], "parameters": { "compareDuration": { -"description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -1903,7 +1794,7 @@ }, "runDiscovery": { "deprecated": true, -"description": "Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/assets:runDiscovery", "httpMethod": "POST", "id": "securitycenter.organizations.assets.runDiscovery", @@ -1912,7 +1803,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the organization to run asset discovery for. Its format is `organizations/[organization_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1931,7 +1821,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.assets.updateSecurityMarks", @@ -1940,20 +1830,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1975,7 +1862,7 @@ "attackPaths": { "methods": { "list": { -"description": "Lists the attack paths for a set of simulation results or valued resources and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.attackPaths.list", @@ -1984,23 +1871,19 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2020,7 +1903,7 @@ "bigQueryExports": { "methods": { "create": { -"description": "Creates a BigQuery export.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.organizations.bigQueryExports.create", @@ -2029,12 +1912,10 @@ ], "parameters": { "bigQueryExportId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2053,7 +1934,7 @@ ] }, "delete": { -"description": "Deletes an existing BigQuery export.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.bigQueryExports.delete", @@ -2062,7 +1943,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -2078,7 +1958,7 @@ ] }, "get": { -"description": "Gets a BigQuery export.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.organizations.bigQueryExports.get", @@ -2087,7 +1967,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -2103,7 +1982,7 @@ ] }, "list": { -"description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.organizations.bigQueryExports.list", @@ -2112,18 +1991,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2139,7 +2015,7 @@ ] }, "patch": { -"description": "Updates a BigQuery export.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.bigQueryExports.patch", @@ -2148,14 +2024,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2177,7 +2051,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { -"description": "Validates the given Event Threat Detection custom module.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.organizations.eventThreatDetectionSettings.validateCustomModule", @@ -2186,7 +2060,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2209,7 +2082,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.create", @@ -2218,7 +2091,6 @@ ], "parameters": { "parent": { -"description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2237,7 +2109,7 @@ ] }, "delete": { -"description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.delete", @@ -2246,7 +2118,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -2262,7 +2133,7 @@ ] }, "get": { -"description": "Gets an Event Threat Detection custom module.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.get", @@ -2271,7 +2142,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -2287,7 +2157,7 @@ ] }, "list": { -"description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.list", @@ -2296,18 +2166,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2323,7 +2190,7 @@ ] }, "listDescendant": { -"description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.listDescendant", @@ -2332,18 +2199,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2359,7 +2223,7 @@ ] }, "patch": { -"description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.patch", @@ -2368,14 +2232,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2397,7 +2259,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Gets an effective Event Threat Detection custom module at the given level.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -2406,7 +2268,6 @@ ], "parameters": { "name": { -"description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -2422,7 +2283,7 @@ ] }, "list": { -"description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -2431,18 +2292,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2464,7 +2322,7 @@ "findings": { "methods": { "bulkMute": { -"description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.organizations.findings.bulkMute", @@ -2473,7 +2331,6 @@ ], "parameters": { "parent": { -"description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2498,7 +2355,7 @@ "muteConfigs": { "methods": { "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.locations.muteConfigs.delete", @@ -2507,7 +2364,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2523,7 +2379,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.locations.muteConfigs.get", @@ -2532,7 +2388,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2548,7 +2403,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.locations.muteConfigs.patch", @@ -2557,14 +2412,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2588,7 +2441,7 @@ "muteConfigs": { "methods": { "create": { -"description": "Creates a mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.organizations.muteConfigs.create", @@ -2597,12 +2450,10 @@ ], "parameters": { "muteConfigId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2621,7 +2472,7 @@ ] }, "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.muteConfigs.delete", @@ -2630,7 +2481,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2646,7 +2496,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.muteConfigs.get", @@ -2655,7 +2505,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2671,7 +2520,7 @@ ] }, "list": { -"description": "Lists mute configs.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.muteConfigs.list", @@ -2680,18 +2529,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2707,7 +2553,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.muteConfigs.patch", @@ -2716,14 +2562,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2745,7 +2589,7 @@ "notificationConfigs": { "methods": { "create": { -"description": "Creates a notification config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.organizations.notificationConfigs.create", @@ -2754,12 +2598,10 @@ ], "parameters": { "configId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2778,7 +2620,7 @@ ] }, "delete": { -"description": "Deletes a notification config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.notificationConfigs.delete", @@ -2787,7 +2629,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -2803,7 +2644,7 @@ ] }, "get": { -"description": "Gets a notification config.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.notificationConfigs.get", @@ -2812,7 +2653,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -2828,7 +2668,7 @@ ] }, "list": { -"description": "Lists notification configs.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.notificationConfigs.list", @@ -2837,18 +2677,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2864,7 +2701,7 @@ ] }, "patch": { -"description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", +"description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.notificationConfigs.patch", @@ -2873,14 +2710,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2902,7 +2737,7 @@ "operations": { "methods": { "cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -2911,7 +2746,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2927,7 +2761,7 @@ ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.operations.delete", @@ -2936,7 +2770,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2952,7 +2785,7 @@ ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.operations.get", @@ -2961,7 +2794,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2977,7 +2809,7 @@ ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/operations", "httpMethod": "GET", "id": "securitycenter.organizations.operations.list", @@ -2986,30 +2818,25 @@ ], "parameters": { "filter": { -"description": "The standard list filter.", "location": "query", "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", "location": "path", "pattern": "^organizations/[^/]+/operations$", "required": true, "type": "string" }, "pageSize": { -"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", "location": "query", "type": "string" }, "returnPartialSuccess": { -"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -3027,7 +2854,7 @@ "resourceValueConfigs": { "methods": { "batchCreate": { -"description": "Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs:batchCreate", "httpMethod": "POST", "id": "securitycenter.organizations.resourceValueConfigs.batchCreate", @@ -3036,7 +2863,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new ResourceValueConfig's parent. The parent field in the CreateResourceValueConfigRequest messages must either be empty or match this field.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3055,7 +2881,7 @@ ] }, "delete": { -"description": "Deletes a ResourceValueConfig.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.resourceValueConfigs.delete", @@ -3064,7 +2890,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the ResourceValueConfig to delete", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, @@ -3080,7 +2905,7 @@ ] }, "get": { -"description": "Gets a ResourceValueConfig.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.resourceValueConfigs.get", @@ -3089,7 +2914,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the resource value config to retrieve. Its format is `organizations/{organization}/resourceValueConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, @@ -3105,7 +2929,7 @@ ] }, "list": { -"description": "Lists all ResourceValueConfigs.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.resourceValueConfigs.list", @@ -3114,18 +2938,15 @@ ], "parameters": { "pageSize": { -"description": "The number of results to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListResourceValueConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListResourceValueConfigs` must match the call that provided the page token. page_size can be specified, and the new page_size will be used.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of resource value configs. Its format is `organizations/[organization_id]`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3141,7 +2962,7 @@ ] }, "patch": { -"description": "Updates an existing ResourceValueConfigs with new rules.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.resourceValueConfigs.patch", @@ -3150,14 +2971,12 @@ ], "parameters": { "name": { -"description": "Name for the resource value configuration", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3181,7 +3000,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.create", @@ -3190,7 +3009,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3209,7 +3027,7 @@ ] }, "delete": { -"description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.delete", @@ -3218,7 +3036,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -3234,7 +3051,7 @@ ] }, "get": { -"description": "Retrieves a SecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.get", @@ -3243,7 +3060,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -3259,7 +3075,7 @@ ] }, "list": { -"description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.list", @@ -3268,18 +3084,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3295,7 +3108,7 @@ ] }, "listDescendant": { -"description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent\u2019s CRM descendants.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -3304,18 +3117,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3331,7 +3141,7 @@ ] }, "patch": { -"description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.patch", @@ -3340,14 +3150,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3365,7 +3173,7 @@ ] }, "simulate": { -"description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.simulate", @@ -3374,7 +3182,6 @@ ], "parameters": { "parent": { -"description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3397,7 +3204,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -3406,7 +3213,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -3422,7 +3228,7 @@ ] }, "list": { -"description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -3431,18 +3237,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3464,7 +3267,7 @@ "simulations": { "methods": { "get": { -"description": "Get the simulation by name or the latest simulation for the given organization.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.get", @@ -3473,7 +3276,6 @@ ], "parameters": { "name": { -"description": "Required. The organization name or simulation name of this simulation Valid format: `organizations/{organization}/simulations/latest` `organizations/{organization}/simulations/{simulation}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3495,7 +3297,7 @@ "attackPaths": { "methods": { "list": { -"description": "Lists the attack paths for a set of simulation results or valued resources and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackExposureResults/{attackExposureResultsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackExposureResults.attackPaths.list", @@ -3504,23 +3306,19 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+$", "required": true, @@ -3540,7 +3338,7 @@ "valuedResources": { "methods": { "list": { -"description": "Lists the valued resources for a set of simulation results and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackExposureResults/{attackExposureResultsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackExposureResults.valuedResources.list", @@ -3549,28 +3347,23 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+$", "required": true, @@ -3592,7 +3385,7 @@ "attackPaths": { "methods": { "list": { -"description": "Lists the attack paths for a set of simulation results or valued resources and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackPaths.list", @@ -3601,23 +3394,19 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3637,7 +3426,7 @@ "valuedResources": { "methods": { "get": { -"description": "Get the valued resource by name", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources/{valuedResourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.get", @@ -3646,7 +3435,6 @@ ], "parameters": { "name": { -"description": "Required. The name of this valued resource Valid format: `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+$", "required": true, @@ -3662,7 +3450,7 @@ ] }, "list": { -"description": "Lists the valued resources for a set of simulation results and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.list", @@ -3671,28 +3459,23 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3712,7 +3495,7 @@ "attackPaths": { "methods": { "list": { -"description": "Lists the attack paths for a set of simulation results or valued resources and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources/{valuedResourcesId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.attackPaths.list", @@ -3721,23 +3504,19 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+$", "required": true, @@ -3761,7 +3540,7 @@ "sources": { "methods": { "create": { -"description": "Creates a source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources", "httpMethod": "POST", "id": "securitycenter.organizations.sources.create", @@ -3770,7 +3549,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new source's parent. Its format should be `organizations/[organization_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3789,7 +3567,7 @@ ] }, "get": { -"description": "Gets a source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.sources.get", @@ -3798,7 +3576,6 @@ ], "parameters": { "name": { -"description": "Required. Relative resource name of the source. Its format is `organizations/[organization_id]/source/[source_id]`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3814,7 +3591,7 @@ ] }, "getIamPolicy": { -"description": "Gets the access control policy on the specified Source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:getIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.getIamPolicy", @@ -3823,7 +3600,6 @@ ], "parameters": { "resource": { -"description": "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.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3842,7 +3618,7 @@ ] }, "list": { -"description": "Lists all sources belonging to an organization.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources", "httpMethod": "GET", "id": "securitycenter.organizations.sources.list", @@ -3851,18 +3627,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3878,7 +3651,7 @@ ] }, "patch": { -"description": "Updates a source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.patch", @@ -3887,14 +3660,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the source resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3912,7 +3683,7 @@ ] }, "setIamPolicy": { -"description": "Sets the access control policy on the specified Source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:setIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.setIamPolicy", @@ -3921,7 +3692,6 @@ ], "parameters": { "resource": { -"description": "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.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3940,7 +3710,7 @@ ] }, "testIamPermissions": { -"description": "Returns the permissions that a caller has on the specified source.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:testIamPermissions", "httpMethod": "POST", "id": "securitycenter.organizations.sources.testIamPermissions", @@ -3949,7 +3719,6 @@ ], "parameters": { "resource": { -"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3972,7 +3741,7 @@ "findings": { "methods": { "create": { -"description": "Creates a finding. The corresponding source must exist for finding creation to succeed.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.create", @@ -3981,12 +3750,10 @@ ], "parameters": { "findingId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new finding's parent. Its format should be `organizations/[organization_id]/sources/[source_id]`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4005,7 +3772,7 @@ ] }, "group": { -"description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.group", @@ -4014,7 +3781,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4033,7 +3799,7 @@ ] }, "list": { -"description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.organizations.sources.findings.list", @@ -4043,40 +3809,33 @@ "parameters": { "compareDuration": { "deprecated": true, -"description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4084,7 +3843,6 @@ }, "readTime": { "deprecated": true, -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -4099,7 +3857,7 @@ ] }, "patch": { -"description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.patch", @@ -4108,14 +3866,12 @@ ], "parameters": { "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4133,7 +3889,7 @@ ] }, "setMute": { -"description": "Updates the mute state of a finding.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setMute", @@ -4142,7 +3898,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -4161,7 +3916,7 @@ ] }, "setState": { -"description": "Updates the state of a finding.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setState", @@ -4170,7 +3925,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -4189,7 +3943,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.updateSecurityMarks", @@ -4198,20 +3952,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4233,7 +3984,7 @@ "externalSystems": { "methods": { "patch": { -"description": "Updates external system. This is for a given finding.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.externalSystems.patch", @@ -4242,14 +3993,12 @@ ], "parameters": { "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4275,7 +4024,7 @@ "valuedResources": { "methods": { "list": { -"description": "Lists the valued resources for a set of simulation results and filter.", +"description": "", "flatPath": "v1/organizations/{organizationsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.valuedResources.list", @@ -4284,28 +4033,23 @@ ], "parameters": { "filter": { -"description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { -"description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -4330,7 +4074,7 @@ "methods": { "group": { "deprecated": true, -"description": "Filters an organization's assets and groups them by their specified properties.", +"description": "", "flatPath": "v1/projects/{projectsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.projects.assets.group", @@ -4339,7 +4083,6 @@ ], "parameters": { "parent": { -"description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4359,7 +4102,7 @@ }, "list": { "deprecated": true, -"description": "Lists an organization's assets.", +"description": "", "flatPath": "v1/projects/{projectsId}/assets", "httpMethod": "GET", "id": "securitycenter.projects.assets.list", @@ -4368,47 +4111,39 @@ ], "parameters": { "compareDuration": { -"description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -4423,7 +4158,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/projects/{projectsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.projects.assets.updateSecurityMarks", @@ -4432,20 +4167,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^projects/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4467,7 +4199,7 @@ "bigQueryExports": { "methods": { "create": { -"description": "Creates a BigQuery export.", +"description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.projects.bigQueryExports.create", @@ -4476,12 +4208,10 @@ ], "parameters": { "bigQueryExportId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4500,7 +4230,7 @@ ] }, "delete": { -"description": "Deletes an existing BigQuery export.", +"description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.bigQueryExports.delete", @@ -4509,7 +4239,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -4525,7 +4254,7 @@ ] }, "get": { -"description": "Gets a BigQuery export.", +"description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.projects.bigQueryExports.get", @@ -4534,7 +4263,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -4550,7 +4278,7 @@ ] }, "list": { -"description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", +"description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.projects.bigQueryExports.list", @@ -4559,18 +4287,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4586,7 +4311,7 @@ ] }, "patch": { -"description": "Updates a BigQuery export.", +"description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.bigQueryExports.patch", @@ -4595,14 +4320,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4624,7 +4347,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { -"description": "Validates the given Event Threat Detection custom module.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.projects.eventThreatDetectionSettings.validateCustomModule", @@ -4633,7 +4356,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4656,7 +4378,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.create", @@ -4665,7 +4387,6 @@ ], "parameters": { "parent": { -"description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4684,7 +4405,7 @@ ] }, "delete": { -"description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.delete", @@ -4693,7 +4414,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -4709,7 +4429,7 @@ ] }, "get": { -"description": "Gets an Event Threat Detection custom module.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.get", @@ -4718,7 +4438,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -4734,7 +4453,7 @@ ] }, "list": { -"description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.list", @@ -4743,18 +4462,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4770,7 +4486,7 @@ ] }, "listDescendant": { -"description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.listDescendant", @@ -4779,18 +4495,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4806,7 +4519,7 @@ ] }, "patch": { -"description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.patch", @@ -4815,14 +4528,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4844,7 +4555,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Gets an effective Event Threat Detection custom module at the given level.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -4853,7 +4564,6 @@ ], "parameters": { "name": { -"description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -4869,7 +4579,7 @@ ] }, "list": { -"description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", +"description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -4878,18 +4588,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4911,7 +4618,7 @@ "findings": { "methods": { "bulkMute": { -"description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", +"description": "", "flatPath": "v1/projects/{projectsId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.projects.findings.bulkMute", @@ -4920,7 +4627,6 @@ ], "parameters": { "parent": { -"description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4945,7 +4651,7 @@ "muteConfigs": { "methods": { "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.locations.muteConfigs.delete", @@ -4954,7 +4660,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -4970,7 +4675,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.locations.muteConfigs.get", @@ -4979,7 +4684,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -4995,7 +4699,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.locations.muteConfigs.patch", @@ -5004,14 +4708,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5035,7 +4737,7 @@ "muteConfigs": { "methods": { "create": { -"description": "Creates a mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.projects.muteConfigs.create", @@ -5044,12 +4746,10 @@ ], "parameters": { "muteConfigId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5068,7 +4768,7 @@ ] }, "delete": { -"description": "Deletes an existing mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.muteConfigs.delete", @@ -5077,7 +4777,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -5093,7 +4792,7 @@ ] }, "get": { -"description": "Gets a mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.muteConfigs.get", @@ -5102,7 +4801,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -5118,7 +4816,7 @@ ] }, "list": { -"description": "Lists mute configs.", +"description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.projects.muteConfigs.list", @@ -5127,18 +4825,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5154,7 +4849,7 @@ ] }, "patch": { -"description": "Updates a mute config.", +"description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.muteConfigs.patch", @@ -5163,14 +4858,12 @@ ], "parameters": { "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5192,7 +4885,7 @@ "notificationConfigs": { "methods": { "create": { -"description": "Creates a notification config.", +"description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.projects.notificationConfigs.create", @@ -5201,12 +4894,10 @@ ], "parameters": { "configId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5225,7 +4916,7 @@ ] }, "delete": { -"description": "Deletes a notification config.", +"description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.notificationConfigs.delete", @@ -5234,7 +4925,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -5250,7 +4940,7 @@ ] }, "get": { -"description": "Gets a notification config.", +"description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.notificationConfigs.get", @@ -5259,7 +4949,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -5275,7 +4964,7 @@ ] }, "list": { -"description": "Lists notification configs.", +"description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.projects.notificationConfigs.list", @@ -5284,18 +4973,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5311,7 +4997,7 @@ ] }, "patch": { -"description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", +"description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.notificationConfigs.patch", @@ -5320,14 +5006,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5351,7 +5035,7 @@ "customModules": { "methods": { "create": { -"description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.create", @@ -5360,7 +5044,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5379,7 +5062,7 @@ ] }, "delete": { -"description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.delete", @@ -5388,7 +5071,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -5404,7 +5086,7 @@ ] }, "get": { -"description": "Retrieves a SecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.get", @@ -5413,7 +5095,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -5429,7 +5110,7 @@ ] }, "list": { -"description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.list", @@ -5438,18 +5119,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5465,7 +5143,7 @@ ] }, "listDescendant": { -"description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent\u2019s CRM descendants.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -5474,18 +5152,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5501,7 +5176,7 @@ ] }, "patch": { -"description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.patch", @@ -5510,14 +5185,12 @@ ], "parameters": { "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5535,7 +5208,7 @@ ] }, "simulate": { -"description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.simulate", @@ -5544,7 +5217,6 @@ ], "parameters": { "parent": { -"description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5567,7 +5239,7 @@ "effectiveCustomModules": { "methods": { "get": { -"description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -5576,7 +5248,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -5592,7 +5263,7 @@ ] }, "list": { -"description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", +"description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -5601,18 +5272,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5634,7 +5302,7 @@ "sources": { "methods": { "list": { -"description": "Lists all sources belonging to an organization.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources", "httpMethod": "GET", "id": "securitycenter.projects.sources.list", @@ -5643,18 +5311,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5674,7 +5339,7 @@ "findings": { "methods": { "group": { -"description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.group", @@ -5683,7 +5348,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+$", "required": true, @@ -5702,7 +5366,7 @@ ] }, "list": { -"description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.projects.sources.findings.list", @@ -5712,40 +5376,33 @@ "parameters": { "compareDuration": { "deprecated": true, -"description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+$", "required": true, @@ -5753,7 +5410,6 @@ }, "readTime": { "deprecated": true, -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -5768,7 +5424,7 @@ ] }, "patch": { -"description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.patch", @@ -5777,14 +5433,12 @@ ], "parameters": { "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5802,7 +5456,7 @@ ] }, "setMute": { -"description": "Updates the mute state of a finding.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.setMute", @@ -5811,7 +5465,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -5830,7 +5483,7 @@ ] }, "setState": { -"description": "Updates the state of a finding.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.setState", @@ -5839,7 +5492,6 @@ ], "parameters": { "name": { -"description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -5858,7 +5510,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.updateSecurityMarks", @@ -5867,20 +5519,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5902,7 +5551,7 @@ "externalSystems": { "methods": { "patch": { -"description": "Updates external system. This is for a given finding.", +"description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.externalSystems.patch", @@ -5911,14 +5560,12 @@ ], "parameters": { "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5944,104 +5591,82 @@ } } }, -"revision": "20260424", +"revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { -"description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -6049,48 +5674,39 @@ "type": "object" }, "AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -6098,20 +5714,16 @@ "type": "object" }, "AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6119,26 +5731,23 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -6147,51 +5756,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { -"description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -6201,59 +5801,49 @@ "type": "object" }, "Application": { -"description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -6261,43 +5851,34 @@ "type": "object" }, "Asset": { -"description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.", "id": "Asset", "properties": { "canonicalName": { -"description": "The canonical name of the resource. It's either \"organizations/{organization_id}/assets/{asset_id}\", \"folders/{folder_id}/assets/{asset_id}\" or \"projects/{project_number}/assets/{asset_id}\", depending on the closest CRM ancestor of the resource.", "type": "string" }, "createTime": { -"description": "The time at which the asset was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "iamPolicy": { -"$ref": "IamPolicy", -"description": "Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user." +"$ref": "IamPolicy" }, "name": { -"description": "The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/assets/{asset_id}\".", "type": "string" }, "resourceProperties": { "additionalProperties": { "type": "any" }, -"description": "Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user.", "type": "object" }, "securityCenterProperties": { -"$ref": "SecurityCenterProperties", -"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user." +"$ref": "SecurityCenterProperties" }, "securityMarks": { -"$ref": "SecurityMarks", -"description": "User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset." +"$ref": "SecurityMarks" }, "updateTime": { -"description": "The time at which the asset was last updated or added in Cloud SCC.", "format": "google-datetime", "type": "string" } @@ -6305,32 +5886,28 @@ "type": "object" }, "AssetDiscoveryConfig": { -"description": "The configuration used for Asset Discovery runs.", "id": "AssetDiscoveryConfig", "properties": { "folderIds": { -"description": "The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966.", "items": { "type": "string" }, "type": "array" }, "inclusionMode": { -"description": "The mode to use for filtering asset discovery.", "enum": [ "INCLUSION_MODE_UNSPECIFIED", "INCLUDE_ONLY", "EXCLUDE" ], "enumDescriptions": [ -"Unspecified. Setting the mode with this value will disable inclusion/exclusion filtering for Asset Discovery.", -"Asset Discovery will capture only the resources within the projects specified. All other resources will be ignored.", -"Asset Discovery will ignore all resources under the projects specified. All other resources will be retrieved." +"", +"", +"" ], "type": "string" }, "projectIds": { -"description": "The project ids to use for filtering asset discovery.", "items": { "type": "string" }, @@ -6340,32 +5917,26 @@ "type": "object" }, "Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -6373,49 +5944,41 @@ "type": "object" }, "AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "type": "string" } @@ -6423,22 +5986,18 @@ "type": "object" }, "AttackPath": { -"description": "A path that an attacker could take to reach an exposed resource.", "id": "AttackPath", "properties": { "edges": { -"description": "A list of the edges between nodes in this attack path.", "items": { "$ref": "AttackPathEdge" }, "type": "array" }, "name": { -"description": "The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78`", "type": "string" }, "pathNodes": { -"description": "A list of nodes that exist in this attack path.", "items": { "$ref": "AttackPathNode" }, @@ -6448,78 +6007,63 @@ "type": "object" }, "AttackPathEdge": { -"description": "Represents a connection between a source node and a destination node in this attack path.", "id": "AttackPathEdge", "properties": { "destination": { -"description": "The attack node uuid of the destination node.", "type": "string" }, "source": { -"description": "The attack node uuid of the source node.", "type": "string" } }, "type": "object" }, "AttackPathNode": { -"description": "Represents one point that an attacker passes through in this attack path.", "id": "AttackPathNode", "properties": { "associatedFindings": { -"description": "The findings associated with this node in the attack path.", "items": { "$ref": "PathNodeAssociatedFinding" }, "type": "array" }, "attackSteps": { -"description": "A list of attack step nodes that exist in this attack path node.", "items": { "$ref": "AttackStepNode" }, "type": "array" }, "displayName": { -"description": "Human-readable name of this resource.", "type": "string" }, "resource": { -"description": "The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format)", "type": "string" }, "resourceType": { -"description": "The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types)", "type": "string" }, "uuid": { -"description": "Unique id of the attack path node.", "type": "string" } }, "type": "object" }, "AttackStepNode": { -"description": "Detailed steps the attack can take between path nodes.", "id": "AttackStepNode", "properties": { "description": { -"description": "Attack step description", "type": "string" }, "displayName": { -"description": "User friendly name of the attack step", "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, -"description": "Attack step labels for metadata", "type": "object" }, "type": { -"description": "Attack step type. Can be either AND, OR or DEFENSE", "enum": [ "NODE_TYPE_UNSPECIFIED", "NODE_TYPE_AND", @@ -6528,52 +6072,45 @@ "NODE_TYPE_ATTACKER" ], "enumDescriptions": [ -"Type not specified", -"Incoming edge joined with AND", -"Incoming edge joined with OR", -"Incoming edge is defense", -"Incoming edge is attacker" +"", +"", +"", +"", +"" ], "type": "string" }, "uuid": { -"description": "Unique ID for one Node", "type": "string" } }, "type": "object" }, "AuditConfig": { -"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { -"description": "The configuration for logging of each type of permission.", "items": { "$ref": "AuditLogConfig" }, "type": "array" }, "service": { -"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" } }, "type": "object" }, "AuditLogConfig": { -"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { -"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" }, "logType": { -"description": "The log type that this config enables.", "enum": [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", @@ -6581,10 +6118,10 @@ "DATA_READ" ], "enumDescriptions": [ -"Default case. Should never be this.", -"Admin reads. Example: CloudIAM getIamPolicy", -"Data writes. Example: CloudSQL Users create", -"Data reads. Example: CloudSQL Users list" +"", +"", +"", +"" ], "type": "string" } @@ -6592,34 +6129,27 @@ "type": "object" }, "AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { -"$ref": "AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "AwsAccount" }, "organization": { -"$ref": "AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -6629,180 +6159,145 @@ "type": "object" }, "AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "AzureResourceGroup" }, "subscription": { -"$ref": "AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "AzureSubscription" }, "tenant": { -"$ref": "AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BatchCreateResourceValueConfigsRequest": { -"description": "Request message to create multiple resource value configs", "id": "BatchCreateResourceValueConfigsRequest", "properties": { "requests": { -"description": "Required. The resource value configs to be created.", "items": { "$ref": "CreateResourceValueConfigRequest" }, @@ -6812,11 +6307,9 @@ "type": "object" }, "BatchCreateResourceValueConfigsResponse": { -"description": "Response message for BatchCreateResourceValueConfigs", "id": "BatchCreateResourceValueConfigsResponse", "properties": { "resourceValueConfigs": { -"description": "The resource value configs created", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" }, @@ -6826,62 +6319,52 @@ "type": "object" }, "BigQueryDestination": { -"description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { -"description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "type": "string" } }, "type": "object" }, "Binding": { -"description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "condition": { -"$ref": "Expr", -"description": "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)." +"$ref": "Expr" }, "members": { -"description": "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`.", "items": { "type": "string" }, "type": "array" }, "role": { -"description": "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).", "type": "string" } }, "type": "object" }, "BulkMuteFindingsRequest": { -"description": "Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.", "id": "BulkMuteFindingsRequest", "properties": { "filter": { -"description": "Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "muteAnnotation": { "deprecated": true, -"description": "This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.", "type": "string" }, "muteState": { -"description": "Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings.", "enum": [ "MUTE_STATE_UNSPECIFIED", "MUTED", "UNDEFINED" ], "enumDescriptions": [ -"Unused.", -"Matching findings will be muted (default).", -"Matching findings will have their mute state cleared." +"", +"", +"" ], "type": "string" } @@ -6889,11 +6372,9 @@ "type": "object" }, "Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -6903,65 +6384,53 @@ "type": "object" }, "CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "AdaptiveProtection" }, "attack": { -"$ref": "Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "Requests" }, "securityPolicy": { -"$ref": "SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { -"description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -6969,31 +6438,27 @@ "type": "object" }, "CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -7001,47 +6466,37 @@ "type": "object" }, "CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -7049,44 +6504,36 @@ "type": "object" }, "Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { -"$ref": "CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -7096,20 +6543,16 @@ "type": "object" }, "Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -7119,21 +6562,19 @@ "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -7141,22 +6582,18 @@ "type": "object" }, "Contact": { -"description": "The email address of a contact.", "id": "Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { -"description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -7166,95 +6603,76 @@ "type": "object" }, "Container": { -"description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "Control": { -"description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "CreateResourceValueConfigRequest": { -"description": "Request message to create single resource value config", "id": "CreateResourceValueConfigRequest", "properties": { "parent": { -"description": "Required. Resource name of the new ResourceValueConfig's parent.", "type": "string" }, "resourceValueConfig": { -"$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig", -"description": "Required. The resource value config being created." +"$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" } }, "type": "object" }, "CustomModuleValidationError": { -"description": "An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module.", "id": "CustomModuleValidationError", "properties": { "description": { -"description": "A description of the error, suitable for human consumption. Required.", "type": "string" }, "end": { -"$ref": "Position", -"description": "The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed." +"$ref": "Position" }, "fieldPath": { -"description": "The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected.", "type": "string" }, "start": { -"$ref": "Position", -"description": "The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed." +"$ref": "Position" } }, "type": "object" }, "CustomModuleValidationErrors": { -"description": "A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module.", "id": "CustomModuleValidationErrors", "properties": { "errors": { -"description": "The list of errors.", "items": { "$ref": "CustomModuleValidationError" }, @@ -7264,20 +6682,16 @@ "type": "object" }, "Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { -"$ref": "Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -7287,26 +6701,23 @@ "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -7315,56 +6726,49 @@ "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -7373,16 +6777,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7390,20 +6793,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7411,15 +6812,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7427,15 +6827,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -7443,38 +6842,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -7482,15 +6879,12 @@ "type": "object" }, "Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -7500,20 +6894,16 @@ "type": "object" }, "DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -7521,35 +6911,30 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -7557,40 +6942,34 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -7606,21 +6985,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -7628,64 +7005,51 @@ false "type": "object" }, "Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { -"description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -7695,15 +7059,12 @@ false "type": "object" }, "Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -7711,35 +7072,29 @@ false "type": "object" }, "DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -7747,10 +7102,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -7758,53 +7113,43 @@ false "type": "object" }, "Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "EffectiveEventThreatDetectionCustomModule": { -"description": "An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only.", "id": "EffectiveEventThreatDetectionCustomModule", "properties": { "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -7812,10 +7157,10 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, @@ -7824,42 +7169,36 @@ false "description": "Properties of the object.", "type": "any" }, -"description": "Output only. Config for the effective module.", "readOnly": true, "type": "object" }, "description": { -"description": "Output only. The description for the module.", "readOnly": true, "type": "string" }, "displayName": { -"description": "Output only. The human readable name to be displayed for the module.", "readOnly": true, "type": "string" }, "enablementState": { -"description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given level.", -"The module is disabled at the given level." +"", +"", +"" ], "readOnly": true, "type": "string" }, "name": { -"description": "Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "readOnly": true, "type": "string" }, "type": { -"description": "Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP.", "readOnly": true, "type": "string" } @@ -7867,37 +7206,30 @@ false "type": "object" }, "Empty": { -"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, "EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "EventThreatDetectionCustomModule": { -"description": "Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.", "id": "EventThreatDetectionCustomModule", "properties": { "ancestorModule": { -"description": "Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.", "readOnly": true, "type": "string" }, "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -7905,10 +7237,10 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services (AWS).", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, @@ -7917,19 +7249,15 @@ false "description": "Properties of the object.", "type": "any" }, -"description": "Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.", "type": "object" }, "description": { -"description": "The description for the module.", "type": "string" }, "displayName": { -"description": "The human readable name to be displayed for the module.", "type": "string" }, "enablementState": { -"description": "The state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -7937,28 +7265,24 @@ false "INHERITED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given level.", -"The module is disabled at the given level.", -"When the enablement state is inherited." +"", +"", +"", +"" ], "type": "string" }, "lastEditor": { -"description": "Output only. The editor the module was last updated by.", "readOnly": true, "type": "string" }, "name": { -"description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "type": "string" }, "type": { -"description": "Type for the module. e.g. CONFIGURABLE_BAD_IP.", "type": "string" }, "updateTime": { -"description": "Output only. The time the module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7967,43 +7291,36 @@ false "type": "object" }, "ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -8011,15 +7328,12 @@ false "type": "object" }, "ExportFindingsMetadata": { -"description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { -"$ref": "BigQueryDestination", -"description": "Required. The destination BigQuery dataset to export findings to." +"$ref": "BigQueryDestination" }, "exportStartTime": { -"description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -8027,176 +7341,139 @@ false "type": "object" }, "ExportFindingsResponse": { -"description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "properties": {}, "type": "object" }, "Expr": { -"description": "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.", "id": "Expr", "properties": { "description": { -"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { -"description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { -"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { -"description": "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.", "type": "string" } }, "type": "object" }, "ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -8204,11 +7481,9 @@ false "type": "object" }, "FileOperation": { -"description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -8218,12 +7493,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -8231,81 +7506,63 @@ false "type": "object" }, "Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { -"$ref": "Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "Access" }, "affectedResources": { -"$ref": "AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "AiModel", -"description": "The AI model associated with the finding." +"$ref": "AiModel" }, "application": { -"$ref": "Application", -"description": "Represents an application associated with the finding." +"$ref": "Application" }, "artifactGuardPolicies": { -"$ref": "ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "AttackExposure" }, "backupDisasterRecovery": { -"$ref": "BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "BackupDisasterRecovery" }, "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "Chokepoint" }, "cloudArmor": { -"$ref": "CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "CloudDlpInspection" }, "complianceDetails": { -"$ref": "ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -8315,93 +7572,76 @@ false "additionalProperties": { "$ref": "ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "Database", -"description": "Database associated with the finding." +"$ref": "Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "DiscoveredWorkload" }, "disk": { -"$ref": "Disk", -"description": "Disk associated with the finding." +"$ref": "Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "Exfiltration" }, "externalExposure": { -"$ref": "ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -8417,79 +7657,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { -"$ref": "Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "Indicator" }, "ipRules": { -"$ref": "IpRules", -"description": "IP rules associated with the finding." +"$ref": "IpRules" }, "job": { -"$ref": "Job", -"description": "Job associated with the finding." +"$ref": "Job" }, "kernelRootkit": { -"$ref": "KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "KernelRootkit" }, "kubernetes": { -"$ref": "Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -8497,93 +7725,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "Notebook", -"description": "Notebook associated with the finding." +"$ref": "Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { -"$ref": "Secret", -"description": "Secret associated with the finding." +"$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8592,11 +7803,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -8604,59 +7815,49 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" }, "toxicCombination": { -"$ref": "ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "ToxicCombination" }, "vertexAi": { -"$ref": "VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "VertexAi" }, "vulnerability": { -"$ref": "Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Vulnerability" } }, "type": "object" }, "Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { -"description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -8667,43 +7868,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -8711,11 +7908,9 @@ false "type": "object" }, "GcpMetadata": { -"description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -8723,56 +7918,45 @@ false "type": "array" }, "organization": { -"description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GetIamPolicyRequest": { -"description": "Request message for `GetIamPolicy` method.", "id": "GetIamPolicyRequest", "properties": { "options": { -"$ref": "GetPolicyOptions", -"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +"$ref": "GetPolicyOptions" } }, "type": "object" }, "GetPolicyOptions": { -"description": "Encapsulates settings provided to GetIamPolicy.", "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { -"description": "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).", "format": "int32", "type": "integer" } @@ -8780,43 +7964,34 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8825,23 +8000,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -8851,37 +8021,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { -"description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { -"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", -"description": "Custom output properties." +"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { -"description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { -"$ref": "Expr", -"description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." +"$ref": "Expr" }, "recommendation": { -"description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { -"$ref": "GoogleCloudSecuritycenterV1ResourceSelector", -"description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." +"$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { -"description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8890,11 +8052,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" } @@ -8902,11 +8064,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { -"description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { -"description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -8916,11 +8076,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { -"description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -8928,40 +8086,36 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { -"description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { -"description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given level.", -"The module is disabled at the given level." +"", +"", +"" ], "readOnly": true, "type": "string" }, "name": { -"description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -8969,116 +8123,94 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, -"description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9087,69 +8219,54 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { -"$ref": "Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { -"description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { -"description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { -"$ref": "Expr", -"description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." +"$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { -"$ref": "AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "AdcApplication" }, "adcApplicationTemplate": { -"$ref": "AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { -"$ref": "AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "AwsMetadata" }, "azureMetadata": { -"$ref": "AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9157,19 +8274,17 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -9177,95 +8292,75 @@ false "type": "array" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { -"description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { -"$ref": "ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -9275,22 +8370,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -9299,11 +8390,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9311,11 +8402,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -9324,11 +8413,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9336,11 +8425,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { -"description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { -"description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -9350,11 +8437,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9362,40 +8447,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9404,31 +8483,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9437,16 +8512,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9454,10 +8526,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -9465,16 +8537,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { -"description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { -"description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9482,23 +8551,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services (AWS).", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { -"$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "The user specified custom configuration for the module." +"$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { -"description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { -"description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -9506,24 +8572,21 @@ false "INHERITED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given CRM resource.", -"The module is disabled at the given CRM resource.", -"State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." +"", +"", +"", +"" ], "type": "string" }, "lastEditor": { -"description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { -"description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9532,11 +8595,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9545,16 +8606,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9563,11 +8623,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -9575,16 +8635,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9592,10 +8649,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -9603,50 +8660,39 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { -"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { -"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -9655,11 +8701,11 @@ false "LOW" ], "enumDescriptions": [ -"No severity specified. The default value.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -9667,20 +8713,18 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -9688,45 +8732,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { -"description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", -"description": "The Cloud resource tied to the notification." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -9734,39 +8769,31 @@ false "type": "array" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9774,10 +8801,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -9785,122 +8812,96 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { -"description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "GoogleCloudSecuritycenterV2Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -9908,48 +8909,39 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -9957,20 +8949,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -9978,26 +8966,23 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -10006,51 +8991,42 @@ false "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { -"description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -10060,59 +9036,49 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Application": { -"description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -10120,32 +9086,26 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -10153,49 +9113,41 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "readOnly": true, "type": "string" @@ -10204,34 +9156,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { -"$ref": "GoogleCloudSecuritycenterV2AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -10241,217 +9186,174 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { -"$ref": "GoogleCloudSecuritycenterV2AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { -"$ref": "GoogleCloudSecuritycenterV2AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10460,23 +9362,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "GoogleCloudSecuritycenterV2Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -10486,17 +9383,14 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -10506,65 +9400,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { -"$ref": "GoogleCloudSecuritycenterV2Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "GoogleCloudSecuritycenterV2Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { -"description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -10572,31 +9454,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -10604,47 +9482,37 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -10652,44 +9520,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { -"$ref": "GoogleCloudSecuritycenterV2CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -10699,20 +9559,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -10722,21 +9578,19 @@ false "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -10744,22 +9598,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { -"description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { -"description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -10769,66 +9619,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Container": { -"description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { -"description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { -"$ref": "GoogleCloudSecuritycenterV2Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -10838,26 +9675,23 @@ false "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -10866,56 +9700,49 @@ false "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -10924,16 +9751,15 @@ false "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10941,20 +9767,18 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10962,15 +9786,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10978,15 +9801,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -10994,38 +9816,36 @@ false "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -11033,15 +9853,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -11051,20 +9868,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -11072,35 +9885,30 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -11108,40 +9916,34 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -11157,21 +9959,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -11179,64 +9979,51 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { -"description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -11246,15 +10033,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -11262,35 +10046,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -11298,10 +10076,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -11309,100 +10087,82 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -11410,205 +10170,162 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "GoogleCloudSecuritycenterV2TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "GoogleCloudSecuritycenterV2DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -11616,11 +10333,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { -"description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -11630,12 +10345,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -11643,82 +10358,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { -"$ref": "GoogleCloudSecuritycenterV2Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { -"$ref": "GoogleCloudSecuritycenterV2AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "GoogleCloudSecuritycenterV2AiModel", -"description": "The AI model associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2Application", -"description": "Represents an application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { -"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "GoogleCloudSecuritycenterV2AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { -"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { -"description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { -"description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "GoogleCloudSecuritycenterV2Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { -"$ref": "GoogleCloudSecuritycenterV2CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { -"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -11728,99 +10425,81 @@ false "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { -"description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "GoogleCloudSecuritycenterV2Database", -"description": "Database associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { -"$ref": "GoogleCloudSecuritycenterV2Disk", -"description": "Disk associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "GoogleCloudSecuritycenterV2Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { -"$ref": "GoogleCloudSecuritycenterV2ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -11836,79 +10515,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a combination of security issues that represent a more severe security problem when taken together.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { -"$ref": "GoogleCloudSecuritycenterV2Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { -"$ref": "GoogleCloudSecuritycenterV2IpRules", -"description": "IP rules associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { -"$ref": "GoogleCloudSecuritycenterV2Job", -"description": "Job associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { -"$ref": "GoogleCloudSecuritycenterV2KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { -"$ref": "GoogleCloudSecuritycenterV2Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "GoogleCloudSecuritycenterV2MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -11916,93 +10583,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "GoogleCloudSecuritycenterV2Notebook", -"description": "Notebook associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { -"description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { -"$ref": "GoogleCloudSecuritycenterV2Secret", -"description": "Secret associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -12011,11 +10661,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -12023,60 +10673,50 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "readOnly": true, "type": "string" }, "toxicCombination": { -"$ref": "GoogleCloudSecuritycenterV2ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { -"$ref": "GoogleCloudSecuritycenterV2VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { -"$ref": "GoogleCloudSecuritycenterV2Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { -"description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -12087,43 +10727,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -12131,35 +10767,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -12167,76 +10798,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { -"description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -12246,84 +10865,70 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { -"description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "GoogleCloudSecuritycenterV2SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { -"description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { -"description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { -"$ref": "GoogleCloudSecuritycenterV2Allowed", -"description": "Tuple with allowed rules." +"$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { -"$ref": "GoogleCloudSecuritycenterV2Denied", -"description": "Tuple with denied rules." +"$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -12333,37 +10938,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { -"description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { -"description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { -"description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { -"description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { -"description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { -"description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -12371,60 +10969,51 @@ false "INSIGHT" ], "enumDescriptions": [ -"Unspecified issue type.", -"Chokepoint issue type.", -"Toxic combination issue type.", -"Insight issue type." +"", +"", +"", +"" ], "type": "string" }, "lastObservationTime": { -"description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { -"$ref": "GoogleCloudSecuritycenterV2IssueMute", -"description": "The mute information of the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { -"description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { -"$ref": "GoogleCloudSecuritycenterV2IssueResource", -"description": "The primary resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { -"description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { -"description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { -"description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { -"description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { -"description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -12433,31 +11022,29 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, "state": { -"description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"Active state.", -"Inactive state." +"", +"", +"" ], "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12466,11 +11053,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { -"description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { -"description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -12482,14 +11067,14 @@ false "THREAT" ], "enumDescriptions": [ -"Unspecified domain category.", -"Issues in the AI domain.", -"Issues in the code domain.", -"Issues in the container domain.", -"Issues in the data domain.", -"Issues in the identity and access domain.", -"Issues in the vulnerability domain.", -"Issues in the threat domain." +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -12497,75 +11082,62 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { -"description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", -"description": "The CVE of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { -"description": "The name of the finding.", "type": "string" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", -"description": "The security bulletin of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { -"description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { -"description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { -"description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { -"description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { -"description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { -"description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { -"description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { -"description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ -"Unspecified mute state.", -"Not muted.", -"Muted." +"", +"", +"" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { -"description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -12573,35 +11145,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { -"description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", -"description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", -"description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", -"description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { -"description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -12609,112 +11173,92 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", -"description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { -"description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { -"description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { -"description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -12724,22 +11268,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -12748,11 +11288,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -12760,11 +11300,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -12773,11 +11311,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -12785,93 +11323,75 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { -"description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", -"description": "The AWS account of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { -"description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { -"description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { -"description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { -"description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", -"description": "The Azure subscription of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { -"description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { -"description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { -"description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { -"description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { -"description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { -"description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", -"description": "The aggregated count of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", -"description": "The context of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { -"description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { -"description": "Aggregation key.", "type": "string" }, "value": { -"description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -12879,15 +11399,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { -"description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { -"description": "Context type.", "type": "string" }, "values": { -"description": "Context values.", "items": { "type": "string" }, @@ -12897,24 +11414,19 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Job": { -"description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -12923,11 +11435,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -12936,96 +11448,78 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -13035,52 +11529,42 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { -"description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -13090,11 +11574,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -13114,28 +11596,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -13279,152 +11760,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -13443,26 +11923,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -13606,210 +12085,199 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -13818,55 +12286,45 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "GoogleCloudSecuritycenterV2StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { -"description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -13876,196 +12334,157 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV2Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV2Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { -"description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { -"description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { -"description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { -"description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -14073,16 +12492,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -14090,62 +12506,50 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Process": { -"description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "File information for the process executable." +"$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -14153,70 +12557,58 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { -"description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { -"description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -14224,35 +12616,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -14260,91 +12644,74 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { -"$ref": "GcpMetadata", -"description": "The Google Cloud metadata associated with the finding." +"$ref": "GcpMetadata" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { -"$ref": "GoogleCloudSecuritycenterV2ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -14354,22 +12721,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -14378,11 +12741,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -14390,11 +12753,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -14403,11 +12764,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -14415,11 +12776,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -14429,19 +12788,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -14455,16 +12810,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -14472,11 +12827,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -14484,40 +12837,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14526,31 +12873,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -14559,90 +12902,74 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { -"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { -"$ref": "GoogleCloudSecuritycenterV2SecretFilePath", -"description": "The file containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { -"$ref": "GoogleCloudSecuritycenterV2SecretStatus", -"description": "The status of the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { -"description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { -"description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -14651,11 +12978,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -14663,114 +12990,91 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14779,16 +13083,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14797,11 +13100,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -14809,11 +13112,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -14822,11 +13123,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -14834,31 +13135,25 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -14866,10 +13161,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -14877,11 +13172,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { -"description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -14889,67 +13182,55 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -14959,18 +13240,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -14980,83 +13258,66 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The fixed package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The offending package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupAssetsRequest": { -"description": "Request message for grouping by assets.", "id": "GroupAssetsRequest", "properties": { "compareDuration": { -"description": "When compare_duration is set, the GroupResult's \"state_change\" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "type": "string" }, "groupBy": { -"description": "Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: \"security_center_properties.resource_project,security_center_properties.project\". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -15064,27 +13325,22 @@ false "type": "object" }, "GroupAssetsResponse": { -"description": "Response message for grouping by assets.", "id": "GroupAssetsResponse", "properties": { "groupByResults": { -"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of results matching the query.", "format": "int32", "type": "integer" } @@ -15092,35 +13348,28 @@ false "type": "object" }, "GroupFindingsRequest": { -"description": "Request message for grouping by findings.", "id": "GroupFindingsRequest", "properties": { "compareDuration": { "deprecated": true, -"description": "When compare_duration is set, the GroupResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`", "type": "string" }, "groupBy": { -"description": "Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: \"parent,resource_name\". The following fields are supported when compare_duration is set: * state_change", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { "deprecated": true, -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -15128,27 +13377,22 @@ false "type": "object" }, "GroupFindingsResponse": { -"description": "Response message for group by findings.", "id": "GroupFindingsResponse", "properties": { "groupByResults": { -"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of results matching the query.", "format": "int32", "type": "integer" } @@ -15156,24 +13400,21 @@ false "type": "object" }, "GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -15181,11 +13422,9 @@ false "type": "object" }, "GroupResult": { -"description": "Result containing the properties and count of a groupBy request.", "id": "GroupResult", "properties": { "count": { -"description": "Total count of resources for the given properties.", "format": "int64", "type": "string" }, @@ -15193,94 +13432,79 @@ false "additionalProperties": { "type": "any" }, -"description": "Properties matching the groupBy fields in the request.", "type": "object" } }, "type": "object" }, "HttpResponse": { -"description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "IamPolicy": { -"description": "Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user.", "id": "IamPolicy", "properties": { "policyBlob": { -"description": "The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details.", "type": "string" } }, "type": "object" }, "Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -15290,84 +13514,70 @@ false "type": "object" }, "InfoType": { -"description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { -"description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { -"description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { -"$ref": "Allowed", -"description": "Tuple with allowed rules." +"$ref": "Allowed" }, "denied": { -"$ref": "Denied", -"description": "Tuple with denied rules." +"$ref": "Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -15377,24 +13587,19 @@ false "type": "object" }, "Job": { -"description": "Describes a job", "id": "Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -15403,11 +13608,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -15416,96 +13621,78 @@ false "type": "object" }, "KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -15515,42 +13702,34 @@ false "type": "object" }, "Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "ListAssetsResponse": { -"description": "Response message for listing assets.", "id": "ListAssetsResponse", "properties": { "listAssetsResults": { -"description": "Assets matching the list request.", "items": { "$ref": "ListAssetsResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of assets matching the query.", "format": "int32", "type": "integer" } @@ -15558,15 +13737,12 @@ false "type": "object" }, "ListAssetsResult": { -"description": "Result containing the Asset and its State.", "id": "ListAssetsResult", "properties": { "asset": { -"$ref": "Asset", -"description": "Asset matching the search request." +"$ref": "Asset" }, "stateChange": { -"description": "State change of the asset between the points in time.", "enum": [ "UNUSED", "ADDED", @@ -15574,10 +13750,10 @@ false "ACTIVE" ], "enumDescriptions": [ -"State change is unused, this is the canonical default for this enum.", -"Asset was added between the points in time.", -"Asset was removed between the points in time.", -"Asset was present at both point(s) in time." +"", +"", +"", +"" ], "type": "string" } @@ -15585,69 +13761,57 @@ false "type": "object" }, "ListAttackPathsResponse": { -"description": "Response message for listing the attack paths for a given simulation or valued resource.", "id": "ListAttackPathsResponse", "properties": { "attackPaths": { -"description": "The attack paths that the attack path simulation identified.", "items": { "$ref": "AttackPath" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" } }, "type": "object" }, "ListBigQueryExportsResponse": { -"description": "Response message for listing BigQuery exports.", "id": "ListBigQueryExportsResponse", "properties": { "bigQueryExports": { -"description": "The BigQuery exports from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" } }, "type": "object" }, "ListDescendantEventThreatDetectionCustomModulesResponse": { -"description": "Response for listing current and descendant resident Event Threat Detection custom modules.", "id": "ListDescendantEventThreatDetectionCustomModulesResponse", "properties": { "eventThreatDetectionCustomModules": { -"description": "Custom modules belonging to the requested parent.", "items": { "$ref": "EventThreatDetectionCustomModule" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" } }, "type": "object" }, "ListDescendantSecurityHealthAnalyticsCustomModulesResponse": { -"description": "Response message for listing descendant Security Health Analytics custom modules.", "id": "ListDescendantSecurityHealthAnalyticsCustomModulesResponse", "properties": { "nextPageToken": { -"description": "If not empty, indicates that there may be more custom modules to be returned.", "type": "string" }, "securityHealthAnalyticsCustomModules": { -"description": "Custom modules belonging to the requested parent and its descendants.", "items": { "$ref": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule" }, @@ -15657,81 +13821,67 @@ false "type": "object" }, "ListEffectiveEventThreatDetectionCustomModulesResponse": { -"description": "Response for listing EffectiveEventThreatDetectionCustomModules.", "id": "ListEffectiveEventThreatDetectionCustomModulesResponse", "properties": { "effectiveEventThreatDetectionCustomModules": { -"description": "Effective custom modules belonging to the requested parent.", "items": { "$ref": "EffectiveEventThreatDetectionCustomModule" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" } }, "type": "object" }, "ListEffectiveSecurityHealthAnalyticsCustomModulesResponse": { -"description": "Response message for listing effective Security Health Analytics custom modules.", "id": "ListEffectiveSecurityHealthAnalyticsCustomModulesResponse", "properties": { "effectiveSecurityHealthAnalyticsCustomModules": { -"description": "Effective custom modules belonging to the requested parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule" }, "type": "array" }, "nextPageToken": { -"description": "If not empty, indicates that there may be more effective custom modules to be returned.", "type": "string" } }, "type": "object" }, "ListEventThreatDetectionCustomModulesResponse": { -"description": "Response for listing Event Threat Detection custom modules.", "id": "ListEventThreatDetectionCustomModulesResponse", "properties": { "eventThreatDetectionCustomModules": { -"description": "Custom modules belonging to the requested parent.", "items": { "$ref": "EventThreatDetectionCustomModule" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" } }, "type": "object" }, "ListFindingsResponse": { -"description": "Response message for listing findings.", "id": "ListFindingsResponse", "properties": { "listFindingsResults": { -"description": "Findings matching the list request.", "items": { "$ref": "ListFindingsResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of findings matching the query.", "format": "int32", "type": "integer" } @@ -15739,20 +13889,16 @@ false "type": "object" }, "ListFindingsResult": { -"description": "Result containing the Finding and its StateChange.", "id": "ListFindingsResult", "properties": { "finding": { -"$ref": "Finding", -"description": "Finding matching the search request." +"$ref": "Finding" }, "resource": { "$ref": "Resource", -"description": "Output only. Resource that is associated with this finding.", "readOnly": true }, "stateChange": { -"description": "State change of the finding between the points in time.", "enum": [ "UNUSED", "CHANGED", @@ -15761,11 +13907,11 @@ false "REMOVED" ], "enumDescriptions": [ -"State change is unused, this is the canonical default for this enum.", -"The finding has changed state in some way between the points in time and existed at both points.", -"The finding has not changed state between the points in time and existed at both points.", -"The finding was created between the points in time.", -"The finding at timestamp does not match the filter specified, but it did at timestamp - compare_duration." +"", +"", +"", +"", +"" ], "type": "string" } @@ -15773,33 +13919,27 @@ false "type": "object" }, "ListMuteConfigsResponse": { -"description": "Response message for listing mute configs.", "id": "ListMuteConfigsResponse", "properties": { "muteConfigs": { -"description": "The mute configs from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1MuteConfig" }, "type": "array" }, "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" } }, "type": "object" }, "ListNotificationConfigsResponse": { -"description": "Response message for listing notification configs.", "id": "ListNotificationConfigsResponse", "properties": { "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "notificationConfigs": { -"description": "Notification configs belonging to the requested parent.", "items": { "$ref": "NotificationConfig" }, @@ -15809,22 +13949,18 @@ false "type": "object" }, "ListOperationsResponse": { -"description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", "properties": { "nextPageToken": { -"description": "The standard List next-page token.", "type": "string" }, "operations": { -"description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" }, "unreachable": { -"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -15834,15 +13970,12 @@ false "type": "object" }, "ListResourceValueConfigsResponse": { -"description": "Response message to list resource value configs", "id": "ListResourceValueConfigsResponse", "properties": { "nextPageToken": { -"description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", "type": "string" }, "resourceValueConfigs": { -"description": "The resource value configs from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" }, @@ -15852,15 +13985,12 @@ false "type": "object" }, "ListSecurityHealthAnalyticsCustomModulesResponse": { -"description": "Response message for listing Security Health Analytics custom modules.", "id": "ListSecurityHealthAnalyticsCustomModulesResponse", "properties": { "nextPageToken": { -"description": "If not empty, indicates that there may be more custom modules to be returned.", "type": "string" }, "securityHealthAnalyticsCustomModules": { -"description": "Custom modules belonging to the requested parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule" }, @@ -15870,15 +14000,12 @@ false "type": "object" }, "ListSourcesResponse": { -"description": "Response message for listing sources.", "id": "ListSourcesResponse", "properties": { "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "sources": { -"description": "Sources belonging to the requested parent.", "items": { "$ref": "Source" }, @@ -15888,20 +14015,16 @@ false "type": "object" }, "ListValuedResourcesResponse": { -"description": "Response message for listing the valued resources for a given simulation.", "id": "ListValuedResourcesResponse", "properties": { "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "totalSize": { -"description": "The estimated total number of results matching the query.", "format": "int32", "type": "integer" }, "valuedResources": { -"description": "The valued resources that the attack path simulation identified.", "items": { "$ref": "ValuedResource" }, @@ -15911,37 +14034,30 @@ false "type": "object" }, "LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { -"description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -15951,11 +14067,9 @@ false "type": "object" }, "MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -15975,28 +14089,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -16140,152 +14253,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -16304,26 +14416,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -16467,207 +14578,196 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "StaticMute" } }, "type": "object" }, "Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { -"description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -16677,109 +14777,87 @@ false "type": "object" }, "Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "NotificationConfig": { -"description": "Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.", "id": "NotificationConfig", "properties": { "description": { -"description": "The description of the notification config (max of 1024 characters).", "type": "string" }, "name": { -"description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "type": "string" }, "pubsubTopic": { -"description": "The Pub/Sub topic to send notifications to. Its format is \"projects/[project_id]/topics/[topic]\".", "type": "string" }, "serviceAccount": { -"description": "Output only. The service account that needs \"pubsub.topics.publish\" permission to publish to the Pub/Sub topic.", "readOnly": true, "type": "string" }, "streamingConfig": { -"$ref": "StreamingConfig", -"description": "The config for triggering streaming-based notifications." +"$ref": "StreamingConfig" } }, "type": "object" }, "Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "Operation": { -"description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", "properties": { "done": { -"description": "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.", "type": "boolean" }, "error": { -"$ref": "Status", -"description": "The error result of the operation in case of failure or cancellation." +"$ref": "Status" }, "metadata": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, -"description": "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.", "type": "object" }, "name": { -"description": "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}`.", "type": "string" }, "response": { @@ -16787,153 +14865,124 @@ false "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, -"description": "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`.", "type": "object" } }, "type": "object" }, "OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { -"description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "OrganizationSettings": { -"description": "User specified settings that are attached to the Security Command Center organization.", "id": "OrganizationSettings", "properties": { "assetDiscoveryConfig": { -"$ref": "AssetDiscoveryConfig", -"description": "The configuration used for Asset Discovery runs." +"$ref": "AssetDiscoveryConfig" }, "enableAssetDiscovery": { -"description": "A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.", "type": "boolean" }, "name": { -"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "type": "string" } }, "type": "object" }, "Package": { -"description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "PathNodeAssociatedFinding": { -"description": "A finding that is associated with this node in the attack path.", "id": "PathNodeAssociatedFinding", "properties": { "canonicalFinding": { -"description": "Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789`", "type": "string" }, "findingCategory": { -"description": "The additional taxonomy group within findings from a given source.", "type": "string" }, "name": { -"description": "Full resource name of the finding.", "type": "string" } }, "type": "object" }, "Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { -"description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { -"description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "Policy": { -"description": "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/).", "id": "Policy", "properties": { "auditConfigs": { -"description": "Specifies cloud audit logging configuration for this policy.", "items": { "$ref": "AuditConfig" }, "type": "array" }, "bindings": { -"description": "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`.", "items": { "$ref": "Binding" }, "type": "array" }, "etag": { -"description": "`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.", "format": "byte", "type": "string" }, "version": { -"description": "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).", "format": "int32", "type": "integer" } @@ -16941,45 +14990,36 @@ false "type": "object" }, "PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -16987,16 +15027,13 @@ false "type": "object" }, "PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -17004,16 +15041,13 @@ false "type": "object" }, "Position": { -"description": "A position in the uploaded text version of a module.", "id": "Position", "properties": { "columnNumber": { -"description": "The column number.", "format": "int32", "type": "integer" }, "lineNumber": { -"description": "The line number.", "format": "int32", "type": "integer" } @@ -17021,62 +15055,50 @@ false "type": "object" }, "Process": { -"description": "Represents an operating system process.", "id": "Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "File", -"description": "File information for the process executable." +"$ref": "File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -17084,70 +15106,58 @@ false "type": "object" }, "ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "YaraRuleSignature" } }, "type": "object" }, "Reference": { -"description": "Additional Links", "id": "Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { -"description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -17155,35 +15165,27 @@ false "type": "object" }, "Resource": { -"description": "Information related to the Google Cloud resource that is associated with this finding.", "id": "Resource", "properties": { "adcApplication": { -"$ref": "AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "AdcApplication" }, "adcApplicationTemplate": { -"$ref": "AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { -"$ref": "AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "AwsMetadata" }, "azureMetadata": { -"$ref": "AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -17191,77 +15193,62 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "folders": { -"description": "Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, "type": "array" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { -"description": "Indicates which organization / tenant the finding is for.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "parentName": { -"description": "The full resource name of resource's parent.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" }, "projectName": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "resourcePath": { -"$ref": "ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -17271,19 +15258,15 @@ false "type": "object" }, "ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -17297,16 +15280,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -17314,107 +15297,88 @@ false "type": "object" }, "ResourceValueConfigMetadata": { -"description": "Metadata about a ResourceValueConfig. For example, id and name.", "id": "ResourceValueConfigMetadata", "properties": { "name": { -"description": "Resource value config name", "type": "string" } }, "type": "object" }, "Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "RunAssetDiscoveryRequest": { -"description": "Request message for running asset discovery for an organization.", "id": "RunAssetDiscoveryRequest", "properties": {}, "type": "object" }, "Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { -"$ref": "SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "SecretEnvironmentVariable" }, "filePath": { -"$ref": "SecretFilePath", -"description": "The file containing the secret." +"$ref": "SecretFilePath" }, "status": { -"$ref": "SecretStatus", -"description": "The status of the secret." +"$ref": "SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { -"description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { -"description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -17423,11 +15387,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -17435,163 +15399,130 @@ false "type": "object" }, "SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterProperties": { -"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user.", "id": "SecurityCenterProperties", "properties": { "folders": { -"description": "Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, "type": "array" }, "resourceDisplayName": { -"description": "The user defined display name for this resource.", "type": "string" }, "resourceName": { -"description": "The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceOwners": { -"description": "Owners of the Google Cloud resource.", "items": { "type": "string" }, "type": "array" }, "resourceParent": { -"description": "The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceParentDisplayName": { -"description": "The user defined display name for the parent of this resource.", "type": "string" }, "resourceProject": { -"description": "The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceProjectDisplayName": { -"description": "The user defined display name for the project of this resource.", "type": "string" }, "resourceType": { -"description": "The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time.", "type": "string" } }, "type": "object" }, "SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -17600,11 +15531,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -17612,41 +15543,35 @@ false "type": "object" }, "ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "SetFindingStateRequest": { -"description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", "properties": { "startTime": { "deprecated": true, -"description": "Optional. The time at which the updated state takes effect. If unset, defaults to the request time.", "format": "google-datetime", "type": "string" }, "state": { -"description": "Required. The desired State of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -17654,15 +15579,12 @@ false "type": "object" }, "SetIamPolicyRequest": { -"description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", "properties": { "policy": { -"$ref": "Policy", -"description": "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." +"$ref": "Policy" }, "updateMask": { -"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -17670,11 +15592,9 @@ false "type": "object" }, "SetMuteRequest": { -"description": "Request message for updating a finding's mute status.", "id": "SetMuteRequest", "properties": { "mute": { -"description": "Required. The desired state of the Mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -17682,10 +15602,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -17693,79 +15613,64 @@ false "type": "object" }, "SimulateSecurityHealthAnalyticsCustomModuleRequest": { -"description": "Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default.", "id": "SimulateSecurityHealthAnalyticsCustomModuleRequest", "properties": { "customConfig": { -"$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "Required. The custom configuration that you need to test." +"$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "resource": { -"$ref": "SimulatedResource", -"description": "Required. Resource data to simulate custom module against." +"$ref": "SimulatedResource" } }, "type": "object" }, "SimulateSecurityHealthAnalyticsCustomModuleResponse": { -"description": "Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource.", "id": "SimulateSecurityHealthAnalyticsCustomModuleResponse", "properties": { "result": { -"$ref": "SimulatedResult", -"description": "Result for test case in the corresponding request." +"$ref": "SimulatedResult" } }, "type": "object" }, "SimulatedResource": { -"description": "Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data.", "id": "SimulatedResource", "properties": { "iamPolicyData": { -"$ref": "Policy", -"description": "Optional. A representation of the IAM policy." +"$ref": "Policy" }, "resourceData": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, -"description": "Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format.", "type": "object" }, "resourceType": { -"description": "Required. The type of the resource, for example, `compute.googleapis.com/Disk`.", "type": "string" } }, "type": "object" }, "SimulatedResult": { -"description": "Possible test result.", "id": "SimulatedResult", "properties": { "error": { -"$ref": "Status", -"description": "Error encountered during the test." +"$ref": "Status" }, "finding": { -"$ref": "Finding", -"description": "Finding that would be published for the test case, if a violation is detected." +"$ref": "Finding" }, "noViolation": { -"$ref": "Empty", -"description": "Indicates that the test case does not trigger any violation." +"$ref": "Empty" } }, "type": "object" }, "Simulation": { -"description": "Attack path simulation", "id": "Simulation", "properties": { "cloudProvider": { -"description": "Indicates which cloud provider was used in this simulation.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -17773,25 +15678,22 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Time simulation was created", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "Full resource name of the Simulation: `organizations/123/simulations/456`", "type": "string" }, "resourceValueConfigsMetadata": { -"description": "Resource value configurations' metadata used in this simulation. Maximum of 100.", "items": { "$ref": "ResourceValueConfigMetadata" }, @@ -17801,39 +15703,31 @@ false "type": "object" }, "Source": { -"description": "Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools.", "id": "Source", "properties": { "canonicalName": { -"description": "The canonical name of the finding source. It's either \"organizations/{organization_id}/sources/{source_id}\", \"folders/{folder_id}/sources/{source_id}\", or \"projects/{project_number}/sources/{source_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "description": { -"description": "The description of the source (max of 1024 characters). Example: \"Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries.\"", "type": "string" }, "displayName": { -"description": "The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).", "type": "string" }, "name": { -"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" } }, "type": "object" }, "StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -17841,10 +15735,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -17852,16 +15746,13 @@ false "type": "object" }, "Status": { -"description": "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).", "id": "Status", "properties": { "code": { -"description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", "type": "integer" }, "details": { -"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -17872,29 +15763,24 @@ false "type": "array" }, "message": { -"description": "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.", "type": "string" } }, "type": "object" }, "StreamingConfig": { -"description": "The config for streaming-based notifications, which send each event as soon as it is detected.", "id": "StreamingConfig", "properties": { "filter": { -"description": "Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" } }, "type": "object" }, "Subject": { -"description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -17902,30 +15788,26 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "TestIamPermissionsRequest": { -"description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", "properties": { "permissions": { -"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, @@ -17935,11 +15817,9 @@ false "type": "object" }, "TestIamPermissionsResponse": { -"description": "Response message for `TestIamPermissions` method.", "id": "TestIamPermissionsResponse", "properties": { "permissions": { -"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", "items": { "type": "string" }, @@ -17949,48 +15829,38 @@ false "type": "object" }, "TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -18000,58 +15870,46 @@ false "type": "object" }, "ValidateEventThreatDetectionCustomModuleRequest": { -"description": "Request to validate an Event Threat Detection custom module.", "id": "ValidateEventThreatDetectionCustomModuleRequest", "properties": { "rawText": { -"description": "Required. The raw text of the module's contents. Used to generate error messages.", "type": "string" }, "type": { -"description": "Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).", "type": "string" } }, "type": "object" }, "ValidateEventThreatDetectionCustomModuleResponse": { -"description": "Response to validating an Event Threat Detection custom module.", "id": "ValidateEventThreatDetectionCustomModuleResponse", "properties": { "errors": { -"$ref": "CustomModuleValidationErrors", -"description": "A list of errors returned by the validator. If the list is empty, there were no errors." +"$ref": "CustomModuleValidationErrors" } }, "type": "object" }, "ValuedResource": { -"description": "A resource that is determined to have value to a user's system", "id": "ValuedResource", "properties": { "displayName": { -"description": "Human-readable name of the valued resource.", "type": "string" }, "exposedScore": { -"description": "Exposed score for this valued resource. A value of 0 means no exposure was detected exposure.", "format": "double", "type": "number" }, "name": { -"description": "Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789`", "type": "string" }, "resource": { -"description": "The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource.", "type": "string" }, "resourceType": { -"description": "The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource.", "type": "string" }, "resourceValue": { -"description": "How valuable this resource is.", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "RESOURCE_VALUE_LOW", @@ -18059,15 +15917,14 @@ false "RESOURCE_VALUE_HIGH" ], "enumDescriptions": [ -"The resource value isn't specified.", -"This is a low-value resource.", -"This is a medium-value resource.", -"This is a high-value resource." +"", +"", +"", +"" ], "type": "string" }, "resourceValueConfigsUsed": { -"description": "List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100.", "items": { "$ref": "ResourceValueConfigMetadata" }, @@ -18077,18 +15934,15 @@ false "type": "object" }, "VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -18098,46 +15952,37 @@ false "type": "object" }, "Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { -"$ref": "Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "Package", -"description": "The fixed package is relevant to the finding." +"$ref": "Package" }, "offendingPackage": { -"$ref": "Package", -"description": "The offending package is relevant to the finding." +"$ref": "Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { -"description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -18145,18 +15990,15 @@ false "format": "int64", "type": "string" }, -"description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { -"description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { -"description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -18164,23 +16006,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "findingCount": { -"$ref": "VulnerabilityCountBySeverity", -"description": "The vulnerability count by severity." +"$ref": "VulnerabilityCountBySeverity" }, "name": { -"description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { -"description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -18188,11 +16027,9 @@ false "type": "object" }, "YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json index 6d51918488..4407405f07 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json @@ -125,7 +125,7 @@ "organizations": { "methods": { "getOrganizationSettings": { -"description": "Gets the settings for an organization.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getOrganizationSettings", @@ -134,7 +134,6 @@ ], "parameters": { "name": { -"description": "Required. Name of the organization to get organization settings for. Its format is \"organizations/[organization_id]/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, @@ -151,7 +150,7 @@ }, "updateOrganizationSettings": { "deprecated": true, -"description": "Updates an organization's settings.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateOrganizationSettings", @@ -160,14 +159,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the settings resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -189,7 +186,7 @@ "assets": { "methods": { "group": { -"description": "Filters an organization's assets and groups them by their specified properties.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.organizations.assets.group", @@ -198,7 +195,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the organization to groupBy. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -217,7 +213,7 @@ ] }, "list": { -"description": "Lists an organization's assets.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets", "httpMethod": "GET", "id": "securitycenter.organizations.assets.list", @@ -226,47 +222,39 @@ ], "parameters": { "compareDuration": { -"description": "When compare_duration is set, the ListAssetResult's \"state\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is \"UNUSED\", which indicates that the asset is present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { -"description": "Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the organization assets should belong to. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -281,7 +269,7 @@ ] }, "runDiscovery": { -"description": "Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets:runDiscovery", "httpMethod": "POST", "id": "securitycenter.organizations.assets.runDiscovery", @@ -290,7 +278,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the organization to run asset discovery for. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -309,7 +296,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.assets.updateSecurityMarks", @@ -318,20 +305,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -353,7 +337,7 @@ "operations": { "methods": { "cancel": { -"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -362,7 +346,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource to be cancelled.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -381,7 +364,7 @@ ] }, "delete": { -"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.operations.delete", @@ -390,7 +373,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource to be deleted.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -406,7 +388,7 @@ ] }, "get": { -"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.operations.get", @@ -415,7 +397,6 @@ ], "parameters": { "name": { -"description": "The name of the operation resource.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -431,7 +412,7 @@ ] }, "list": { -"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations", "httpMethod": "GET", "id": "securitycenter.organizations.operations.list", @@ -440,30 +421,25 @@ ], "parameters": { "filter": { -"description": "The standard list filter.", "location": "query", "type": "string" }, "name": { -"description": "The name of the operation's parent resource.", "location": "path", "pattern": "^organizations/[^/]+/operations$", "required": true, "type": "string" }, "pageSize": { -"description": "The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The standard list page token.", "location": "query", "type": "string" }, "returnPartialSuccess": { -"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -481,7 +457,7 @@ "sources": { "methods": { "create": { -"description": "Creates a source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources", "httpMethod": "POST", "id": "securitycenter.organizations.sources.create", @@ -490,7 +466,6 @@ ], "parameters": { "parent": { -"description": "Required. Resource name of the new source's parent. Its format should be \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -509,7 +484,7 @@ ] }, "get": { -"description": "Gets a source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.sources.get", @@ -518,7 +493,6 @@ ], "parameters": { "name": { -"description": "Required. Relative resource name of the source. Its format is \"organizations/[organization_id]/source/[source_id]\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -534,7 +508,7 @@ ] }, "getIamPolicy": { -"description": "Gets the access control policy on the specified Source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:getIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.getIamPolicy", @@ -543,7 +517,6 @@ ], "parameters": { "resource": { -"description": "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.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -562,7 +535,7 @@ ] }, "list": { -"description": "Lists all sources belonging to an organization.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources", "httpMethod": "GET", "id": "securitycenter.organizations.sources.list", @@ -571,18 +544,15 @@ ], "parameters": { "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the parent of sources to list. Its format should be \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -598,7 +568,7 @@ ] }, "patch": { -"description": "Updates a source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.patch", @@ -607,14 +577,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the source resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -632,7 +600,7 @@ ] }, "setIamPolicy": { -"description": "Sets the access control policy on the specified Source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:setIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.setIamPolicy", @@ -641,7 +609,6 @@ ], "parameters": { "resource": { -"description": "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.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -660,7 +627,7 @@ ] }, "testIamPermissions": { -"description": " Returns the permissions that a caller has on the specified source.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:testIamPermissions", "httpMethod": "POST", "id": "securitycenter.organizations.sources.testIamPermissions", @@ -669,7 +636,6 @@ ], "parameters": { "resource": { -"description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -692,7 +658,7 @@ "findings": { "methods": { "create": { -"description": "Creates a finding. The corresponding source must exist for finding creation to succeed.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.create", @@ -701,12 +667,10 @@ ], "parameters": { "findingId": { -"description": "Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Resource name of the new finding's parent. Its format should be \"organizations/[organization_id]/sources/[source_id]\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -725,7 +689,7 @@ ] }, "group": { -"description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.group", @@ -734,7 +698,6 @@ ], "parameters": { "parent": { -"description": "Required. Name of the source to groupBy. Its format is \"organizations/[organization_id]/sources/[source_id]\". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -753,7 +716,7 @@ ] }, "list": { -"description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.organizations.sources.findings.list", @@ -762,41 +725,34 @@ ], "parameters": { "fieldMask": { -"description": "Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", "location": "query", "type": "string" }, "orderBy": { -"description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent.", "location": "query", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Name of the source the findings belong to. Its format is \"organizations/[organization_id]/sources/[source_id]\". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -811,7 +767,7 @@ ] }, "patch": { -"description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.patch", @@ -820,14 +776,12 @@ ], "parameters": { "name": { -"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -845,7 +799,7 @@ ] }, "setState": { -"description": "Updates the state of a finding.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setState", @@ -854,7 +808,6 @@ ], "parameters": { "name": { -"description": "Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/finding/{finding_id}\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -873,7 +826,7 @@ ] }, "updateSecurityMarks": { -"description": "Updates security marks.", +"description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.updateSecurityMarks", @@ -882,20 +835,17 @@ ], "parameters": { "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { -"description": "The time at which the updated SecurityMarks take effect.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { -"description": "The FieldMask to use when updating the security marks resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -919,104 +869,82 @@ } } }, -"revision": "20260424", +"revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { -"description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -1024,48 +952,39 @@ "type": "object" }, "AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -1073,20 +992,16 @@ "type": "object" }, "AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -1094,26 +1009,23 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -1122,51 +1034,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { -"description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -1176,59 +1079,49 @@ "type": "object" }, "Application": { -"description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -1236,35 +1129,28 @@ "type": "object" }, "Asset": { -"description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.", "id": "Asset", "properties": { "createTime": { -"description": "The time at which the asset was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "name": { -"description": "The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/assets/{asset_id}\".", "type": "string" }, "resourceProperties": { "additionalProperties": { "type": "any" }, -"description": "Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user.", "type": "object" }, "securityCenterProperties": { -"$ref": "SecurityCenterProperties", -"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user." +"$ref": "SecurityCenterProperties" }, "securityMarks": { -"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", -"description": "User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset." +"$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" }, "updateTime": { -"description": "The time at which the asset was last updated, added, or deleted in Security Command Center.", "format": "google-datetime", "type": "string" } @@ -1272,25 +1158,22 @@ "type": "object" }, "AssetDiscoveryConfig": { -"description": "The configuration used for Asset Discovery runs.", "id": "AssetDiscoveryConfig", "properties": { "inclusionMode": { -"description": "The mode to use for filtering asset discovery.", "enum": [ "INCLUSION_MODE_UNSPECIFIED", "INCLUDE_ONLY", "EXCLUDE" ], "enumDescriptions": [ -"Unspecified. Setting the mode with this value will disable inclusion/exclusion filtering for Asset Discovery.", -"Asset Discovery will capture only the resources within the projects specified. All other resources will be ignored.", -"Asset Discovery will ignore all resources under the projects specified. All other resources will be retrieved." +"", +"", +"" ], "type": "string" }, "projectIds": { -"description": "The project ids to use for filtering asset discovery.", "items": { "type": "string" }, @@ -1300,32 +1183,26 @@ "type": "object" }, "Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -1333,49 +1210,41 @@ "type": "object" }, "AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "type": "string" } @@ -1383,36 +1252,30 @@ "type": "object" }, "AuditConfig": { -"description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { -"description": "The configuration for logging of each type of permission.", "items": { "$ref": "AuditLogConfig" }, "type": "array" }, "service": { -"description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" } }, "type": "object" }, "AuditLogConfig": { -"description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { -"description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" }, "logType": { -"description": "The log type that this config enables.", "enum": [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", @@ -1420,10 +1283,10 @@ "DATA_READ" ], "enumDescriptions": [ -"Default case. Should never be this.", -"Admin reads. Example: CloudIAM getIamPolicy", -"Data writes. Example: CloudSQL Users create", -"Data reads. Example: CloudSQL Users list" +"", +"", +"", +"" ], "type": "string" } @@ -1431,34 +1294,27 @@ "type": "object" }, "AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { -"$ref": "AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "AwsAccount" }, "organization": { -"$ref": "AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -1468,219 +1324,177 @@ "type": "object" }, "AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "AzureResourceGroup" }, "subscription": { -"$ref": "AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "AzureSubscription" }, "tenant": { -"$ref": "AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BigQueryDestination": { -"description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { -"description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "type": "string" } }, "type": "object" }, "Binding": { -"description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { "condition": { -"$ref": "Expr", -"description": "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)." +"$ref": "Expr" }, "members": { -"description": "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`.", "items": { "type": "string" }, "type": "array" }, "role": { -"description": "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).", "type": "string" } }, "type": "object" }, "CancelOperationRequest": { -"description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, "Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -1690,65 +1504,53 @@ "type": "object" }, "CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "AdaptiveProtection" }, "attack": { -"$ref": "Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "Requests" }, "securityPolicy": { -"$ref": "SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { -"description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -1756,31 +1558,27 @@ "type": "object" }, "CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -1788,47 +1586,37 @@ "type": "object" }, "CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -1836,44 +1624,36 @@ "type": "object" }, "Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { -"$ref": "CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -1883,20 +1663,16 @@ "type": "object" }, "Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -1906,21 +1682,19 @@ "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -1928,22 +1702,18 @@ "type": "object" }, "Contact": { -"description": "The email address of a contact.", "id": "Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { -"description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -1953,66 +1723,53 @@ "type": "object" }, "Container": { -"description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "Control": { -"description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { -"$ref": "Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -2022,26 +1779,23 @@ "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -2050,56 +1804,49 @@ "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2108,16 +1855,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2125,20 +1871,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2146,15 +1890,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2162,15 +1905,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2178,38 +1920,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -2217,15 +1957,12 @@ "type": "object" }, "Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -2235,20 +1972,16 @@ "type": "object" }, "DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2256,35 +1989,30 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2292,40 +2020,34 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -2341,21 +2063,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -2363,64 +2083,51 @@ false "type": "object" }, "Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { -"description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -2430,15 +2137,12 @@ false "type": "object" }, "Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -2446,35 +2150,29 @@ false "type": "object" }, "DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -2482,10 +2180,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -2493,106 +2191,87 @@ false "type": "object" }, "Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "Empty": { -"description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", "properties": {}, "type": "object" }, "EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -2600,15 +2279,12 @@ false "type": "object" }, "ExportFindingsMetadata": { -"description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { -"$ref": "BigQueryDestination", -"description": "Required. The destination BigQuery dataset to export findings to." +"$ref": "BigQueryDestination" }, "exportStartTime": { -"description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -2616,176 +2292,139 @@ false "type": "object" }, "ExportFindingsResponse": { -"description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "properties": {}, "type": "object" }, "Expr": { -"description": "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.", "id": "Expr", "properties": { "description": { -"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { -"description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { -"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { -"description": "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.", "type": "string" } }, "type": "object" }, "ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -2793,11 +2432,9 @@ false "type": "object" }, "FileOperation": { -"description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -2807,12 +2444,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -2820,81 +2457,63 @@ false "type": "object" }, "Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { -"$ref": "Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "Access" }, "affectedResources": { -"$ref": "AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "AiModel", -"description": "The AI model associated with the finding." +"$ref": "AiModel" }, "application": { -"$ref": "Application", -"description": "Represents an application associated with the finding." +"$ref": "Application" }, "artifactGuardPolicies": { -"$ref": "ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "AttackExposure" }, "backupDisasterRecovery": { -"$ref": "BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "BackupDisasterRecovery" }, "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "Chokepoint" }, "cloudArmor": { -"$ref": "CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "CloudDlpInspection" }, "complianceDetails": { -"$ref": "ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -2904,93 +2523,76 @@ false "additionalProperties": { "$ref": "ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "Database", -"description": "Database associated with the finding." +"$ref": "Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "DiscoveredWorkload" }, "disk": { -"$ref": "Disk", -"description": "Disk associated with the finding." +"$ref": "Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "Exfiltration" }, "externalExposure": { -"$ref": "ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -3006,79 +2608,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { -"$ref": "Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "Indicator" }, "ipRules": { -"$ref": "IpRules", -"description": "IP rules associated with the finding." +"$ref": "IpRules" }, "job": { -"$ref": "Job", -"description": "Job associated with the finding." +"$ref": "Job" }, "kernelRootkit": { -"$ref": "KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "KernelRootkit" }, "kubernetes": { -"$ref": "Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -3086,93 +2676,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "Notebook", -"description": "Notebook associated with the finding." +"$ref": "Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { -"$ref": "Secret", -"description": "Secret associated with the finding." +"$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -3181,11 +2754,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -3193,59 +2766,49 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" }, "toxicCombination": { -"$ref": "ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "ToxicCombination" }, "vertexAi": { -"$ref": "VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "VertexAi" }, "vulnerability": { -"$ref": "Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Vulnerability" } }, "type": "object" }, "Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { -"description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -3256,43 +2819,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -3300,11 +2859,9 @@ false "type": "object" }, "GcpMetadata": { -"description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -3312,56 +2869,45 @@ false "type": "array" }, "organization": { -"description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GetIamPolicyRequest": { -"description": "Request message for `GetIamPolicy` method.", "id": "GetIamPolicyRequest", "properties": { "options": { -"$ref": "GetPolicyOptions", -"description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`." +"$ref": "GetPolicyOptions" } }, "type": "object" }, "GetPolicyOptions": { -"description": "Encapsulates settings provided to GetIamPolicy.", "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { -"description": "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).", "format": "int32", "type": "integer" } @@ -3369,43 +2915,34 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3414,23 +2951,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -3440,37 +2972,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { -"description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { -"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", -"description": "Custom output properties." +"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { -"description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { -"$ref": "Expr", -"description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." +"$ref": "Expr" }, "recommendation": { -"description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { -"$ref": "GoogleCloudSecuritycenterV1ResourceSelector", -"description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." +"$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { -"description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -3479,11 +3003,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" } @@ -3491,11 +3015,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { -"description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { -"description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -3505,11 +3027,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { -"description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3517,40 +3037,36 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { -"description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { -"description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given level.", -"The module is disabled at the given level." +"", +"", +"" ], "readOnly": true, "type": "string" }, "name": { -"description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -3558,116 +3074,94 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, -"description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3676,69 +3170,54 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { -"$ref": "Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { -"description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { -"description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { -"$ref": "Expr", -"description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." +"$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { -"$ref": "AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "AdcApplication" }, "adcApplicationTemplate": { -"$ref": "AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { -"$ref": "AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "AwsMetadata" }, "azureMetadata": { -"$ref": "AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3746,19 +3225,17 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -3766,95 +3243,75 @@ false "type": "array" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { -"description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { -"$ref": "ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -3864,22 +3321,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -3888,11 +3341,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -3900,11 +3353,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -3913,11 +3364,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -3925,11 +3376,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { -"description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { -"description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -3939,11 +3388,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3951,40 +3398,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -3993,31 +3434,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4026,16 +3463,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4043,10 +3477,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -4054,16 +3488,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { -"description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { -"description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4071,23 +3502,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services (AWS).", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { -"$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "The user specified custom configuration for the module." +"$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { -"description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { -"description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -4095,24 +3523,21 @@ false "INHERITED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given CRM resource.", -"The module is disabled at the given CRM resource.", -"State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." +"", +"", +"", +"" ], "type": "string" }, "lastEditor": { -"description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { -"description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4121,11 +3546,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -4134,16 +3557,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -4152,11 +3574,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -4164,62 +3586,51 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1beta1Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1beta1Finding", "properties": { "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { -"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved.", "format": "google-datetime", "type": "string" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { -"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { -"description": "Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "sourceProperties": { "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -4227,16 +3638,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4244,10 +3652,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -4255,68 +3663,54 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1beta1SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1beta1SecurityMarks", "properties": { "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { -"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { -"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4325,11 +3719,11 @@ false "LOW" ], "enumDescriptions": [ -"No severity specified. The default value.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -4337,20 +3731,18 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -4358,45 +3750,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { -"description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", -"description": "The Cloud resource tied to the notification." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -4404,39 +3787,31 @@ false "type": "array" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4444,10 +3819,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -4455,122 +3830,96 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { -"description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "GoogleCloudSecuritycenterV2Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -4578,48 +3927,39 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -4627,20 +3967,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -4648,26 +3984,23 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -4676,51 +4009,42 @@ false "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { -"description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -4730,59 +4054,49 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Application": { -"description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -4790,32 +4104,26 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -4823,49 +4131,41 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "readOnly": true, "type": "string" @@ -4874,34 +4174,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { -"$ref": "GoogleCloudSecuritycenterV2AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -4911,217 +4204,174 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { -"$ref": "GoogleCloudSecuritycenterV2AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { -"$ref": "GoogleCloudSecuritycenterV2AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5130,23 +4380,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "GoogleCloudSecuritycenterV2Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -5156,17 +4401,14 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -5176,65 +4418,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { -"$ref": "GoogleCloudSecuritycenterV2Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "GoogleCloudSecuritycenterV2Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { -"description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -5242,31 +4472,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -5274,47 +4500,37 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -5322,44 +4538,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { -"$ref": "GoogleCloudSecuritycenterV2CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -5369,20 +4577,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -5392,21 +4596,19 @@ false "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -5414,22 +4616,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { -"description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { -"description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -5439,66 +4637,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Container": { -"description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { -"description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { -"$ref": "GoogleCloudSecuritycenterV2Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -5508,26 +4693,23 @@ false "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -5536,56 +4718,49 @@ false "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -5594,16 +4769,15 @@ false "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5611,20 +4785,18 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5632,15 +4804,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5648,15 +4819,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -5664,38 +4834,36 @@ false "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -5703,15 +4871,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -5721,20 +4886,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5742,35 +4903,30 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5778,40 +4934,34 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -5827,21 +4977,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -5849,64 +4997,51 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { -"description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -5916,15 +5051,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -5932,35 +5064,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -5968,10 +5094,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -5979,100 +5105,82 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -6080,205 +5188,162 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "GoogleCloudSecuritycenterV2TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "GoogleCloudSecuritycenterV2DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -6286,11 +5351,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { -"description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -6300,12 +5363,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -6313,82 +5376,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { -"$ref": "GoogleCloudSecuritycenterV2Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { -"$ref": "GoogleCloudSecuritycenterV2AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "GoogleCloudSecuritycenterV2AiModel", -"description": "The AI model associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2Application", -"description": "Represents an application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { -"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "GoogleCloudSecuritycenterV2AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { -"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { -"description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { -"description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "GoogleCloudSecuritycenterV2Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { -"$ref": "GoogleCloudSecuritycenterV2CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { -"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -6398,99 +5443,81 @@ false "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { -"description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "GoogleCloudSecuritycenterV2Database", -"description": "Database associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { -"$ref": "GoogleCloudSecuritycenterV2Disk", -"description": "Disk associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "GoogleCloudSecuritycenterV2Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { -"$ref": "GoogleCloudSecuritycenterV2ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -6506,79 +5533,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a combination of security issues that represent a more severe security problem when taken together.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { -"$ref": "GoogleCloudSecuritycenterV2Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { -"$ref": "GoogleCloudSecuritycenterV2IpRules", -"description": "IP rules associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { -"$ref": "GoogleCloudSecuritycenterV2Job", -"description": "Job associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { -"$ref": "GoogleCloudSecuritycenterV2KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { -"$ref": "GoogleCloudSecuritycenterV2Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "GoogleCloudSecuritycenterV2MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -6586,93 +5601,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "GoogleCloudSecuritycenterV2Notebook", -"description": "Notebook associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { -"description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { -"$ref": "GoogleCloudSecuritycenterV2Secret", -"description": "Secret associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -6681,11 +5679,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -6693,60 +5691,50 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "readOnly": true, "type": "string" }, "toxicCombination": { -"$ref": "GoogleCloudSecuritycenterV2ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { -"$ref": "GoogleCloudSecuritycenterV2VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { -"$ref": "GoogleCloudSecuritycenterV2Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { -"description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -6757,43 +5745,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -6801,35 +5785,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -6837,76 +5816,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { -"description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -6916,84 +5883,70 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { -"description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "GoogleCloudSecuritycenterV2SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { -"description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { -"description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { -"$ref": "GoogleCloudSecuritycenterV2Allowed", -"description": "Tuple with allowed rules." +"$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { -"$ref": "GoogleCloudSecuritycenterV2Denied", -"description": "Tuple with denied rules." +"$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -7003,37 +5956,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { -"description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { -"description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { -"description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { -"description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { -"description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { -"description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -7041,60 +5987,51 @@ false "INSIGHT" ], "enumDescriptions": [ -"Unspecified issue type.", -"Chokepoint issue type.", -"Toxic combination issue type.", -"Insight issue type." +"", +"", +"", +"" ], "type": "string" }, "lastObservationTime": { -"description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { -"$ref": "GoogleCloudSecuritycenterV2IssueMute", -"description": "The mute information of the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { -"description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { -"$ref": "GoogleCloudSecuritycenterV2IssueResource", -"description": "The primary resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { -"description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { -"description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { -"description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { -"description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { -"description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -7103,31 +6040,29 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, "state": { -"description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"Active state.", -"Inactive state." +"", +"", +"" ], "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7136,11 +6071,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { -"description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { -"description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -7152,14 +6085,14 @@ false "THREAT" ], "enumDescriptions": [ -"Unspecified domain category.", -"Issues in the AI domain.", -"Issues in the code domain.", -"Issues in the container domain.", -"Issues in the data domain.", -"Issues in the identity and access domain.", -"Issues in the vulnerability domain.", -"Issues in the threat domain." +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -7167,75 +6100,62 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { -"description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", -"description": "The CVE of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { -"description": "The name of the finding.", "type": "string" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", -"description": "The security bulletin of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { -"description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { -"description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { -"description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { -"description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { -"description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { -"description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { -"description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { -"description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ -"Unspecified mute state.", -"Not muted.", -"Muted." +"", +"", +"" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { -"description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -7243,35 +6163,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { -"description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", -"description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", -"description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", -"description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { -"description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -7279,112 +6191,92 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", -"description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { -"description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { -"description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { -"description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -7394,22 +6286,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -7418,11 +6306,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -7430,11 +6318,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -7443,11 +6329,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -7455,93 +6341,75 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { -"description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", -"description": "The AWS account of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { -"description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { -"description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { -"description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { -"description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", -"description": "The Azure subscription of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { -"description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { -"description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { -"description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { -"description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { -"description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { -"description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", -"description": "The aggregated count of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", -"description": "The context of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { -"description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { -"description": "Aggregation key.", "type": "string" }, "value": { -"description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -7549,15 +6417,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { -"description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { -"description": "Context type.", "type": "string" }, "values": { -"description": "Context values.", "items": { "type": "string" }, @@ -7567,24 +6432,19 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Job": { -"description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -7593,11 +6453,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -7606,96 +6466,78 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -7705,52 +6547,42 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { -"description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -7760,11 +6592,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -7784,28 +6614,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -7949,152 +6778,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -8113,26 +6941,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -8276,210 +7103,199 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8488,55 +7304,45 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "GoogleCloudSecuritycenterV2StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { -"description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -8546,196 +7352,157 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV2Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV2Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { -"description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { -"description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { -"description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { -"description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -8743,16 +7510,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -8760,62 +7524,50 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Process": { -"description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "File information for the process executable." +"$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -8823,70 +7575,58 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { -"description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { -"description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -8894,35 +7634,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -8930,91 +7662,74 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { -"$ref": "GcpMetadata", -"description": "The Google Cloud metadata associated with the finding." +"$ref": "GcpMetadata" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { -"$ref": "GoogleCloudSecuritycenterV2ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -9024,22 +7739,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -9048,11 +7759,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9060,11 +7771,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -9073,11 +7782,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9085,11 +7794,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -9099,19 +7806,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -9125,16 +7828,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -9142,11 +7845,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9154,40 +7855,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9196,31 +7891,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9229,90 +7920,74 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { -"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { -"$ref": "GoogleCloudSecuritycenterV2SecretFilePath", -"description": "The file containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { -"$ref": "GoogleCloudSecuritycenterV2SecretStatus", -"description": "The status of the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { -"description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { -"description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -9321,11 +7996,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9333,114 +8008,91 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9449,16 +8101,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9467,11 +8118,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -9479,11 +8130,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -9492,11 +8141,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -9504,31 +8153,25 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -9536,10 +8179,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -9547,11 +8190,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { -"description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -9559,67 +8200,55 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -9629,18 +8258,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -9650,83 +8276,66 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The fixed package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The offending package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupAssetsRequest": { -"description": "Request message for grouping by assets.", "id": "GroupAssetsRequest", "properties": { "compareDuration": { -"description": "When compare_duration is set, the Asset's \"state\" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at reference_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. This field is ignored if `state` is not a field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", "type": "string" }, "groupBy": { -"description": "Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: \"security_center_properties.resource_project,security_center_properties.project\". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_type * security_center_properties.resource_parent The following fields are supported when compare_duration is set: * security_center_properties.resource_type", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -9734,22 +8343,18 @@ false "type": "object" }, "GroupAssetsResponse": { -"description": "Response message for grouping by assets.", "id": "GroupAssetsResponse", "properties": { "groupByResults": { -"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" } @@ -9757,28 +8362,22 @@ false "type": "object" }, "GroupFindingsRequest": { -"description": "Request message for grouping by findings.", "id": "GroupFindingsRequest", "properties": { "filter": { -"description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", "type": "string" }, "groupBy": { -"description": "Required. Expression that defines what assets fields to use for grouping (including `state`). The string value should follow SQL syntax: comma separated list of fields. For example: \"parent,resource_name\". The following fields are supported: * resource_name * category * state * parent", "type": "string" }, "pageSize": { -"description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { -"description": "The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { -"description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -9786,22 +8385,18 @@ false "type": "object" }, "GroupFindingsResponse": { -"description": "Response message for group by findings.", "id": "GroupFindingsResponse", "properties": { "groupByResults": { -"description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" } @@ -9809,24 +8404,21 @@ false "type": "object" }, "GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -9834,11 +8426,9 @@ false "type": "object" }, "GroupResult": { -"description": "Result containing the properties and count of a groupBy request.", "id": "GroupResult", "properties": { "count": { -"description": "Total count of resources for the given properties.", "format": "int64", "type": "string" }, @@ -9846,83 +8436,70 @@ false "additionalProperties": { "type": "any" }, -"description": "Properties matching the groupBy fields in the request.", "type": "object" } }, "type": "object" }, "HttpResponse": { -"description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -9932,84 +8509,70 @@ false "type": "object" }, "InfoType": { -"description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { -"description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { -"description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { -"$ref": "Allowed", -"description": "Tuple with allowed rules." +"$ref": "Allowed" }, "denied": { -"$ref": "Denied", -"description": "Tuple with denied rules." +"$ref": "Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -10019,24 +8582,19 @@ false "type": "object" }, "Job": { -"description": "Describes a job", "id": "Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -10045,11 +8603,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -10058,96 +8616,78 @@ false "type": "object" }, "KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -10157,42 +8697,34 @@ false "type": "object" }, "Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "ListAssetsResponse": { -"description": "Response message for listing assets.", "id": "ListAssetsResponse", "properties": { "listAssetsResults": { -"description": "Assets matching the list request.", "items": { "$ref": "ListAssetsResult" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of assets matching the query.", "format": "int32", "type": "integer" } @@ -10200,15 +8732,12 @@ false "type": "object" }, "ListAssetsResult": { -"description": "Result containing the Asset and its State.", "id": "ListAssetsResult", "properties": { "asset": { -"$ref": "Asset", -"description": "Asset matching the search request." +"$ref": "Asset" }, "state": { -"description": "State of the asset.", "enum": [ "STATE_UNSPECIFIED", "UNUSED", @@ -10217,11 +8746,11 @@ false "ACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"Request did not specify use of this field in the result.", -"Asset was added between the points in time.", -"Asset was removed between the points in time.", -"Asset was active at both point(s) in time." +"", +"", +"", +"", +"" ], "type": "string" } @@ -10229,27 +8758,22 @@ false "type": "object" }, "ListFindingsResponse": { -"description": "Response message for listing findings.", "id": "ListFindingsResponse", "properties": { "findings": { -"description": "Findings matching the list request.", "items": { "$ref": "GoogleCloudSecuritycenterV1beta1Finding" }, "type": "array" }, "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { -"description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { -"description": "The total number of findings matching the query.", "format": "int32", "type": "integer" } @@ -10257,22 +8781,18 @@ false "type": "object" }, "ListOperationsResponse": { -"description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", "properties": { "nextPageToken": { -"description": "The standard List next-page token.", "type": "string" }, "operations": { -"description": "A list of operations that matches the specified filter in the request.", "items": { "$ref": "Operation" }, "type": "array" }, "unreachable": { -"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -10282,15 +8802,12 @@ false "type": "object" }, "ListSourcesResponse": { -"description": "Response message for listing sources.", "id": "ListSourcesResponse", "properties": { "nextPageToken": { -"description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "sources": { -"description": "Sources belonging to the requested parent.", "items": { "$ref": "Source" }, @@ -10300,37 +8817,30 @@ false "type": "object" }, "LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { -"description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -10340,11 +8850,9 @@ false "type": "object" }, "MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -10364,28 +8872,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -10529,152 +9036,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -10693,26 +9199,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -10856,207 +9361,196 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "StaticMute" } }, "type": "object" }, "Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { -"description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -11066,81 +9560,65 @@ false "type": "object" }, "Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "Operation": { -"description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", "properties": { "done": { -"description": "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.", "type": "boolean" }, "error": { -"$ref": "Status", -"description": "The error result of the operation in case of failure or cancellation." +"$ref": "Status" }, "metadata": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, -"description": "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.", "type": "object" }, "name": { -"description": "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}`.", "type": "string" }, "response": { @@ -11148,134 +9626,109 @@ false "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, -"description": "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`.", "type": "object" } }, "type": "object" }, "OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { -"description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "OrganizationSettings": { -"description": "User specified settings that are attached to the Security Command Center organization.", "id": "OrganizationSettings", "properties": { "assetDiscoveryConfig": { -"$ref": "AssetDiscoveryConfig", -"description": "The configuration used for Asset Discovery runs." +"$ref": "AssetDiscoveryConfig" }, "enableAssetDiscovery": { -"description": "A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.", "type": "boolean" }, "name": { -"description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "type": "string" } }, "type": "object" }, "Package": { -"description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { -"description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { -"description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "Policy": { -"description": "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/).", "id": "Policy", "properties": { "auditConfigs": { -"description": "Specifies cloud audit logging configuration for this policy.", "items": { "$ref": "AuditConfig" }, "type": "array" }, "bindings": { -"description": "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`.", "items": { "$ref": "Binding" }, "type": "array" }, "etag": { -"description": "`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.", "format": "byte", "type": "string" }, "version": { -"description": "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).", "format": "int32", "type": "integer" } @@ -11283,45 +9736,36 @@ false "type": "object" }, "PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -11329,16 +9773,13 @@ false "type": "object" }, "PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -11346,62 +9787,50 @@ false "type": "object" }, "Process": { -"description": "Represents an operating system process.", "id": "Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "File", -"description": "File information for the process executable." +"$ref": "File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -11409,70 +9838,58 @@ false "type": "object" }, "ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "YaraRuleSignature" } }, "type": "object" }, "Reference": { -"description": "Additional Links", "id": "Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { -"description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -11480,11 +9897,9 @@ false "type": "object" }, "ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -11494,19 +9909,15 @@ false "type": "object" }, "ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -11520,16 +9931,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -11537,96 +9948,79 @@ false "type": "object" }, "Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "RunAssetDiscoveryRequest": { -"description": "Request message for running asset discovery for an organization.", "id": "RunAssetDiscoveryRequest", "properties": {}, "type": "object" }, "Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { -"$ref": "SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "SecretEnvironmentVariable" }, "filePath": { -"$ref": "SecretFilePath", -"description": "The file containing the secret." +"$ref": "SecretFilePath" }, "status": { -"$ref": "SecretStatus", -"description": "The status of the secret." +"$ref": "SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { -"description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { -"description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -11635,11 +10029,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -11647,144 +10041,115 @@ false "type": "object" }, "SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterProperties": { -"description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user.", "id": "SecurityCenterProperties", "properties": { "resourceName": { -"description": "Immutable. The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceOwners": { -"description": "Owners of the Google Cloud resource.", "items": { "type": "string" }, "type": "array" }, "resourceParent": { -"description": "The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceProject": { -"description": "The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceType": { -"description": "The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time.", "type": "string" } }, "type": "object" }, "SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -11793,11 +10158,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -11805,40 +10170,34 @@ false "type": "object" }, "ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "SetFindingStateRequest": { -"description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", "properties": { "startTime": { -"description": "Optional. The time at which the updated state takes effect. If not set uses the current time.", "format": "google-datetime", "type": "string" }, "state": { -"description": "Required. The desired State of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -11846,15 +10205,12 @@ false "type": "object" }, "SetIamPolicyRequest": { -"description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", "properties": { "policy": { -"$ref": "Policy", -"description": "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." +"$ref": "Policy" }, "updateMask": { -"description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -11862,35 +10218,28 @@ false "type": "object" }, "Source": { -"description": "Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc.", "id": "Source", "properties": { "description": { -"description": "The description of the source (max of 1024 characters). Example: \"Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries.\"", "type": "string" }, "displayName": { -"description": "The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).", "type": "string" }, "name": { -"description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" } }, "type": "object" }, "StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -11898,10 +10247,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -11909,16 +10258,13 @@ false "type": "object" }, "Status": { -"description": "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).", "id": "Status", "properties": { "code": { -"description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32", "type": "integer" }, "details": { -"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { "additionalProperties": { "description": "Properties of the object. Contains field @type with type URL.", @@ -11929,18 +10275,15 @@ false "type": "array" }, "message": { -"description": "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.", "type": "string" } }, "type": "object" }, "Subject": { -"description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -11948,30 +10291,26 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "TestIamPermissionsRequest": { -"description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", "properties": { "permissions": { -"description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", "items": { "type": "string" }, @@ -11981,11 +10320,9 @@ false "type": "object" }, "TestIamPermissionsResponse": { -"description": "Response message for `TestIamPermissions` method.", "id": "TestIamPermissionsResponse", "properties": { "permissions": { -"description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", "items": { "type": "string" }, @@ -11995,48 +10332,38 @@ false "type": "object" }, "TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -12046,18 +10373,15 @@ false "type": "object" }, "VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -12067,46 +10391,37 @@ false "type": "object" }, "Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { -"$ref": "Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "Package", -"description": "The fixed package is relevant to the finding." +"$ref": "Package" }, "offendingPackage": { -"$ref": "Package", -"description": "The offending package is relevant to the finding." +"$ref": "Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { -"description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -12114,18 +10429,15 @@ false "format": "int64", "type": "string" }, -"description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { -"description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { -"description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -12133,23 +10445,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "findingCount": { -"$ref": "VulnerabilityCountBySeverity", -"description": "The vulnerability count by severity." +"$ref": "VulnerabilityCountBySeverity" }, "name": { -"description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { -"description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -12157,11 +10466,9 @@ false "type": "object" }, "YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json index b9070b9054..875499f8ca 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json @@ -125,7 +125,7 @@ "folders": { "methods": { "getContainerThreatDetectionSettings": { -"description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getContainerThreatDetectionSettings", @@ -134,7 +134,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -150,7 +149,7 @@ ] }, "getEventThreatDetectionSettings": { -"description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getEventThreatDetectionSettings", @@ -159,7 +158,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -175,7 +173,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { -"description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getRapidVulnerabilityDetectionSettings", @@ -184,7 +182,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -200,7 +197,7 @@ ] }, "getSecurityCenterSettings": { -"description": "Get the SecurityCenterSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.folders.getSecurityCenterSettings", @@ -209,7 +206,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^folders/[^/]+/securityCenterSettings$", "required": true, @@ -225,7 +221,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { -"description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.folders.getSecurityHealthAnalyticsSettings", @@ -234,7 +230,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -250,7 +245,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { -"description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getVirtualMachineThreatDetectionSettings", @@ -259,7 +254,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -275,7 +269,7 @@ ] }, "getWebSecurityScannerSettings": { -"description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.folders.getWebSecurityScannerSettings", @@ -284,7 +278,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, @@ -300,7 +293,7 @@ ] }, "updateContainerThreatDetectionSettings": { -"description": "Update the ContainerThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateContainerThreatDetectionSettings", @@ -309,14 +302,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -334,7 +325,7 @@ ] }, "updateEventThreatDetectionSettings": { -"description": "Update the EventThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateEventThreatDetectionSettings", @@ -343,14 +334,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -368,7 +357,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { -"description": "Update the RapidVulnerabilityDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateRapidVulnerabilityDetectionSettings", @@ -377,14 +366,12 @@ ], "parameters": { "name": { -"description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -402,7 +389,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { -"description": "Update the SecurityHealthAnalyticsSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateSecurityHealthAnalyticsSettings", @@ -411,14 +398,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -436,7 +421,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { -"description": "Update the VirtualMachineThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateVirtualMachineThreatDetectionSettings", @@ -445,14 +430,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -470,7 +453,7 @@ ] }, "updateWebSecurityScannerSettings": { -"description": "Update the WebSecurityScannerSettings resource.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateWebSecurityScannerSettings", @@ -479,14 +462,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -508,7 +489,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.containerThreatDetectionSettings.calculate", @@ -517,14 +498,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -542,7 +521,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.calculate", @@ -551,14 +530,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -576,7 +553,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.rapidVulnerabilityDetectionSettings.calculate", @@ -585,7 +562,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -605,7 +581,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { -"description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.calculate", @@ -614,14 +590,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -639,7 +613,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.virtualMachineThreatDetectionSettings.calculate", @@ -648,14 +622,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -673,7 +645,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { -"description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.webSecurityScannerSettings.calculate", @@ -682,14 +654,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -709,7 +679,7 @@ "organizations": { "methods": { "getContainerThreatDetectionSettings": { -"description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getContainerThreatDetectionSettings", @@ -718,7 +688,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -734,7 +703,7 @@ ] }, "getEventThreatDetectionSettings": { -"description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getEventThreatDetectionSettings", @@ -743,7 +712,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -759,7 +727,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { -"description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getRapidVulnerabilityDetectionSettings", @@ -768,7 +736,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -784,7 +751,7 @@ ] }, "getSecurityCenterSettings": { -"description": "Get the SecurityCenterSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getSecurityCenterSettings", @@ -793,7 +760,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^organizations/[^/]+/securityCenterSettings$", "required": true, @@ -809,7 +775,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { -"description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getSecurityHealthAnalyticsSettings", @@ -818,7 +784,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -834,7 +799,7 @@ ] }, "getSubscription": { -"description": "Get the Subscription resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/subscription", "httpMethod": "GET", "id": "securitycenter.organizations.getSubscription", @@ -843,7 +808,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the subscription to retrieve. Format: organizations/{organization}/subscription", "location": "path", "pattern": "^organizations/[^/]+/subscription$", "required": true, @@ -859,7 +823,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { -"description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getVirtualMachineThreatDetectionSettings", @@ -868,7 +832,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -884,7 +847,7 @@ ] }, "getWebSecurityScannerSettings": { -"description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getWebSecurityScannerSettings", @@ -893,7 +856,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, @@ -909,7 +871,7 @@ ] }, "updateContainerThreatDetectionSettings": { -"description": "Update the ContainerThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateContainerThreatDetectionSettings", @@ -918,14 +880,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -943,7 +903,7 @@ ] }, "updateEventThreatDetectionSettings": { -"description": "Update the EventThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateEventThreatDetectionSettings", @@ -952,14 +912,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -977,7 +935,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { -"description": "Update the RapidVulnerabilityDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateRapidVulnerabilityDetectionSettings", @@ -986,14 +944,12 @@ ], "parameters": { "name": { -"description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1011,7 +967,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { -"description": "Update the SecurityHealthAnalyticsSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateSecurityHealthAnalyticsSettings", @@ -1020,14 +976,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1045,7 +999,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { -"description": "Update the VirtualMachineThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateVirtualMachineThreatDetectionSettings", @@ -1054,14 +1008,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1079,7 +1031,7 @@ ] }, "updateWebSecurityScannerSettings": { -"description": "Update the WebSecurityScannerSettings resource.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateWebSecurityScannerSettings", @@ -1088,14 +1040,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1117,7 +1067,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.containerThreatDetectionSettings.calculate", @@ -1126,14 +1076,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1151,7 +1099,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.calculate", @@ -1160,14 +1108,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1185,7 +1131,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.rapidVulnerabilityDetectionSettings.calculate", @@ -1194,7 +1140,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1214,7 +1159,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { -"description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.calculate", @@ -1223,14 +1168,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1248,7 +1191,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.virtualMachineThreatDetectionSettings.calculate", @@ -1257,14 +1200,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1282,7 +1223,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { -"description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.webSecurityScannerSettings.calculate", @@ -1291,14 +1232,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1318,7 +1257,7 @@ "projects": { "methods": { "getContainerThreatDetectionSettings": { -"description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getContainerThreatDetectionSettings", @@ -1327,7 +1266,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -1343,7 +1281,7 @@ ] }, "getEventThreatDetectionSettings": { -"description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getEventThreatDetectionSettings", @@ -1352,7 +1290,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -1368,7 +1305,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { -"description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getRapidVulnerabilityDetectionSettings", @@ -1377,7 +1314,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1393,7 +1329,7 @@ ] }, "getSecurityCenterSettings": { -"description": "Get the SecurityCenterSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.projects.getSecurityCenterSettings", @@ -1402,7 +1338,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^projects/[^/]+/securityCenterSettings$", "required": true, @@ -1418,7 +1353,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { -"description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.projects.getSecurityHealthAnalyticsSettings", @@ -1427,7 +1362,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1443,7 +1377,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { -"description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getVirtualMachineThreatDetectionSettings", @@ -1452,7 +1386,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -1468,7 +1401,7 @@ ] }, "getWebSecurityScannerSettings": { -"description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.projects.getWebSecurityScannerSettings", @@ -1477,7 +1410,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, @@ -1493,7 +1425,7 @@ ] }, "updateContainerThreatDetectionSettings": { -"description": "Update the ContainerThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateContainerThreatDetectionSettings", @@ -1502,14 +1434,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1527,7 +1457,7 @@ ] }, "updateEventThreatDetectionSettings": { -"description": "Update the EventThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateEventThreatDetectionSettings", @@ -1536,14 +1466,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1561,7 +1489,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { -"description": "Update the RapidVulnerabilityDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateRapidVulnerabilityDetectionSettings", @@ -1570,14 +1498,12 @@ ], "parameters": { "name": { -"description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1595,7 +1521,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { -"description": "Update the SecurityHealthAnalyticsSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateSecurityHealthAnalyticsSettings", @@ -1604,14 +1530,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1629,7 +1553,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { -"description": "Update the VirtualMachineThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateVirtualMachineThreatDetectionSettings", @@ -1638,14 +1562,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1663,7 +1585,7 @@ ] }, "updateWebSecurityScannerSettings": { -"description": "Update the WebSecurityScannerSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateWebSecurityScannerSettings", @@ -1672,14 +1594,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1701,7 +1621,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.containerThreatDetectionSettings.calculate", @@ -1710,14 +1630,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1735,7 +1653,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.calculate", @@ -1744,14 +1662,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1771,7 +1687,7 @@ "clusters": { "methods": { "getContainerThreatDetectionSettings": { -"description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.locations.clusters.getContainerThreatDetectionSettings", @@ -1780,7 +1696,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -1796,7 +1711,7 @@ ] }, "updateContainerThreatDetectionSettings": { -"description": "Update the ContainerThreatDetectionSettings resource.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.locations.clusters.updateContainerThreatDetectionSettings", @@ -1805,14 +1720,12 @@ ], "parameters": { "name": { -"description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { -"description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1834,7 +1747,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.locations.clusters.containerThreatDetectionSettings.calculate", @@ -1843,14 +1756,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1872,7 +1783,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.rapidVulnerabilityDetectionSettings.calculate", @@ -1881,7 +1792,6 @@ ], "parameters": { "name": { -"description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1901,7 +1811,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { -"description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.calculate", @@ -1910,14 +1820,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1935,7 +1843,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { -"description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.virtualMachineThreatDetectionSettings.calculate", @@ -1944,14 +1852,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1969,7 +1875,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { -"description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", +"description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.webSecurityScannerSettings.calculate", @@ -1978,14 +1884,12 @@ ], "parameters": { "name": { -"description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { -"description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -2003,104 +1907,82 @@ } } }, -"revision": "20260424", +"revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { -"description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -2108,48 +1990,39 @@ "type": "object" }, "AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -2157,20 +2030,16 @@ "type": "object" }, "AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2178,26 +2047,23 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -2206,51 +2072,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { -"description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -2260,59 +2117,49 @@ "type": "object" }, "Application": { -"description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -2320,32 +2167,26 @@ "type": "object" }, "Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -2353,49 +2194,41 @@ "type": "object" }, "AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "type": "string" } @@ -2403,34 +2236,27 @@ "type": "object" }, "AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { -"$ref": "AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "AwsAccount" }, "organization": { -"$ref": "AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -2440,191 +2266,154 @@ "type": "object" }, "AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "AzureResourceGroup" }, "subscription": { -"$ref": "AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "AzureSubscription" }, "tenant": { -"$ref": "AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BigQueryDestination": { -"description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { -"description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "type": "string" } }, "type": "object" }, "Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -2634,65 +2423,53 @@ "type": "object" }, "CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "AdaptiveProtection" }, "attack": { -"$ref": "Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "Requests" }, "securityPolicy": { -"$ref": "SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { -"description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -2700,31 +2477,27 @@ "type": "object" }, "CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -2732,47 +2505,37 @@ "type": "object" }, "CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -2780,44 +2543,36 @@ "type": "object" }, "Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { -"$ref": "CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -2827,11 +2582,9 @@ "type": "object" }, "Config": { -"description": "Configuration of a module.", "id": "Config", "properties": { "moduleEnablementState": { -"description": "The state of enablement for the module at its level of the resource hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -2839,10 +2592,10 @@ "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, @@ -2851,27 +2604,22 @@ "description": "Properties of the object.", "type": "any" }, -"description": "The configuration value for the module. The absence of this field implies its inheritance from the parent.", "type": "object" } }, "type": "object" }, "Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -2881,21 +2629,19 @@ "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -2903,22 +2649,18 @@ "type": "object" }, "Contact": { -"description": "The email address of a contact.", "id": "Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { -"description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -2928,58 +2670,47 @@ "type": "object" }, "Container": { -"description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "ContainerThreatDetectionSettings": { -"description": "Resource capturing the settings for the Container Threat Detection service.", "id": "ContainerThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "type": "string" }, "serviceAccount": { -"description": "Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.", "readOnly": true, "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -2987,15 +2718,14 @@ "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3004,35 +2734,28 @@ "type": "object" }, "Control": { -"description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { -"$ref": "Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -3042,26 +2765,23 @@ "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -3070,56 +2790,49 @@ "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -3128,16 +2841,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3145,20 +2857,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3166,15 +2876,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3182,15 +2891,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -3198,38 +2906,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -3237,15 +2943,12 @@ "type": "object" }, "Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -3255,20 +2958,16 @@ "type": "object" }, "DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -3276,35 +2975,30 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -3312,40 +3006,34 @@ "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -3361,21 +3049,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -3383,64 +3069,51 @@ false "type": "object" }, "Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { -"description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -3450,36 +3123,38 @@ false "type": "object" }, "Details": { -"description": "Details of a subscription.", "id": "Details", "properties": { "endTime": { -"description": "The time the subscription has or will end.", "format": "google-datetime", "type": "string" }, "startTime": { -"description": "The time the subscription has or will start.", "format": "google-datetime", "type": "string" }, "type": { -"description": "The type of subscription", "enum": [ "TYPE_UNSPECIFIED", "STANDARD", "TRIAL", "ALPHA", "DEMO", -"PAY_AS_YOU_GO" +"PAY_AS_YOU_GO", +"SUBSCRIPTION", +"SUB_FIXED", +"SUB_BASE_OVERAGE" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The standard subscription.", -"The trial subscription.", -"The alpha subscription.", -"The demo subscription for channel partners.", -"Pay-as-you-go subscription." +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -3487,15 +3162,12 @@ false "type": "object" }, "Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -3503,35 +3175,29 @@ false "type": "object" }, "DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -3539,10 +3205,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -3550,79 +3216,64 @@ false "type": "object" }, "Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "EventThreatDetectionSettings": { -"description": "Resource capturing the settings for the Event Threat Detection service.", "id": "EventThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -3630,15 +3281,14 @@ false "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3647,43 +3297,36 @@ false "type": "object" }, "ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -3691,15 +3334,12 @@ false "type": "object" }, "ExportFindingsMetadata": { -"description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { -"$ref": "BigQueryDestination", -"description": "Required. The destination BigQuery dataset to export findings to." +"$ref": "BigQueryDestination" }, "exportStartTime": { -"description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -3707,176 +3347,139 @@ false "type": "object" }, "ExportFindingsResponse": { -"description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "properties": {}, "type": "object" }, "Expr": { -"description": "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.", "id": "Expr", "properties": { "description": { -"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, "expression": { -"description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, "location": { -"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, "title": { -"description": "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.", "type": "string" } }, "type": "object" }, "ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -3884,11 +3487,9 @@ false "type": "object" }, "FileOperation": { -"description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -3898,12 +3499,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -3911,81 +3512,63 @@ false "type": "object" }, "Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { -"$ref": "Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "Access" }, "affectedResources": { -"$ref": "AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "AiModel", -"description": "The AI model associated with the finding." +"$ref": "AiModel" }, "application": { -"$ref": "Application", -"description": "Represents an application associated with the finding." +"$ref": "Application" }, "artifactGuardPolicies": { -"$ref": "ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "AttackExposure" }, "backupDisasterRecovery": { -"$ref": "BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "BackupDisasterRecovery" }, "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "Chokepoint" }, "cloudArmor": { -"$ref": "CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "CloudDlpInspection" }, "complianceDetails": { -"$ref": "ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -3995,93 +3578,76 @@ false "additionalProperties": { "$ref": "ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "Database", -"description": "Database associated with the finding." +"$ref": "Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "DiscoveredWorkload" }, "disk": { -"$ref": "Disk", -"description": "Disk associated with the finding." +"$ref": "Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "Exfiltration" }, "externalExposure": { -"$ref": "ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -4097,79 +3663,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { -"$ref": "Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "Indicator" }, "ipRules": { -"$ref": "IpRules", -"description": "IP rules associated with the finding." +"$ref": "IpRules" }, "job": { -"$ref": "Job", -"description": "Job associated with the finding." +"$ref": "Job" }, "kernelRootkit": { -"$ref": "KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "KernelRootkit" }, "kubernetes": { -"$ref": "Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -4177,93 +3731,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "Notebook", -"description": "Notebook associated with the finding." +"$ref": "Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { -"$ref": "Secret", -"description": "Secret associated with the finding." +"$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4272,11 +3809,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -4284,59 +3821,49 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" }, "toxicCombination": { -"$ref": "ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "ToxicCombination" }, "vertexAi": { -"$ref": "VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "VertexAi" }, "vulnerability": { -"$ref": "Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Vulnerability" } }, "type": "object" }, "Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { -"description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -4347,43 +3874,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -4391,11 +3914,9 @@ false "type": "object" }, "GcpMetadata": { -"description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -4403,77 +3924,61 @@ false "type": "array" }, "organization": { -"description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4482,23 +3987,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -4508,37 +4008,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { -"description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { -"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", -"description": "Custom output properties." +"$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { -"description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { -"$ref": "Expr", -"description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." +"$ref": "Expr" }, "recommendation": { -"description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { -"$ref": "GoogleCloudSecuritycenterV1ResourceSelector", -"description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." +"$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { -"description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4547,11 +4039,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" } @@ -4559,11 +4051,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { -"description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { -"description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -4573,11 +4063,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { -"description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4585,40 +4073,36 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { -"description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { -"description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given level.", -"The module is disabled at the given level." +"", +"", +"" ], "readOnly": true, "type": "string" }, "name": { -"description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -4626,116 +4110,94 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, -"description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4744,69 +4206,54 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { -"$ref": "Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { -"description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { -"description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { -"$ref": "Expr", -"description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." +"$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { -"$ref": "AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "AdcApplication" }, "adcApplicationTemplate": { -"$ref": "AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { -"$ref": "AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "AwsMetadata" }, "azureMetadata": { -"$ref": "AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4814,19 +4261,17 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -4834,95 +4279,75 @@ false "type": "array" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { -"description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { -"$ref": "ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -4932,22 +4357,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -4956,11 +4377,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -4968,11 +4389,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -4981,11 +4400,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -4993,11 +4412,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { -"description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { -"description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -5007,11 +4424,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -5019,40 +4434,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5061,31 +4470,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5094,16 +4499,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5111,10 +4513,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -5122,16 +4524,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { -"description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { -"description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { -"description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -5139,23 +4538,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services (AWS).", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "customConfig": { -"$ref": "GoogleCloudSecuritycenterV1CustomConfig", -"description": "The user specified custom configuration for the module." +"$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { -"description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { -"description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -5163,24 +4559,21 @@ false "INHERITED" ], "enumDescriptions": [ -"Unspecified enablement state.", -"The module is enabled at the given CRM resource.", -"The module is disabled at the given CRM resource.", -"State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." +"", +"", +"", +"" ], "type": "string" }, "lastEditor": { -"description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { -"description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { -"description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5189,11 +4582,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5202,16 +4593,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5220,11 +4610,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -5232,16 +4622,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5249,10 +4636,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -5260,50 +4647,39 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { -"description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { -"description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { -"description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { -"description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { -"description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { -"description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { -"description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -5312,11 +4688,11 @@ false "LOW" ], "enumDescriptions": [ -"No severity specified. The default value.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -5324,20 +4700,18 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "type": "string" } @@ -5345,45 +4719,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { -"description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", -"description": "The Cloud resource tied to the notification." +"$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { -"description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -5391,39 +4756,31 @@ false "type": "array" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { -"description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { -"description": "The human readable name of resource's parent.", "type": "string" }, "project": { -"description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { -"description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { -"description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { -"description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { -"description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5431,10 +4788,10 @@ false "TERMINATED" ], "enumDescriptions": [ -"Asset discovery run state was unspecified.", -"Asset discovery run completed successfully.", -"Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", -"Asset discovery run was killed and terminated." +"", +"", +"", +"" ], "type": "string" } @@ -5442,122 +4799,96 @@ false "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { -"description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { -"description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { -"$ref": "GoogleCloudSecuritycenterV2Geolocation", -"description": "The caller IP's geolocation, which identifies where the call came from." +"$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { -"description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { -"description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { -"description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { -"description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { -"description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { -"description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { -"description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { -"description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { -"description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { -"description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { -"description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { -"description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { -"description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { -"description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { -"description": "The optional subresource type.", "type": "string" }, "verb": { -"description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { -"description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { -"description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { -"description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -5565,48 +4896,39 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { -"description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { -"description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -5614,20 +4936,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { -"description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5635,26 +4953,23 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalSubject": { -"description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { -"description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { -"description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -5663,51 +4978,42 @@ false "FINE_TUNED_MODEL" ], "enumDescriptions": [ -"Unspecified deployment platform.", -"Vertex AI.", -"Google Kubernetes Engine.", -"Google Compute Engine.", -"Fine tuned model." +"", +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { -"description": "The domain of the model, for example, \u201cimage-classification\u201d.", "type": "string" }, "library": { -"description": "The name of the model library, for example, \u201ctransformers\u201d.", "type": "string" }, "location": { -"description": "The region in which the model is used, for example, \u201cus-central1\u201d.", "type": "string" }, "name": { -"description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { -"description": "The publisher of the model, for example, \u201cgoogle\u201d or \u201cnvidia\u201d.", "type": "string" }, "usageCategory": { -"description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { -"description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { -"description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -5717,59 +5023,49 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Application": { -"description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { -"description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { -"description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { -"description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { -"description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { -"description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { -"description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { -"description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { -"description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { -"description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Vulnerability type." +"", +"" ], "type": "string" } @@ -5777,32 +5073,26 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { -"description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { -"description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, -"description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { -"description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, -"description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { -"description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -5810,49 +5100,41 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { -"description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { -"description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { -"description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { -"description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { -"description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { -"description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { -"description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ -"The state is not specified.", -"The attack exposure has been calculated.", -"The attack exposure has not been calculated." +"", +"", +"" ], "readOnly": true, "type": "string" @@ -5861,34 +5143,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { -"description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { -"description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { -"description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { -"description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2AwsAccount", -"description": "The AWS account associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { -"$ref": "GoogleCloudSecuritycenterV2AwsOrganization", -"description": "The AWS organization associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { -"description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -5898,217 +5173,174 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { -"description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { -"description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { -"description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { -"description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { -"description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { -"description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { -"description": "The display name of the Azure management group.", "type": "string" }, "id": { -"description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { -"description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { -"description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { -"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", -"description": "The Azure resource group associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { -"$ref": "GoogleCloudSecuritycenterV2AzureSubscription", -"description": "The Azure subscription associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { -"$ref": "GoogleCloudSecuritycenterV2AzureTenant", -"description": "The Azure Entra tenant associated with the resource." +"$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { -"description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { -"description": "The ID of the Azure resource group.", "type": "string" }, "name": { -"description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { -"description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { -"description": "The display name of the Azure subscription.", "type": "string" }, "id": { -"description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { -"description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { -"description": "The display name of the Azure tenant.", "type": "string" }, "id": { -"description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { -"description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { -"description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { -"description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { -"description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { -"description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { -"description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { -"description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { -"description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { -"description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { -"description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { -"description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { -"description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { -"description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { -"description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { -"description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { -"description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { -"description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -6117,23 +5349,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { -"description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { -"description": "Name for the binding.", "type": "string" }, "ns": { -"description": "Namespace for the binding.", "type": "string" }, "role": { -"$ref": "GoogleCloudSecuritycenterV2Role", -"description": "The Role or ClusterRole referenced by the binding." +"$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { -"description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -6143,17 +5370,14 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { -"description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { -"description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -6163,65 +5387,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { -"description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { -"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", -"description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." +"$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { -"$ref": "GoogleCloudSecuritycenterV2Attack", -"description": "Information about DDoS attack volume and classification." +"$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { -"description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { -"$ref": "GoogleCloudSecuritycenterV2Requests", -"description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." +"$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { -"description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { -"description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { -"description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { -"description": "Policy type of the CloudControl", "type": "string" }, "type": { -"description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ -"Unspecified.", -"Built in Cloud Control.", -"Custom Cloud Control." +"", +"", +"" ], "type": "string" }, "version": { -"description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -6229,31 +5441,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { -"description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { -"description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { -"description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { -"description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ -"Unspecified parent type.", -"Organization-level configurations.", -"Project-level configurations." +"", +"", +"" ], "type": "string" } @@ -6261,47 +5469,37 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { -"description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { -"description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { -"description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { -"description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { -"description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { -"description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { -"description": "A unique identifier for the log entry.", "type": "string" }, "logId": { -"description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { -"description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { -"description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -6309,44 +5507,36 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { -"description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { -"description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { -"description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { -"description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { -"description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { -"$ref": "GoogleCloudSecuritycenterV2CloudControl", -"description": "CloudControl associated with the finding" +"$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { -"description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { -"description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -6356,20 +5546,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { -"description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { -"description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { -"description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { -"description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -6379,21 +5565,19 @@ false "ESP" ], "enumDescriptions": [ -"Unspecified protocol (not HOPOPT).", -"Internet Control Message Protocol.", -"Transmission Control Protocol.", -"User Datagram Protocol.", -"Generic Routing Encapsulation.", -"Encap Security Payload." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "sourceIp": { -"description": "Source IP address.", "type": "string" }, "sourcePort": { -"description": "Source port.", "format": "int32", "type": "integer" } @@ -6401,22 +5585,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { -"description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { -"description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { -"description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { -"description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -6426,66 +5606,53 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Container": { -"description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { -"description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { -"description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { -"description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Name of the container.", "type": "string" }, "uri": { -"description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { -"description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { -"description": "Name of the Control", "type": "string" }, "displayName": { -"description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { -"description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { -"$ref": "GoogleCloudSecuritycenterV2Cvssv3", -"description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" +"$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { -"description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { -"description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -6495,26 +5662,23 @@ false "NO_KNOWN" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation has been reported or confirmed to widely occur.", -"Limited reported or confirmed exploitation activities.", -"Exploit is publicly available.", -"No known exploitation activity, but has a high potential for exploitation.", -"No known exploitation activity." +"", +"", +"", +"", +"", +"" ], "type": "string" }, "firstExploitationDate": { -"description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { -"description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { -"description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -6523,56 +5687,49 @@ false "CRITICAL" ], "enumDescriptions": [ -"Invalid or empty value.", -"Exploitation would have little to no security impact.", -"Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", -"Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", -"Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." +"", +"", +"", +"", +"" ], "type": "string" }, "observedInTheWild": { -"description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { -"description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { -"description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { -"description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { -"description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { -"description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", -"A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." +"", +"", +"" ], "type": "string" }, "attackVector": { -"description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -6581,16 +5738,15 @@ false "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", -"The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", -"The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", -"The attack requires the attacker to physically touch or manipulate the vulnerable component." +"", +"", +"", +"", +"" ], "type": "string" }, "availabilityImpact": { -"description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6598,20 +5754,18 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "baseScore": { -"description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { -"description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6619,15 +5773,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "integrityImpact": { -"description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6635,15 +5788,14 @@ false "IMPACT_NONE" ], "enumDescriptions": [ -"Invalid value.", -"High impact.", -"Low impact.", -"No impact." +"", +"", +"", +"" ], "type": "string" }, "privilegesRequired": { -"description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -6651,38 +5803,36 @@ false "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ -"Invalid value.", -"The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", -"The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", -"The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ -"Invalid value.", -"An exploited vulnerability can only affect resources managed by the same security authority.", -"An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." +"", +"", +"" ], "type": "string" }, "userInteraction": { -"description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ -"Invalid value.", -"The vulnerable system can be exploited without interaction from any user.", -"Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." +"", +"", +"" ], "type": "string" } @@ -6690,15 +5840,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { -"description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { -"description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { -"description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -6708,20 +5855,16 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { -"description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { -"description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6729,35 +5872,30 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { -"description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { -"description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { -"description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { -"description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6765,40 +5903,34 @@ false "COPY" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents a read operation.", -"Represents a move operation.", -"Represents a copy operation." +"", +"", +"", +"" ], "type": "string" }, "principalEmail": { -"description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { -"description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { -"description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { -"description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { -"description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { -"description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -6814,21 +5946,19 @@ false, false ], "enumDescriptions": [ -"Unspecified event type.", -"Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", -"Max TTL from the asset's creation time.", -"Max TTL from the asset's last modification time.", -"Min TTL from the asset's creation time." +"", +"", +"", +"", +"" ], "type": "string" }, "maxRetentionAllowed": { -"description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { -"description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -6836,64 +5966,51 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Database": { -"description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { -"description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { -"description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { -"description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { -"description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { -"description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { -"description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { -"description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { -"description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { -"description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { -"description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { -"description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -6903,15 +6020,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { -"description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { -"description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { -"description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -6919,35 +6033,29 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { -"description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { -"description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ -"Unspecified confidence level.", -"High confidence in detection of a workload." +"", +"" ], "type": "string" }, "detectedRelevantHardware": { -"description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { -"description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { -"description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { -"description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -6955,10 +6063,10 @@ false "AGENT" ], "enumDescriptions": [ -"Unspecified workload type", -"A workload of type MCP Server", -"A workload of type AI Inference", -"A workload of type LLM Agent" +"", +"", +"", +"" ], "type": "string" } @@ -6966,100 +6074,82 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { -"description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { -"description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { -"description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { -"description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { -"description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { -"description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { -"description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { -"description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { -"description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { -"description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { -"description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { -"description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { -"description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { -"description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { -"description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { -"description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { -"description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { -"description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -7067,205 +6157,162 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { -"description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { -"description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { -"description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { -"description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { -"description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.\u201d", "type": "string" }, "exposedService": { -"description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { -"description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { -"description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { -"description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { -"description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { -"description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { -"description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { -"description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { -"description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { -"description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { -"description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { -"description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { -"description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { -"description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { -"description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { -"description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { -"description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { -"description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { -"description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { -"description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { -"description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { -"description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { -"description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { -"description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { -"description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { -"description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { -"$ref": "GoogleCloudSecuritycenterV2TicketInfo", -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." +"$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { -"description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { -"description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { -"$ref": "GoogleCloudSecuritycenterV2DiskPath", -"description": "Path of the file in terms of underlying disk/partition identifiers." +"$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { -"description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ -"The file state is unspecified.", -"The file is being used by an active process at the time of scanning.", -"The file is not being used by any active process at the time of scanning." +"", +"", +"" ], "type": "string" }, "hashedSize": { -"description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { -"description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { -"description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { -"description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { -"description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { -"description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -7273,11 +6320,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { -"description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { -"description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -7287,12 +6332,12 @@ false "EXECUTE" ], "enumDescriptions": [ -"The operation is unspecified.", -"Represents an open operation.", -"Represents a read operation.", -"Represents a rename operation.", -"Represents a write operation.", -"Represents an execute operation." +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -7300,82 +6345,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { -"description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { -"$ref": "GoogleCloudSecuritycenterV2Access", -"description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." +"$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { -"$ref": "GoogleCloudSecuritycenterV2AffectedResources", -"description": "AffectedResources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { -"description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { -"$ref": "GoogleCloudSecuritycenterV2AiModel", -"description": "The AI model associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2Application", -"description": "Represents an application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { -"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", -"description": "ArtifactGuardPolicies associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { -"$ref": "GoogleCloudSecuritycenterV2AttackExposure", -"description": "The results of an attack path simulation relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { -"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", -"description": "Fields related to Backup and DR findings." +"$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { -"description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { -"description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { -"$ref": "GoogleCloudSecuritycenterV2Chokepoint", -"description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { -"$ref": "GoogleCloudSecuritycenterV2CloudArmor", -"description": "Fields related to Cloud Armor findings." +"$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", -"description": "Cloud DLP data profile that is associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { -"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", -"description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { -"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", -"description": "Details about the compliance implications of the finding." +"$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { -"description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { -"description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -7385,99 +6412,81 @@ false "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, -"description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { -"description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { -"description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { -"description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { -"description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { -"description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { -"$ref": "GoogleCloudSecuritycenterV2Database", -"description": "Database associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { -"description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { -"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", -"description": "DiscoveredWorkload associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { -"$ref": "GoogleCloudSecuritycenterV2Disk", -"description": "Disk associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { -"description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { -"$ref": "GoogleCloudSecuritycenterV2Exfiltration", -"description": "Represents exfiltrations associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { -"$ref": "GoogleCloudSecuritycenterV2ExternalExposure", -"description": "External exposure associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, -"description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { -"description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { -"description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { -"description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -7493,79 +6502,67 @@ false "SECRET" ], "enumDescriptions": [ -"Unspecified finding class.", -"Describes unwanted or malicious activity.", -"Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", -"Describes a potential weakness in cloud resource/asset configuration that increases risk.", -"Describes a security observation that is for informational purposes.", -"Describes an error that prevents some SCC functionality.", -"Describes a potential security risk due to a change in the security posture.", -"Describes a combination of security issues that represent a more severe security problem when taken together.", -"Describes a potential security risk to data assets that contain sensitive data.", -"Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", -"Describes a potential security risk due to the resource being exposed to the internet.", -"Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "groupMemberships": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { -"description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { -"$ref": "GoogleCloudSecuritycenterV2Indicator", -"description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." +"$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { -"$ref": "GoogleCloudSecuritycenterV2IpRules", -"description": "IP rules associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { -"$ref": "GoogleCloudSecuritycenterV2Job", -"description": "Job associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { -"$ref": "GoogleCloudSecuritycenterV2KernelRootkit", -"description": "Signature of the kernel rootkit." +"$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { -"$ref": "GoogleCloudSecuritycenterV2Kubernetes", -"description": "Kubernetes resources associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { -"description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { -"description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { -"$ref": "GoogleCloudSecuritycenterV2MitreAttack", -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" +"$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { -"description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { -"description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -7573,93 +6570,76 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", -"description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { -"description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { -"description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { -"description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { -"description": "Steps to address the finding.", "type": "string" }, "notebook": { -"$ref": "GoogleCloudSecuritycenterV2Notebook", -"description": "Notebook associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { -"description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { -"description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { -"description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { -"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", -"description": "PolicyViolationSummary associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { -"description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { -"description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { -"$ref": "GoogleCloudSecuritycenterV2Secret", -"description": "Secret associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", -"description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { -"$ref": "GoogleCloudSecuritycenterV2SecurityPosture", -"description": "The security posture associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { -"description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -7668,11 +6648,11 @@ false "LOW" ], "enumDescriptions": [ -"This value is used for findings when a source doesn't write a severity value.", -"Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", -"Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", -"Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", -"Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." +"", +"", +"", +"", +"" ], "type": "string" }, @@ -7680,60 +6660,50 @@ false "additionalProperties": { "type": "any" }, -"description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { -"description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"The finding requires attention and has not been addressed yet.", -"The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." +"", +"", +"" ], "readOnly": true, "type": "string" }, "toxicCombination": { -"$ref": "GoogleCloudSecuritycenterV2ToxicCombination", -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." +"$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { -"$ref": "GoogleCloudSecuritycenterV2VertexAi", -"description": "VertexAi associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { -"$ref": "GoogleCloudSecuritycenterV2Vulnerability", -"description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { -"description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { -"description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { -"description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { -"description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { -"description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -7744,43 +6714,39 @@ false "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ -"Default value. This value is unused.", -"Security Benchmarks framework", -"Assured Workloads framework", -"Data Security framework", -"Google Best Practices framework", -"A user-created framework" +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "controls": { -"description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { -"description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { -"description": "Name of the framework associated with the finding", "type": "string" }, "type": { -"description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The framework is a built-in framework if it is created and managed by GCP.", -"The framework is a custom framework if it is created and managed by the user." +"", +"", +"" ], "type": "string" } @@ -7788,35 +6754,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { -"description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { -"description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -7824,76 +6785,64 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { -"description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -7903,84 +6852,70 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { -"description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "GoogleCloudSecuritycenterV2SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { -"description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { -"description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { -"$ref": "GoogleCloudSecuritycenterV2Allowed", -"description": "Tuple with allowed rules." +"$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { -"$ref": "GoogleCloudSecuritycenterV2Denied", -"description": "Tuple with denied rules." +"$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -7990,37 +6925,30 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { -"description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { -"description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { -"description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { -"description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { -"description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { -"description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -8028,60 +6956,51 @@ false "INSIGHT" ], "enumDescriptions": [ -"Unspecified issue type.", -"Chokepoint issue type.", -"Toxic combination issue type.", -"Insight issue type." +"", +"", +"", +"" ], "type": "string" }, "lastObservationTime": { -"description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { -"$ref": "GoogleCloudSecuritycenterV2IssueMute", -"description": "The mute information of the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { -"description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { -"$ref": "GoogleCloudSecuritycenterV2IssueResource", -"description": "The primary resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { -"description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { -"description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { -"description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { -"description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { -"description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8090,31 +7009,29 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified severity.", -"Critical severity.", -"High severity.", -"Medium severity.", -"Low severity." +"", +"", +"", +"", +"" ], "type": "string" }, "state": { -"description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ -"Unspecified state.", -"Active state.", -"Inactive state." +"", +"", +"" ], "readOnly": true, "type": "string" }, "updateTime": { -"description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8123,11 +7040,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { -"description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { -"description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -8139,14 +7054,14 @@ false "THREAT" ], "enumDescriptions": [ -"Unspecified domain category.", -"Issues in the AI domain.", -"Issues in the code domain.", -"Issues in the container domain.", -"Issues in the data domain.", -"Issues in the identity and access domain.", -"Issues in the vulnerability domain.", -"Issues in the threat domain." +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -8154,75 +7069,62 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { -"description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", -"description": "The CVE of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { -"description": "The name of the finding.", "type": "string" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", -"description": "The security bulletin of the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { -"description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { -"description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { -"description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { -"description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { -"description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { -"description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { -"description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { -"description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ -"Unspecified mute state.", -"Not muted.", -"Muted." +"", +"", +"" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { -"description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -8230,35 +7132,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { -"description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", -"description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", -"description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", -"description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { -"description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -8266,112 +7160,92 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"Unspecified cloud provider.", -"Google Cloud.", -"Amazon Web Services.", -"Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", -"description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { -"description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { -"description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { -"description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the AppHub application." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { -"description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { -"description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { -"description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { -"description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -8381,22 +7255,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -8405,11 +7275,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -8417,11 +7287,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -8430,11 +7298,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -8442,93 +7310,75 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { -"description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", -"description": "The AWS account of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { -"description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { -"description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { -"description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { -"description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { -"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", -"description": "The Azure subscription of the resource associated with the issue." +"$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { -"description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { -"description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { -"description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { -"description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { -"description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { -"description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", -"description": "The aggregated count of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { -"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", -"description": "The context of the security context." +"$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { -"description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { -"description": "Aggregation key.", "type": "string" }, "value": { -"description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -8536,15 +7386,12 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { -"description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { -"description": "Context type.", "type": "string" }, "values": { -"description": "Context values.", "items": { "type": "string" }, @@ -8554,24 +7401,19 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Job": { -"description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -8580,11 +7422,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -8593,96 +7435,78 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -8692,52 +7516,42 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { -"description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -8747,11 +7561,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -8771,28 +7583,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -8936,152 +7747,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -9100,26 +7910,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -9263,210 +8072,199 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { -"description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { -"description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { -"description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { -"description": "A description of the mute config.", "type": "string" }, "expiryTime": { -"description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { -"description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { -"description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { -"description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { -"description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ -"Unused.", -"A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", -"A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9475,55 +8273,45 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "GoogleCloudSecuritycenterV2StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { -"description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -9533,196 +8321,157 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { -"description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { -"$ref": "GoogleCloudSecuritycenterV2Finding", -"description": "If it's a Finding based notification config, this field will be populated." +"$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { -"description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { -"$ref": "GoogleCloudSecuritycenterV2Resource", -"description": "The Cloud resource tied to this notification's Finding." +"$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { -"description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { -"description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { -"description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { -"description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -9730,16 +8479,13 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -9747,62 +8493,50 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Process": { -"description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "File information for the process executable." +"$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "GoogleCloudSecuritycenterV2File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -9810,70 +8544,58 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { -"description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { -"description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -9881,35 +8603,27 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { -"description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplication", -"description": "The ADC application associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", -"description": "The ADC template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { -"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", -"description": "The ADC shared template associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplication", -"description": "The App Hub application this resource belongs to." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AwsMetadata", -"description": "The AWS metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { -"$ref": "GoogleCloudSecuritycenterV2AzureMetadata", -"description": "The Azure metadata associated with the finding." +"$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { -"description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9917,91 +8631,74 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "displayName": { -"description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { -"$ref": "GcpMetadata", -"description": "The Google Cloud metadata associated with the finding." +"$ref": "GcpMetadata" }, "location": { -"description": "The region or location of the service (if applicable).", "type": "string" }, "name": { -"description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { -"$ref": "GoogleCloudSecuritycenterV2ResourcePath", -"description": "Provides the path to the resource within the resource hierarchy." +"$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { -"description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { -"description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { -"description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { -"description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", -"description": "Consumer provided attributes for the application" +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { -"description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { -"description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { -"description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", -"description": "User-defined criticality information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { -"description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { -"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", -"description": "User-defined environment information." +"$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { -"description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -10011,22 +8708,18 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { -"description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { -"description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { -"description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { -"description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -10035,11 +8728,11 @@ false "LOW" ], "enumDescriptions": [ -"Unspecified type.", -"Mission critical service, application or workload.", -"High impact.", -"Medium impact.", -"Low impact." +"", +"", +"", +"", +"" ], "type": "string" } @@ -10047,11 +8740,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { -"description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { -"description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -10060,11 +8751,11 @@ false "DEVELOPMENT" ], "enumDescriptions": [ -"Unspecified type.", -"Production environment.", -"Staging environment.", -"Test environment.", -"Development environment." +"", +"", +"", +"", +"" ], "type": "string" } @@ -10072,11 +8763,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -10086,19 +8775,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -10112,16 +8797,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -10129,11 +8814,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { -"description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { -"description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -10141,40 +8824,34 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "createTime": { -"description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { -"description": "Description of the resource value configuration.", "type": "string" }, "name": { -"description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, -"description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { -"description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { -"description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10183,31 +8860,27 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "scope": { -"description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { -"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", -"description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." +"$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { -"description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { -"description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10216,90 +8889,74 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { -"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { -"$ref": "GoogleCloudSecuritycenterV2SecretFilePath", -"description": "The file containing the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { -"$ref": "GoogleCloudSecuritycenterV2SecretStatus", -"description": "The status of the secret." +"$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { -"description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { -"description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -10308,11 +8965,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -10320,114 +8977,91 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { -"description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { -"description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10436,16 +9070,15 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" }, "mediumSensitivityMapping": { -"description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10454,11 +9087,11 @@ false "NONE" ], "enumDescriptions": [ -"Unspecific value", -"High resource value", -"Medium resource value", -"Low resource value", -"No resource value, e.g. ignore these resources" +"", +"", +"", +"", +"" ], "type": "string" } @@ -10466,11 +9099,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -10479,11 +9110,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -10491,31 +9122,25 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -10523,10 +9148,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -10534,11 +9159,9 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { -"description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -10546,67 +9169,55 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -10616,18 +9227,15 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -10637,74 +9245,61 @@ false "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { -"$ref": "GoogleCloudSecuritycenterV2Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The fixed package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { -"$ref": "GoogleCloudSecuritycenterV2Package", -"description": "The offending package is relevant to the finding." +"$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupMembership": { -"description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { -"description": "ID of the group.", "type": "string" }, "groupType": { -"description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ -"Default value.", -"Group represents a toxic combination.", -"Group represents a chokepoint." +"", +"", +"" ], "type": "string" } @@ -10712,76 +9307,64 @@ false "type": "object" }, "HttpResponse": { -"description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { -"description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { -"description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { -"description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { -"description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ -"Unspecified.", -"Addition of a Binding.", -"Removal of a Binding." +"", +"", +"" ], "type": "string" }, "member": { -"description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { -"description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "Indicator": { -"description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { -"description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { -"description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { -"description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { -"description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -10791,84 +9374,70 @@ false "type": "object" }, "InfoType": { -"description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { -"description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { -"$ref": "SensitivityScore", -"description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." +"$ref": "SensitivityScore" }, "version": { -"description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { -"description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { -"description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { -"description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { -"description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { -"$ref": "Allowed", -"description": "Tuple with allowed rules." +"$ref": "Allowed" }, "denied": { -"$ref": "Denied", -"description": "Tuple with denied rules." +"$ref": "Denied" }, "destinationIpRanges": { -"description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { -"description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ -"Unspecified direction value.", -"Ingress direction value.", -"Egress direction value." +"", +"", +"" ], "type": "string" }, "exposedServices": { -"description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { -"description": "If source IP ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, @@ -10878,24 +9447,19 @@ false "type": "object" }, "Job": { -"description": "Describes a job", "id": "Job", "properties": { "errorCode": { -"description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { -"description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { -"description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { -"description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -10904,11 +9468,11 @@ false "FAILED" ], "enumDescriptions": [ -"Unspecified represents an unknown state and should not be used.", -"Job is scheduled and pending for run", -"Job in progress", -"Job has completed with success", -"Job has completed but with failure" +"", +"", +"", +"", +"" ], "readOnly": true, "type": "string" @@ -10917,96 +9481,78 @@ false "type": "object" }, "KernelRootkit": { -"description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { -"description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { -"description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { -"description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { -"description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { -"description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { -"description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { -"description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { -"description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { -"description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { -"description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { -"description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { -"description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { -"description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { -"description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { -"description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { -"description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { -"description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -11016,52 +9562,42 @@ false "type": "object" }, "Label": { -"description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { -"description": "Name of the label.", "type": "string" }, "value": { -"description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "LoadBalancer": { -"description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { -"description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { -"description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { -"$ref": "CloudLoggingEntry", -"description": "An individual entry in a log stored in Cloud Logging." +"$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { -"description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { -"description": "The binary family.", "type": "string" }, "detections": { -"description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -11071,11 +9607,9 @@ false "type": "object" }, "MitreAttack": { -"description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { -"description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -11095,28 +9629,27 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "additionalTechniques": { -"description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -11260,152 +9793,151 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "primaryTactic": { -"description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -11424,26 +9956,25 @@ false "IMPACT" ], "enumDescriptions": [ -"Unspecified value.", -"TA0043", -"TA0042", -"TA0001", -"TA0002", -"TA0003", -"TA0004", -"TA0005", -"TA0006", -"TA0007", -"TA0008", -"TA0009", -"TA0011", -"TA0010", -"TA0040" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "primaryTechniques": { -"description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -11587,207 +10118,196 @@ false "FINANCIAL_THEFT" ], "enumDescriptions": [ -"Unspecified value.", -"T1001", -"T1001.002", -"T1003", -"T1003.007", -"T1003.008", -"T1005", -"T1020", -"T1027", -"T1027.003", -"T1027.004", -"T1027.010", -"T1029", -"T1033", -"T1036", -"T1036.005", -"T1037", -"T1037.005", -"T1046", -"T1053", -"T1053.003", -"T1053.007", -"T1055", -"T1056", -"T1056.001", -"T1057", -"T1059", -"T1059.004", -"T1059.006", -"T1068", -"T1069", -"T1069.003", -"T1070", -"T1070.002", -"T1070.003", -"T1070.004", -"T1070.006", -"T1070.008", -"T1071", -"T1071.004", -"T1072", -"T1078", -"T1078.001", -"T1078.003", -"T1078.004", -"T1083", -"T1087.001", -"T1090", -"T1090.002", -"T1090.003", -"T1098", -"T1098.001", -"T1098.003", -"T1098.004", -"T1098.006", -"T1104", -"T1105", -"T1106", -"T1110", -"T1119", -"T1129", -"T1132", -"T1132.001", -"T1134", -"T1134.001", -"T1136", -"T1136.001", -"T1140", -"T1190", -"T1195", -"T1195.001", -"T1203", -"T1204", -"T1212", -"T1222.002", -"T1484", -"T1485", -"T1486", -"T1489", -"T1490", -"T1495", -"T1496", -"T1498", -"T1526", -"T1528", -"T1531", -"T1537", -"T1539", -"T1543", -"T1546", -"T1547", -"T1547.006", -"T1547.009", -"T1548", -"T1548.001", -"T1548.003", -"T1552", -"T1552.001", -"T1552.003", -"T1552.004", -"T1553", -"T1553.004", -"T1554", -"T1555", -"T1556", -"T1556.003", -"T1556.006", -"T1562", -"T1562.001", -"T1562.006", -"T1562.012", -"T1564", -"T1564.001", -"T1564.002", -"T1567", -"T1567.002", -"T1568", -"T1570", -"T1574", -"T1574.006", -"T1578", -"T1578.001", -"T1580", -"T1587", -"T1587.001", -"T1588", -"T1588.001", -"T1588.006", -"T1595", -"T1595.001", -"T1608", -"T1608.001", -"T1609", -"T1610", -"T1611", -"T1613", -"T1620", -"T1649", -"T1657" +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" }, "type": "array" }, "version": { -"description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { -"description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { -"description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { -"$ref": "StaticMute", -"description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." +"$ref": "StaticMute" } }, "type": "object" }, "Network": { -"description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { -"description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { -"description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { -"description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { -"description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { -"description": "Kubernetes node pool name.", "type": "string" }, "nodes": { -"description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -11797,177 +10317,142 @@ false "type": "object" }, "Notebook": { -"description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { -"description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { -"description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { -"description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { -"description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "Object": { -"description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { -"description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { -"description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { -"description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { -"description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "OrgPolicy": { -"description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { -"description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "Package": { -"description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { -"description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { -"description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { -"description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { -"description": "The version of the package.", "type": "string" } }, "type": "object" }, "Pipeline": { -"description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { -"description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { -"description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { -"description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { -"description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { -"description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { -"description": "Kubernetes Pod name.", "type": "string" }, "ns": { -"description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "PolicyDriftDetails": { -"description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { -"description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { -"description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { -"description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { -"description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { -"description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { -"description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { -"description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { -"description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -11975,16 +10460,13 @@ false "type": "object" }, "PortRange": { -"description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { -"description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { -"description": "Minimum port value.", "format": "int64", "type": "string" } @@ -11992,62 +10474,50 @@ false "type": "object" }, "Process": { -"description": "Represents an operating system process.", "id": "Process", "properties": { "args": { -"description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { -"description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { -"$ref": "File", -"description": "File information for the process executable." +"$ref": "File" }, "envVariables": { -"description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { -"description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { -"description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { -"description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { -"description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { -"description": "The process ID.", "format": "int64", "type": "string" }, "script": { -"$ref": "File", -"description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." +"$ref": "File" }, "userId": { -"description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -12055,51 +10525,43 @@ false "type": "object" }, "ProcessSignature": { -"description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { -"$ref": "MemoryHashSignature", -"description": "Signature indicating that a binary family was matched." +"$ref": "MemoryHashSignature" }, "signatureType": { -"description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ -"The default signature type.", -"Used for signatures concerning processes.", -"Used for signatures concerning disks." +"", +"", +"" ], "type": "string" }, "yaraRuleSignature": { -"$ref": "YaraRuleSignature", -"description": "Signature indicating that a YARA rule was matched." +"$ref": "YaraRuleSignature" } }, "type": "object" }, "RapidVulnerabilityDetectionSettings": { -"description": "Resource capturing the settings for the Rapid Vulnerability Detection service.", "id": "RapidVulnerabilityDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.", "type": "object" }, "name": { -"description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12107,15 +10569,14 @@ false "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12124,41 +10585,33 @@ false "type": "object" }, "Reference": { -"description": "Additional Links", "id": "Reference", "properties": { "source": { -"description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { -"description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { -"description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { -"description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { -"description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { -"description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { -"description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -12166,11 +10619,9 @@ false "type": "object" }, "ResourcePath": { -"description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { -"description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -12180,19 +10631,15 @@ false "type": "object" }, "ResourcePathNode": { -"description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { -"description": "The display name of the resource this node represents.", "type": "string" }, "id": { -"description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { -"description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -12206,16 +10653,16 @@ false "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ -"Node type is unspecified.", -"The node represents a Google Cloud organization.", -"The node represents a Google Cloud folder.", -"The node represents a Google Cloud project.", -"The node represents an AWS organization.", -"The node represents an AWS organizational unit.", -"The node represents an AWS account.", -"The node represents an Azure management group.", -"The node represents an Azure subscription.", -"The node represents an Azure resource group." +"", +"", +"", +"", +"", +"", +"", +"", +"", +"" ], "type": "string" } @@ -12223,90 +10670,74 @@ false "type": "object" }, "Role": { -"description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { -"description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ -"Role type is not specified.", -"Kubernetes Role.", -"Kubernetes ClusterRole." +"", +"", +"" ], "type": "string" }, "name": { -"description": "Role name.", "type": "string" }, "ns": { -"description": "Role namespace.", "type": "string" } }, "type": "object" }, "Secret": { -"description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { -"$ref": "SecretEnvironmentVariable", -"description": "The environment variable containing the secret." +"$ref": "SecretEnvironmentVariable" }, "filePath": { -"$ref": "SecretFilePath", -"description": "The file containing the secret." +"$ref": "SecretFilePath" }, "status": { -"$ref": "SecretStatus", -"description": "The status of the secret." +"$ref": "SecretStatus" }, "type": { -"description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { -"description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { -"description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { -"description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { -"description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { -"description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { -"description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { -"description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -12315,11 +10746,11 @@ false "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ -"Default value; no validation was attempted.", -"There is no mechanism to validate the secret.", -"Validation is supported but the validation failed.", -"The secret is confirmed to be invalid.", -"The secret is confirmed to be valid." +"", +"", +"", +"", +"" ], "type": "string" } @@ -12327,49 +10758,39 @@ false "type": "object" }, "SecurityBulletin": { -"description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { -"description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { -"description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { -"description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterSettings": { -"description": "Resource capturing the settings for Security Center.", "id": "SecurityCenterSettings", "properties": { "cryptoKeyName": { -"description": "The KMS key name used for CMEK encryption. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name}", "type": "string" }, "logSinkProject": { -"description": "The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding.", "type": "string" }, "name": { -"description": "The resource name of the SecurityCenterSettings. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "type": "string" }, "onboardingTime": { -"description": "Output only. Timestamp of when the customer organization was onboarded to SCC.", "format": "google-datetime", "readOnly": true, "type": "string" }, "orgServiceAccount": { -"description": "Output only. The organization level service account to be used for security center components.", "readOnly": true, "type": "string" } @@ -12377,27 +10798,22 @@ false "type": "object" }, "SecurityHealthAnalyticsSettings": { -"description": "Resource capturing the settings for the Security Health Analytics service.", "id": "SecurityHealthAnalyticsSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "type": "string" }, "serviceAccount": { -"description": "Output only. The service account used by Security Health Analytics detectors.", "readOnly": true, "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12405,15 +10821,14 @@ false "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12422,94 +10837,75 @@ false "type": "object" }, "SecurityMarks": { -"description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { -"description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, -"description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { -"description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { -"description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { -"description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { -"description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { -"description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { -"description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { -"description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { -"description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { -"description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { -"description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { -"description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { -"description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { -"description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { -"description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { -"description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { -"description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -12518,11 +10914,11 @@ false "SENSITIVITY_HIGH" ], "enumDescriptions": [ -"Unused.", -"No sensitive information detected. The resource isn't publicly accessible.", -"Unable to determine sensitivity.", -"Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", -"High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." +"", +"", +"", +"", +"" ], "type": "string" } @@ -12530,31 +10926,25 @@ false "type": "object" }, "ServiceAccountDelegationInfo": { -"description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { -"description": "The email address of a Google account.", "type": "string" }, "principalSubject": { -"description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "StaticMute": { -"description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { -"description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { -"description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -12562,10 +10952,10 @@ false "UNDEFINED" ], "enumDescriptions": [ -"Unspecified.", -"Finding has been muted.", -"Finding has been unmuted.", -"Finding has never been muted/unmuted." +"", +"", +"", +"" ], "type": "string" } @@ -12573,11 +10963,9 @@ false "type": "object" }, "Subject": { -"description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { -"description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -12585,38 +10973,32 @@ false "GROUP" ], "enumDescriptions": [ -"Authentication is not specified.", -"User with valid certificate.", -"Users managed by Kubernetes API with credentials stored as secrets.", -"Collection of users." +"", +"", +"", +"" ], "type": "string" }, "name": { -"description": "Name for the subject.", "type": "string" }, "ns": { -"description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "Subscription": { -"description": "Resource capturing the state of an organization's subscription.", "id": "Subscription", "properties": { "details": { -"$ref": "Details", -"description": "The details of the most recent active subscription. If there has never been a subscription this will be empty." +"$ref": "Details" }, "name": { -"description": "The resource name of the subscription. Format: organizations/{organization}/subscription", "type": "string" }, "tier": { -"description": "The tier of SCC features this organization currently has access to.", "enum": [ "TIER_UNSPECIFIED", "STANDARD", @@ -12625,11 +11007,11 @@ false "ENTERPRISE_MC" ], "enumDescriptions": [ -"Default value. This value is unused.", -"The standard tier.", -"The premium tier.", -"The enterprise tier.", -"The enterprise MC tier." +"", +"", +"", +"", +"" ], "type": "string" } @@ -12637,48 +11019,38 @@ false "type": "object" }, "TicketInfo": { -"description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { -"description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { -"description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { -"description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { -"description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { -"description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { -"description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { -"description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { -"description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { -"description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -12688,18 +11060,15 @@ false "type": "object" }, "VertexAi": { -"description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { -"description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { -"description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -12709,27 +11078,22 @@ false "type": "object" }, "VirtualMachineThreatDetectionSettings": { -"description": "Resource capturing the settings for the Virtual Machine Threat Detection service.", "id": "VirtualMachineThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "type": "string" }, "serviceAccount": { -"description": "Output only. The service account used by Virtual Machine Threat Detection detectors.", "readOnly": true, "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12737,15 +11101,14 @@ false "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12754,46 +11117,37 @@ false "type": "object" }, "Vulnerability": { -"description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { -"$ref": "Cve", -"description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" +"$ref": "Cve" }, "cwes": { -"description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { -"$ref": "Package", -"description": "The fixed package is relevant to the finding." +"$ref": "Package" }, "offendingPackage": { -"$ref": "Package", -"description": "The offending package is relevant to the finding." +"$ref": "Package" }, "providerRiskScore": { -"description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { -"description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { -"$ref": "SecurityBulletin", -"description": "The security bulletin is relevant to this finding." +"$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { -"description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -12801,18 +11155,15 @@ false "format": "int64", "type": "string" }, -"description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { -"description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { -"description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -12820,23 +11171,20 @@ false "MICROSOFT_AZURE" ], "enumDescriptions": [ -"The cloud provider is unspecified.", -"The cloud provider is Google Cloud.", -"The cloud provider is Amazon Web Services.", -"The cloud provider is Microsoft Azure." +"", +"", +"", +"" ], "type": "string" }, "findingCount": { -"$ref": "VulnerabilityCountBySeverity", -"description": "The vulnerability count by severity." +"$ref": "VulnerabilityCountBySeverity" }, "name": { -"description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { -"description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -12844,22 +11192,18 @@ false "type": "object" }, "WebSecurityScannerSettings": { -"description": "Resource capturing the settings for the Web Security Scanner service.", "id": "WebSecurityScannerSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, -"description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { -"description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "type": "string" }, "serviceEnablementState": { -"description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12867,15 +11211,14 @@ false "DISABLED" ], "enumDescriptions": [ -"Default value. This value is unused.", -"State is inherited from the parent resource.", -"State is enabled.", -"State is disabled." +"", +"", +"", +"" ], "type": "string" }, "updateTime": { -"description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12884,11 +11227,9 @@ false "type": "object" }, "YaraRuleSignature": { -"description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { -"description": "The name of the YARA rule.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/servicecontrol.v1.json b/googleapiclient/discovery_cache/documents/servicecontrol.v1.json index 00ff874208..8aa13f6e4f 100644 --- a/googleapiclient/discovery_cache/documents/servicecontrol.v1.json +++ b/googleapiclient/discovery_cache/documents/servicecontrol.v1.json @@ -197,7 +197,7 @@ } } }, -"revision": "20260428", +"revision": "20260512", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { @@ -422,6 +422,10 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, +"credentialId": { +"description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", +"type": "string" +}, "oauth": { "$ref": "Oauth", "description": "Attributes of the OAuth token associated with the request." diff --git a/googleapiclient/discovery_cache/documents/servicecontrol.v2.json b/googleapiclient/discovery_cache/documents/servicecontrol.v2.json index d67a2a8bec..f9b3a91dac 100644 --- a/googleapiclient/discovery_cache/documents/servicecontrol.v2.json +++ b/googleapiclient/discovery_cache/documents/servicecontrol.v2.json @@ -169,7 +169,7 @@ } } }, -"revision": "20260428", +"revision": "20260512", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "Api": { @@ -363,6 +363,10 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, +"credentialId": { +"description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", +"type": "string" +}, "oauth": { "$ref": "Oauth", "description": "Attributes of the OAuth token associated with the request." diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json index 85e759255f..d2c249cbac 100644 --- a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json +++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "servicedirectory.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -889,7 +889,7 @@ } } }, -"revision": "20260327", +"revision": "20260526", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json index 44b96057df..2cf235255a 100644 --- a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json @@ -135,7 +135,7 @@ ] }, "list": { -"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", +"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "servicedirectory.projects.locations.list", @@ -144,7 +144,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -977,7 +977,7 @@ } } }, -"revision": "20260327", +"revision": "20260526", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json index f9603b7f5d..7ddeb56927 100644 --- a/googleapiclient/discovery_cache/documents/storage.v1.json +++ b/googleapiclient/discovery_cache/documents/storage.v1.json @@ -253,7 +253,7 @@ "location": "northamerica-south1" } ], -"etag": "\"3136383236333536383830353031333435373432\"", +"etag": "\"3135343638383433383330343638393536313030\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -4605,7 +4605,7 @@ } } }, -"revision": "20260408", +"revision": "20260524", "rootUrl": "https://storage.googleapis.com/", "schemas": { "AdvanceRelocateBucketOperationRequest": { @@ -5118,6 +5118,16 @@ "description": "Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.", "format": "int32", "type": "integer" +}, +"sizeAboveBytes": { +"description": "Objects having a size greater than this value in bytes will be matched.", +"format": "int64", +"type": "string" +}, +"sizeBelowBytes": { +"description": "Objects having a size less than this value in bytes will be matched.", +"format": "int64", +"type": "string" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/storagebatchoperations.v1.json b/googleapiclient/discovery_cache/documents/storagebatchoperations.v1.json index a0c42d82ce..a434bb8060 100644 --- a/googleapiclient/discovery_cache/documents/storagebatchoperations.v1.json +++ b/googleapiclient/discovery_cache/documents/storagebatchoperations.v1.json @@ -195,7 +195,7 @@ ], "parameters": { "name": { -"description": "Required. The `name` of the job to cancel. Format: projects/{project_id}/locations/global/jobs/{job_id}.", +"description": "Required. The `name` of the job to cancel. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -223,19 +223,19 @@ ], "parameters": { "jobId": { -"description": "Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123.", +"description": "Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123.", "location": "query", "type": "string" }, "parent": { -"description": "Required. Value for parent.", +"description": "Required. The value for parent.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -261,19 +261,19 @@ ], "parameters": { "force": { -"description": "Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations).", +"description": "Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations).", "location": "query", "type": "boolean" }, "name": { -"description": "Required. The `name` of the job to delete. Format: projects/{project_id}/locations/global/jobs/{job_id} .", +"description": "Required. The `name` of the job to delete. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, "type": "string" }, "requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -296,7 +296,7 @@ ], "parameters": { "name": { -"description": "Required. `name` of the job to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id} .", +"description": "Required. The `name` of the job to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -326,12 +326,12 @@ "type": "string" }, "orderBy": { -"description": "Optional. Field to sort by. Supported fields are name, create_time.", +"description": "Optional. Field to sort by. Supported fields are `name` and `create_time`.", "location": "query", "type": "string" }, "pageSize": { -"description": "Optional. The list page size. default page size is 100.", +"description": "Optional. The list page size. The default page size is 100.", "format": "int32", "location": "query", "type": "integer" @@ -371,7 +371,7 @@ ], "parameters": { "name": { -"description": "Required. `name` of the bucket operation to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}.", +"description": "Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/bucketOperations/[^/]+$", "required": true, @@ -401,7 +401,7 @@ "type": "string" }, "orderBy": { -"description": "Optional. Field to sort by. Supported fields are name, create_time.", +"description": "Optional. Field to sort by. Supported fields are `name` and `create_time`.", "location": "query", "type": "string" }, @@ -417,7 +417,7 @@ "type": "string" }, "parent": { -"description": "Required. Format: projects/{project_id}/locations/global/jobs/{job_id}.", +"description": "Required. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -569,9 +569,30 @@ } } }, -"revision": "20260429", +"revision": "20260601", "rootUrl": "https://storagebatchoperations.googleapis.com/", "schemas": { +"AccessControlsUpdates": { +"description": "Represents updates to existing access-control entries on an object.", +"id": "AccessControlsUpdates", +"properties": { +"grants": { +"description": "Optional. Grants to add or update. If a grant for same entity exists, its role is updated.", +"items": { +"$ref": "ObjectAccessControl" +}, +"type": "array" +}, +"removeEntities": { +"description": "Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`.", +"items": { +"type": "string" +}, +"type": "array" +} +}, +"type": "object" +}, "Bucket": { "description": "Describes configuration of a single bucket and its objects to be transformed.", "id": "Bucket", @@ -596,7 +617,7 @@ "id": "BucketList", "properties": { "buckets": { -"description": "Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned.", +"description": "Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs.", "items": { "$ref": "Bucket" }, @@ -647,13 +668,17 @@ "description": "Specifies objects in a manifest file." }, "name": { -"description": "Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}.", +"description": "Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}`.", "type": "string" }, "prefixList": { "$ref": "PrefixList", "description": "Specifies objects matching a prefix set." }, +"projectSource": { +"$ref": "ProjectSource", +"description": "Specifies objects matching the object filters in a project source." +}, "putMetadata": { "$ref": "PutMetadata", "description": "Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time." @@ -666,6 +691,10 @@ "$ref": "RewriteObject", "description": "Rewrite the object and updates metadata like KMS key." }, +"setObjectAcls": { +"$ref": "SetObjectAcls", +"description": "Updates object ACLs." +}, "startTime": { "description": "Output only. The time that the BucketOperation was started.", "format": "google-datetime", @@ -705,7 +734,7 @@ "id": "CancelJobRequest", "properties": { "requestId": { -"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "type": "string" } }, @@ -783,7 +812,7 @@ "id": "CustomContextUpdates", "properties": { "keysToClear": { -"description": "Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`.", +"description": "Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`.", "items": { "type": "string" }, @@ -804,7 +833,7 @@ "id": "DeleteObject", "properties": { "permanentObjectDeletionEnabled": { -"description": "Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation.", +"description": "Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation.", "type": "boolean" } }, @@ -897,8 +926,31 @@ }, "type": "object" }, +"Expr": { +"description": "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.", +"id": "Expr", +"properties": { +"description": { +"description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", +"type": "string" +}, +"expression": { +"description": "Textual representation of an expression in Common Expression Language syntax.", +"type": "string" +}, +"location": { +"description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", +"type": "string" +}, +"title": { +"description": "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.", +"type": "string" +} +}, +"type": "object" +}, "Job": { -"description": "The Storage Batch Operations Job description.", +"description": "The storage batch operations job description.", "id": "Job", "properties": { "bucketList": { @@ -927,11 +979,11 @@ "description": "Delete objects." }, "description": { -"description": "Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.", +"description": "Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded.", "type": "string" }, "dryRun": { -"description": "Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed.", +"description": "Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed.", "type": "boolean" }, "errorSummaries": { @@ -943,7 +995,7 @@ "type": "array" }, "isMultiBucketJob": { -"description": "Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs.", +"description": "Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs.", "readOnly": true, "type": "boolean" }, @@ -952,12 +1004,16 @@ "description": "Optional. Logging configuration." }, "name": { -"description": "Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project}/locations/global/jobs/{job_id} . For example: \"projects/123456/locations/global/jobs/job01\".", +"description": "Identifier. The resource name of the job. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project.", "type": "string" }, +"projectSource": { +"$ref": "ProjectSource", +"description": "Specifies a project source and filters to identify objects to be transformed." +}, "putMetadata": { "$ref": "PutMetadata", -"description": "Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time." +"description": "Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`." }, "putObjectHold": { "$ref": "PutObjectHold", @@ -973,6 +1029,10 @@ "readOnly": true, "type": "string" }, +"setObjectAcls": { +"$ref": "SetObjectAcls", +"description": "Updates object ACLs." +}, "state": { "description": "Output only. State of the job.", "enum": [ @@ -1172,18 +1232,33 @@ "id": "Manifest", "properties": { "manifestLocation": { -"description": "Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon.", +"description": "Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored.", +"type": "string" +} +}, +"type": "object" +}, +"ObjectAccessControl": { +"description": "Represents an access control entry on an object.", +"id": "ObjectAccessControl", +"properties": { +"entity": { +"description": "Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers`", +"type": "string" +}, +"role": { +"description": "Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object.", "type": "string" } }, "type": "object" }, "ObjectCustomContextPayload": { -"description": "Describes the payload of a user defined object custom context.", +"description": "Describes the payload of a user-defined object custom context.", "id": "ObjectCustomContextPayload", "properties": { "value": { -"description": "The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload.", +"description": "The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload.", "type": "string" } }, @@ -1194,20 +1269,20 @@ "id": "ObjectRetention", "properties": { "retainUntilTime": { -"description": "Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'.", +"description": "Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings.", "type": "string" }, "retentionMode": { -"description": "Required. The retention mode of the object.", +"description": "Required. The retention mode.", "enum": [ "RETENTION_MODE_UNSPECIFIED", "LOCKED", "UNLOCKED" ], "enumDescriptions": [ -"If set and retain_until_time is empty, clears the retention.", -"Sets the retention mode to locked.", -"Sets the retention mode to unlocked." +"The retention mode isn't specified.", +"When the retention mode is `LOCKED`, the `retainUntilTime` can't be removed or reduced.", +"When the retention mode is `UNLOCKED`, the `retainUntilTime` can be removed or modified." ], "type": "string" } @@ -1276,7 +1351,7 @@ "readOnly": true }, "operation": { -"description": "Output only. The unique operation resource name. Format: projects/{project}/locations/global/operations/{operation}.", +"description": "Output only. The unique operation resource name. Format: projects/{project_id}/locations/global/operations/{operation}.", "readOnly": true, "type": "string" }, @@ -1293,7 +1368,7 @@ "id": "PrefixList", "properties": { "includedObjectPrefixes": { -"description": "Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket.", +"description": "Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''`", "items": { "type": "string" }, @@ -1302,44 +1377,81 @@ }, "type": "object" }, +"ProjectSource": { +"description": "Describes the project source where the objects satisfying the filters will be transformed.", +"id": "ProjectSource", +"properties": { +"bucketFilters": { +"$ref": "Expr", +"description": "Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed." +}, +"dryRunJobId": { +"description": "Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`.", +"type": "string" +}, +"insightsDatasetConfig": { +"description": "Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`.", +"type": "string" +}, +"objectFilters": { +"$ref": "Expr", +"description": "Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed." +}, +"project": { +"description": "Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456.", +"type": "string" +}, +"snapshotTime": { +"description": "Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +}, +"targetLocations": { +"$ref": "TargetLocations", +"description": "Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`." +} +}, +"type": "object" +}, "PutMetadata": { "description": "Describes options for object metadata update.", "id": "PutMetadata", "properties": { "cacheControl": { -"description": "Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data.", +"description": "Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data).", "type": "string" }, "contentDisposition": { -"description": "Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation.", +"description": "Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition).", "type": "string" }, "contentEncoding": { -"description": "Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding.", +"description": "Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding).", "type": "string" }, "contentLanguage": { -"description": "Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language.", +"description": "Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language).", "type": "string" }, "contentType": { -"description": "Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type", +"description": "Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type).", "type": "string" }, "customMetadata": { "additionalProperties": { "type": "string" }, -"description": "Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata", +"description": "Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata).", "type": "object" }, "customTime": { -"description": "Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time.", +"description": "Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time).", "type": "string" }, "objectRetention": { "$ref": "ObjectRetention", -"description": "Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock" +"description": "Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time)." } }, "type": "object" @@ -1349,28 +1461,28 @@ "id": "PutObjectHold", "properties": { "eventBasedHold": { -"description": "Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.", +"description": "Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.", "enum": [ "HOLD_STATUS_UNSPECIFIED", "SET", "UNSET" ], "enumDescriptions": [ -"Default value, Object hold status will not be changed.", +"Default value, Object hold status isn't changed.", "Places the hold.", "Releases the hold." ], "type": "string" }, "temporaryHold": { -"description": "Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced.", +"description": "Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced.", "enum": [ "HOLD_STATUS_UNSPECIFIED", "SET", "UNSET" ], "enumDescriptions": [ -"Default value, Object hold status will not be changed.", +"Default value, Object hold status isn't changed.", "Places the hold.", "Releases the hold." ], @@ -1384,12 +1496,41 @@ "id": "RewriteObject", "properties": { "kmsKey": { -"description": "Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: \"projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key\". The object will be rewritten and set with the specified KMS key.", +"description": "Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key.", +"type": "string" +}, +"storageClass": { +"description": "Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage.", +"enum": [ +"STORAGE_CLASS_UNSPECIFIED", +"STANDARD", +"NEARLINE", +"COLDLINE", +"ARCHIVE" +], +"enumDescriptions": [ +"The storage class is not specified.", +"Standard storage class.", +"Nearline storage class.", +"Coldline storage class.", +"Archive storage class." +], "type": "string" } }, "type": "object" }, +"SetObjectAcls": { +"description": "Describes options for setting object ACLs.", +"id": "SetObjectAcls", +"properties": { +"accessControlsUpdates": { +"$ref": "AccessControlsUpdates", +"description": "Required. Add, update, or remove grants from the object's existing ACLs." +} +}, +"type": "object" +}, "Status": { "description": "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).", "id": "Status", @@ -1417,12 +1558,31 @@ }, "type": "object" }, +"TargetLocations": { +"description": "Describes the Cloud Storage locations to include in a ProjectSource job.", +"id": "TargetLocations", +"properties": { +"locations": { +"description": "Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema", +"items": { +"type": "string" +}, +"type": "array" +}, +"snapshotTime": { +"description": "Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails.", +"format": "google-datetime", +"type": "string" +} +}, +"type": "object" +}, "UpdateObjectCustomContext": { "description": "Describes options to update object custom contexts.", "id": "UpdateObjectCustomContext", "properties": { "clearAll": { -"description": "If set, must be set to true and all existing object custom contexts will be deleted.", +"description": "If set, must be set to true and all existing object custom contexts are deleted.", "type": "boolean" }, "customContextUpdates": { diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v2.json b/googleapiclient/discovery_cache/documents/tagmanager.v2.json index a571ca5cd9..0c88ad6879 100644 --- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json +++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json @@ -3986,7 +3986,7 @@ } } }, -"revision": "20260511", +"revision": "20260527", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { @@ -6593,12 +6593,14 @@ "enum": [ "decimalSeparatorTypeUnspecified", "period", -"comma" +"comma", +"automatic" ], "enumDescriptions": [ "", "The option to convert a variable value to a number with a period as the decimal separator.", -"The option to convert a variable value to a number with a comma as the decimal separator." +"The option to convert a variable value to a number with a comma as the decimal separator.", +"The option to convert a variable value to a number with automatic decimal separator detection." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json b/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json index efe0624753..a6cfed0f76 100644 --- a/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json +++ b/googleapiclient/discovery_cache/documents/threatintelligence.v1beta.json @@ -20,21 +20,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://threatintelligence.us-central1.rep.googleapis.com/", "location": "us-central1" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://threatintelligence.us-east5.rep.googleapis.com/", -"location": "us-east5" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://threatintelligence.us-west2.rep.googleapis.com/", -"location": "us-west2" -}, -{ -"description": "Regional Endpoint", -"endpointUrl": "https://threatintelligence.us.rep.googleapis.com/", -"location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -832,7 +817,7 @@ } } }, -"revision": "20260513", +"revision": "20260527", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "Alert": { @@ -1122,6 +1107,10 @@ "readOnly": true, "type": "string" }, +"etag": { +"description": "If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned.", +"type": "string" +}, "name": { "description": "Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration}", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json index f53ccf3ec8..a2610b3dda 100644 --- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json +++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json @@ -1464,7 +1464,7 @@ } } }, -"revision": "20260325", +"revision": "20260528", "rootUrl": "https://toolresults.googleapis.com/", "schemas": { "ANR": { @@ -2336,6 +2336,12 @@ "properties": {}, "type": "object" }, +"LicensingProtectionTermination": { +"description": "Licensing protection termination (Pairip) was detected.", +"id": "LicensingProtectionTermination", +"properties": {}, +"type": "object" +}, "ListEnvironmentsResponse": { "description": "Response message for EnvironmentService.ListEnvironments.", "id": "ListEnvironmentsResponse", @@ -3640,7 +3646,8 @@ "deviceOutOfMemory", "logcatCollectionError", "detectedAppSplashScreen", -"assetIssue" +"assetIssue", +"licensingProtectionTermination" ], "enumDescriptions": [ "Default unspecified type. Do not use. For versioning only.", @@ -3675,7 +3682,8 @@ "Device running out of memory was detected", "Problems detected while collecting logcat", "Robo detected a splash screen provided by app (vs. Android OS splash screen).", -"There was an issue with the assets in this test." +"There was an issue with the assets in this test.", +"Licensing protection termination (Pairip) was detected." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json b/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json index 1e396a3456..cfbb582a88 100644 --- a/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json +++ b/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json @@ -99,7 +99,7 @@ "flights": { "methods": { "computeFlightEmissions": { -"description": "Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model) The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", +"description": "Retrieves emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", "flatPath": "v1/flights:computeFlightEmissions", "httpMethod": "POST", "id": "travelimpactmodel.flights.computeFlightEmissions", @@ -114,7 +114,7 @@ } }, "computeScope3FlightEmissions": { -"description": "Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.", +"description": "Retrieves GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.", "flatPath": "v1/flights:computeScope3FlightEmissions", "httpMethod": "POST", "id": "travelimpactmodel.flights.computeScope3FlightEmissions", @@ -146,7 +146,7 @@ } } }, -"revision": "20260325", +"revision": "20260602", "rootUrl": "https://travelimpactmodel.googleapis.com/", "schemas": { "ComputeFlightEmissionsRequest": { diff --git a/googleapiclient/discovery_cache/documents/vault.v1.json b/googleapiclient/discovery_cache/documents/vault.v1.json index 802f93955a..893abc2209 100644 --- a/googleapiclient/discovery_cache/documents/vault.v1.json +++ b/googleapiclient/discovery_cache/documents/vault.v1.json @@ -1208,7 +1208,7 @@ } } }, -"revision": "20251126", +"revision": "20260528", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { @@ -1352,14 +1352,16 @@ "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1827,14 +1829,16 @@ "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1896,14 +1900,16 @@ "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1921,14 +1927,16 @@ "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -2324,14 +2332,16 @@ "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" }, @@ -2886,14 +2896,16 @@ false "MBOX", "PST", "ICS", -"XML" +"XML", +"JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", -"Export as XML. Only available for Gemini." +"Export as XML. Only available for Gemini.", +"Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1.json index c5e9287c08..072b95659e 100644 --- a/googleapiclient/discovery_cache/documents/vmmigration.v1.json +++ b/googleapiclient/discovery_cache/documents/vmmigration.v1.json @@ -2548,7 +2548,7 @@ } } }, -"revision": "20260423", +"revision": "20260521", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -3668,6 +3668,13 @@ ], "type": "string" }, +"disks": { +"description": "Optional. The details of each disk to create.", +"items": { +"$ref": "PersistentDiskDefaults" +}, +"type": "array" +}, "enableIntegrityMonitoring": { "description": "Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.", "type": "boolean" @@ -5960,12 +5967,14 @@ "id": "PersistentDisk", "properties": { "diskUri": { -"description": "The URI of the Persistent Disk.", +"description": "Output only. The URI of the Persistent Disk.", +"readOnly": true, "type": "string" }, "sourceDiskNumber": { -"description": "The ordinal number of the source VM disk.", +"description": "Output only. The ordinal number of the source VM disk.", "format": "int32", +"readOnly": true, "type": "integer" } }, diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json index 2b5262b43a..cd6a5816a9 100644 --- a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json @@ -2548,7 +2548,7 @@ } } }, -"revision": "20260423", +"revision": "20260521", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -3680,6 +3680,13 @@ ], "type": "string" }, +"disks": { +"description": "Optional. The details of each disk to create.", +"items": { +"$ref": "PersistentDiskDefaults" +}, +"type": "array" +}, "enableIntegrityMonitoring": { "description": "Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.", "type": "boolean" @@ -6005,12 +6012,14 @@ "id": "PersistentDisk", "properties": { "diskUri": { -"description": "The URI of the Persistent Disk.", +"description": "Output only. The URI of the Persistent Disk.", +"readOnly": true, "type": "string" }, "sourceDiskNumber": { -"description": "The ordinal number of the source VM disk.", +"description": "Output only. The ordinal number of the source VM disk.", "format": "int32", +"readOnly": true, "type": "integer" } }, diff --git a/googleapiclient/discovery_cache/documents/vmwareengine.v1.json b/googleapiclient/discovery_cache/documents/vmwareengine.v1.json index 29249ac8ce..a5f3896414 100644 --- a/googleapiclient/discovery_cache/documents/vmwareengine.v1.json +++ b/googleapiclient/discovery_cache/documents/vmwareengine.v1.json @@ -169,7 +169,7 @@ ], "parameters": { "extraLocationTypes": { -"description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", +"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1579,6 +1579,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, +"migrateManagementVms": { +"description": "Migrates the management VMs of the PC from the current management cluster to a workload cluster. Post this migration, the provided workload cluster becomes the management cluster", +"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateClouds/{privateCloudsId}:migrateManagementVms", +"httpMethod": "POST", +"id": "vmwareengine.projects.locations.privateClouds.migrateManagementVms", +"parameterOrder": [ +"name" +], +"parameters": { +"name": { +"description": "Required. The resource name of the private cloud whose management vms are getting migrated. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`", +"location": "path", +"pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+$", +"required": true, +"type": "string" +} +}, +"path": "v1/{+name}:migrateManagementVms", +"request": { +"$ref": "MigrateManagementVmsRequest" +}, +"response": { +"$ref": "Operation" +}, +"scopes": [ +"https://www.googleapis.com/auth/cloud-platform" +] +}, "patch": { "description": "Modifies a `PrivateCloud` resource. Only the following fields can be updated: `description`. Only fields specified in `updateMask` are applied. During operation processing, the resource is temporarily in the `ACTIVE` state before the operation fully completes. For that period of time, you can't update the resource. Use the operation status to determine when the processing fully completes.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/privateClouds/{privateCloudsId}", @@ -3714,7 +3742,7 @@ } } }, -"revision": "20260420", +"revision": "20260518", "rootUrl": "https://vmwareengine.googleapis.com/", "schemas": { "AcceleratePrivateCloudDeletionRequest": { @@ -5356,6 +5384,25 @@ }, "type": "object" }, +"MigrateManagementVmsRequest": { +"description": "Request message for VmwareEngine.MigrateManagementVms", +"id": "MigrateManagementVmsRequest", +"properties": { +"clusterId": { +"description": "Required. The user-provided identifier of the workload cluster to which the management VMs are to be migrated. The cluster must be in the same private cloud as the one specified in `name`, and must be a workload cluster. The eventual cluster name will be constructed from the private cloud name and this cluster ID.", +"type": "string" +}, +"etag": { +"description": "Optional. Checksum used to ensure that the user-provided value is up to date before the server processes the request. The server compares provided checksum with the current checksum of the resource. If the user-provided value is out of date, this request returns an `ABORTED` error.", +"type": "string" +}, +"requestId": { +"description": "Optional. A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server guarantees that a request doesn't result in creation of duplicate commitments for at least 60 minutes. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if the original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", +"type": "string" +} +}, +"type": "object" +}, "MountDatastoreRequest": { "description": "Mount Datastore Request message", "id": "MountDatastoreRequest", diff --git a/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json b/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json new file mode 100644 index 0000000000..ffc8798398 --- /dev/null +++ b/googleapiclient/discovery_cache/documents/webcontentpublisher.v1.json @@ -0,0 +1,167 @@ +{ +"auth": { +"oauth2": { +"scopes": { +"https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly": { +"description": "See and review your subscription information" +} +} +} +}, +"basePath": "", +"baseUrl": "https://webcontentpublisher.googleapis.com/", +"batchPath": "batch", +"canonicalName": "Web Content Publisher", +"description": "webcontentpublisher.googleapis.com API, a service for web content publishers.", +"discoveryVersion": "v1", +"documentationLink": "https://developers.google.com/news/subscribe", +"fullyEncodeReservedExpansion": true, +"icons": { +"x16": "http://www.google.com/images/icons/product/search-16.gif", +"x32": "http://www.google.com/images/icons/product/search-32.gif" +}, +"id": "webcontentpublisher:v1", +"kind": "discovery#restDescription", +"mtlsRootUrl": "https://webcontentpublisher.mtls.googleapis.com/", +"name": "webcontentpublisher", +"ownerDomain": "google.com", +"ownerName": "Google", +"parameters": { +"$.xgafv": { +"description": "V1 error format.", +"enum": [ +"1", +"2" +], +"enumDescriptions": [ +"v1 error format", +"v2 error format" +], +"location": "query", +"type": "string" +}, +"access_token": { +"description": "OAuth access token.", +"location": "query", +"type": "string" +}, +"alt": { +"default": "json", +"description": "Data format for response.", +"enum": [ +"json", +"media", +"proto" +], +"enumDescriptions": [ +"Responses with Content-Type of application/json", +"Media download with context-dependent Content-Type", +"Responses with Content-Type of application/x-protobuf" +], +"location": "query", +"type": "string" +}, +"callback": { +"description": "JSONP", +"location": "query", +"type": "string" +}, +"fields": { +"description": "Selector specifying which fields to include in a partial response.", +"location": "query", +"type": "string" +}, +"key": { +"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", +"location": "query", +"type": "string" +}, +"oauth_token": { +"description": "OAuth 2.0 token for the current user.", +"location": "query", +"type": "string" +}, +"prettyPrint": { +"default": "true", +"description": "Returns response with indentations and line breaks.", +"location": "query", +"type": "boolean" +}, +"quotaUser": { +"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", +"location": "query", +"type": "string" +}, +"uploadType": { +"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", +"location": "query", +"type": "string" +}, +"upload_protocol": { +"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", +"location": "query", +"type": "string" +} +}, +"protocol": "rest", +"resources": { +"publications": { +"methods": { +"checkFreeAccess": { +"description": "Checks if a user is eligible for free article access.", +"flatPath": "v1/publications/{publicationsId}:checkFreeAccess", +"httpMethod": "GET", +"id": "webcontentpublisher.publications.checkFreeAccess", +"parameterOrder": [ +"name" +], +"parameters": { +"httpReferrer": { +"description": "Required. The HTTP referrer.", +"location": "query", +"type": "string" +}, +"name": { +"description": "Required. The resource name of the publication. Format: publications/{publication_id}", +"location": "path", +"pattern": "^publications/[^/]+$", +"required": true, +"type": "string" +}, +"uri": { +"description": "Required. The URI of the content.", +"location": "query", +"type": "string" +} +}, +"path": "v1/{+name}:checkFreeAccess", +"response": { +"$ref": "CheckFreeAccessResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/subscribewithgoogle.publications.entitlements.readonly" +] +} +} +} +}, +"revision": "20260526", +"rootUrl": "https://webcontentpublisher.googleapis.com/", +"schemas": { +"CheckFreeAccessResponse": { +"description": "Response message for CheckFreeAccess", +"id": "CheckFreeAccessResponse", +"properties": { +"isAllowed": { +"description": "True if free access should be allowed, false otherwise.", +"type": "boolean" +} +}, +"type": "object" +} +}, +"servicePath": "", +"title": "Web Content Publisher API", +"version": "v1", +"version_module": true +} \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/webrisk.v1.json b/googleapiclient/discovery_cache/documents/webrisk.v1.json index 7fb98fa411..448499bb55 100644 --- a/googleapiclient/discovery_cache/documents/webrisk.v1.json +++ b/googleapiclient/discovery_cache/documents/webrisk.v1.json @@ -275,7 +275,7 @@ "submissions": { "methods": { "create": { -"description": "Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) in order to protect users that could get exposed to this threat in the future. Only allowlisted projects can use this method during Early Access. Please reach out to Sales or your customer engineer to obtain access.", +"description": "Creates a Submission of a URI suspected of containing phishing content for review. If the review confirms malicious phishing content, Google adds the site to [Google's Social Engineering lists](https://support.google.com/webmasters/answer/6350487/) to help protect users. Only allowlisted projects can use this method during Early Access. To obtain access, contact Sales or your customer engineer.", "flatPath": "v1/projects/{projectsId}/submissions", "httpMethod": "POST", "id": "webrisk.projects.submissions.create", @@ -425,7 +425,7 @@ } } }, -"revision": "20251202", +"revision": "20260517", "rootUrl": "https://webrisk.googleapis.com/", "schemas": { "GoogleCloudWebriskV1ComputeThreatListDiffResponse": { diff --git a/googleapiclient/discovery_cache/documents/workspaceevents.v1.json b/googleapiclient/discovery_cache/documents/workspaceevents.v1.json index 4301159fec..651db2251d 100644 --- a/googleapiclient/discovery_cache/documents/workspaceevents.v1.json +++ b/googleapiclient/discovery_cache/documents/workspaceevents.v1.json @@ -44,6 +44,12 @@ "https://www.googleapis.com/auth/chat.spaces.readonly": { "description": "View chat and spaces in Google Chat" }, +"https://www.googleapis.com/auth/chat.users.availability": { +"description": "See and change your availability status in Google Chat." +}, +"https://www.googleapis.com/auth/chat.users.availability.readonly": { +"description": "See your availability status in Google Chat." +}, "https://www.googleapis.com/auth/chat.users.readstate": { "description": "View and modify last read time for Google Chat conversations" }, @@ -223,6 +229,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -272,6 +280,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -329,6 +339,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -371,6 +383,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -420,6 +434,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -480,6 +496,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -529,6 +547,8 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", +"https://www.googleapis.com/auth/chat.users.availability", +"https://www.googleapis.com/auth/chat.users.availability.readonly", "https://www.googleapis.com/auth/chat.users.readstate", "https://www.googleapis.com/auth/chat.users.readstate.readonly", "https://www.googleapis.com/auth/drive", @@ -765,7 +785,7 @@ } } }, -"revision": "20260510", +"revision": "20260517", "rootUrl": "https://workspaceevents.googleapis.com/", "schemas": { "Artifact": { diff --git a/googleapiclient/discovery_cache/documents/workstations.v1beta.json b/googleapiclient/discovery_cache/documents/workstations.v1beta.json index d0099dc3e8..dfa69f55d8 100644 --- a/googleapiclient/discovery_cache/documents/workstations.v1beta.json +++ b/googleapiclient/discovery_cache/documents/workstations.v1beta.json @@ -1175,7 +1175,7 @@ } } }, -"revision": "20260506", +"revision": "20260526", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2732,31 +2732,10 @@ }, "type": "object" }, -"WorkstationGceRegionalPersistentDisk": { -"description": "A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation.", -"id": "WorkstationGceRegionalPersistentDisk", -"properties": { -"name": { -"description": "The name of the persistent directory.", -"type": "string" -}, -"sizeGb": { -"description": "Required. The desired size of the persistent directory in GB.", -"format": "int32", -"type": "integer" -} -}, -"type": "object" -}, "WorkstationPersistentDirectory": { "description": "A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted.", "id": "WorkstationPersistentDirectory", "properties": { -"gcePd": { -"$ref": "WorkstationGceRegionalPersistentDisk", -"deprecated": true, -"description": "A PersistentDirectory backed by a Compute Engine persistent disk." -}, "mountPath": { "description": "Optional. The mount path of the persistent directory.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json index 0fad32a6f3..bb42c39d90 100644 --- a/googleapiclient/discovery_cache/documents/youtube.v3.json +++ b/googleapiclient/discovery_cache/documents/youtube.v3.json @@ -2756,7 +2756,7 @@ ], "parameters": { "channelId": { -"description": "Filter on resources belonging to this channelId.", +"description": "Filter on resources belonging to this channelId. (Force TAP rebuild)", "location": "query", "type": "string" }, @@ -3650,6 +3650,42 @@ }, "videos": { "methods": { +"batchGetStats": { +"description": "Retrieves a batch of VideoStat resources, possibly filtered. BatchGetStats is intentionally not atomic to provide a better user experience.", +"flatPath": "youtube/v3/videos:batchGetStats", +"httpMethod": "GET", +"id": "youtube.videos.batchGetStats", +"parameterOrder": [], +"parameters": { +"id": { +"description": "Required. Return videos with the given ids. The number of IDs specified cannot exceed 50.", +"location": "query", +"repeated": true, +"type": "string" +}, +"onBehalfOfContentOwner": { +"description": "Optional. **Note:** This parameter is intended exclusively for YouTube content partners. The `onBehalfOfContentOwner` parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The CMS account that the user authenticates with must be linked to the specified YouTube content owner.", +"location": "query", +"type": "string" +}, +"part": { +"description": "Required. The `**part**` parameter specifies a comma-separated list of one or more `videoStat` resource properties that the API response will include. If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a `videoStat` resource, the `statistics` property contains `view_count` and `like_count`. As such, if you set `**part=snippet**`, the API response will contain all of those properties.", +"location": "query", +"repeated": true, +"type": "string" +} +}, +"path": "youtube/v3/videos:batchGetStats", +"response": { +"$ref": "BatchGetStatsResponse" +}, +"scopes": [ +"https://www.googleapis.com/auth/youtube", +"https://www.googleapis.com/auth/youtube.force-ssl", +"https://www.googleapis.com/auth/youtube.readonly", +"https://www.googleapis.com/auth/youtubepartner" +] +}, "delete": { "description": "Deletes a resource.", "flatPath": "youtube/v3/videos", @@ -4082,30 +4118,6 @@ "youtube": { "resources": { "v3": { -"methods": { -"updateCommentThreads": { -"description": "Updates an existing resource.", -"flatPath": "youtube/v3/commentThreads", -"httpMethod": "PUT", -"id": "youtube.youtube.v3.updateCommentThreads", -"parameterOrder": [], -"parameters": { -"part": { -"description": "The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", -"location": "query", -"repeated": true, -"type": "string" -} -}, -"path": "youtube/v3/commentThreads", -"request": { -"$ref": "CommentThread" -}, -"response": { -"$ref": "CommentThread" -} -} -}, "resources": { "liveChat": { "resources": { @@ -4176,7 +4188,7 @@ } } }, -"revision": "20260430", +"revision": "20260604", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -4651,6 +4663,29 @@ }, "type": "object" }, +"BatchGetStatsResponse": { +"description": "Response for the Videos.stats API. Returns VideoStat information about a batch of videos. VideoStat contains a subset of the information in Video that is relevant to statistics and content details. BatchGetStats is intentionally not atomic to provide a better user experience. BatchGetStatsResponse returns a summary to help users understand the outcome of the operation.", +"id": "BatchGetStatsResponse", +"properties": { +"etag": { +"description": "Etag of this resource.", +"type": "string" +}, +"items": { +"description": "The videos' stats information.", +"items": { +"$ref": "VideoStat" +}, +"type": "array" +}, +"kind": { +"default": "youtube#batchGetStatsResponse", +"description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#batchGetStatsResponse\".", +"type": "string" +} +}, +"type": "object" +}, "Caption": { "description": "A *caption* resource represents a YouTube caption track. A caption track is associated with exactly one YouTube video.", "id": "Caption", @@ -10578,7 +10613,7 @@ true "$ref": "TokenPagination" }, "visitorId": { -"description": "The visitorId identifies the visitor.", +"description": "The visitor ID identifies the visitor.", "type": "string" } }, @@ -12120,6 +12155,43 @@ true }, "type": "object" }, +"VideoStat": { +"description": "A *VideoStat* resource represents a YouTube video's stats.", +"id": "VideoStat", +"properties": { +"contentDetails": { +"$ref": "VideoStatsContentDetails", +"description": "Output only. The VideoStatsContentDetails object contains information about the video content, including the length of the video.", +"readOnly": true +}, +"etag": { +"description": "Output only. Etag of this resource.", +"readOnly": true, +"type": "string" +}, +"id": { +"description": "Output only. The ID that YouTube uses to uniquely identify the video.", +"readOnly": true, +"type": "string" +}, +"kind": { +"description": "Output only. Identifies what kind of resource this is. Value: the fixed string \"youtube#videoStats\".", +"readOnly": true, +"type": "string" +}, +"snippet": { +"$ref": "VideoStatsSnippet", +"description": "Output only. The VideoStatsSnippet object contains basic details about the video, such publish time.", +"readOnly": true +}, +"statistics": { +"$ref": "VideoStatsStatistics", +"description": "Output only. The VideoStatsStatistics object contains statistics about the video.", +"readOnly": true +} +}, +"type": "object" +}, "VideoStatistics": { "description": "Statistics about the video, such as the number of times the video was viewed or liked.", "id": "VideoStatistics", @@ -12153,6 +12225,57 @@ true }, "type": "object" }, +"VideoStatsContentDetails": { +"description": "Details about the content of a YouTube Video. This is a subset of the information in VideoContentDetails specifically for the Videos.stats API.", +"id": "VideoStatsContentDetails", +"properties": { +"duration": { +"description": "Output only. The length of the video. The property value is a [`google.protobuf.Duration`](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) object.", +"format": "google-duration", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VideoStatsSnippet": { +"description": "Basic details about a video. This is a subset of the information in VideoSnippet specifically for the Videos.stats API.", +"id": "VideoStatsSnippet", +"properties": { +"publishTime": { +"description": "Output only. The date and time that the video was uploaded. The property value is a [`google.protobuf.Timestamp`](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#timestamp) object.", +"format": "google-datetime", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, +"VideoStatsStatistics": { +"description": "Statistics about the video, such as the number of times the video was viewed or liked.", +"id": "VideoStatsStatistics", +"properties": { +"commentCount": { +"description": "Output only. The number of comments for the video.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"likeCount": { +"description": "Output only. The number of users who have indicated that they liked the video by giving it a positive rating.", +"format": "int64", +"readOnly": true, +"type": "string" +}, +"viewCount": { +"description": "Output only. The number of times the video has been viewed.", +"format": "int64", +"readOnly": true, +"type": "string" +} +}, +"type": "object" +}, "VideoStatus": { "description": "Basic details about a video category, such as its localized title. Next Id: 19", "id": "VideoStatus",